On Friday 18 April 2008 16:40:44 Jochem Wichers Hoeth wrote:
> On Thu, 10 Apr 2008, Jochem Wichers Hoeth wrote:
> > Since today for some reason (I've yet uncover) the initialization
> > of my PVR500 fails with "Failed to register irq -16", and causes a
> > kernel panic.
> >
> > The panic() is triggered by videodev.c when ivtv calls
> > video_unregister_device for a device that was not yet registered.
> > This can happen because ivtv_streams_cleanup (in ivtv-streams)
> > doesn't check if a device has been registered before calling
> > video_unregister_device (it justs checks if the device has been
> > created). And ivtv_probe calls ivtv_streams_cleanup when
> > request_irq fails.
> >
> > I've verified this by adding a field "registered" to the
> > ivtv_stream struct, and setting this field after
> > video_register_device has been called. That way I could confirm
> > that ivtv_streams_cleanup was called before the streams had been
> > registered (and stop it from calling video_unregister_device).
> >
> > Since I doubt that this is actually the best way to fix the
> > problem, I haven't included a patch. But if you like, I could make
> > one.
> >
> > I just hope that "Failed to register irq -16" doesn't simply mean
> > "Your PVR is toast"... :-|
>
> Just a quick update on the "Failed to register irq" problem: after
> some more investigation I found out that the kernel couldn't
> determine the IRQ for either PVR500 instance ("PCI: No IRQ known for
> interrupt pin A of device..."). Eventually the culprit turned out to
> be the BIOS, because after selecting the BIOS option to "reset the
> configuration data (ESCD)" all IRQ problems were suddenly gone.
Hi Jochem,
I don't think I replied to this before, but the kernel panic was indeed
a driver bug. I've changed the initialization order and if this
situation occurs in the future it should behave correctly now. I'll
queue the fix for the 2.6.26 kernel.
Regards,
Hans
_______________________________________________
ivtv-devel mailing list
[email protected]
http://ivtvdriver.org/mailman/listinfo/ivtv-devel