Gregoire Favre
Tue, 06 Jan 2009 08:39:29 -0800
On Mon, Jan 05, 2009 at 07:46:40PM -0500, Andy Walls wrote: > Sure. I'm actually a sucker for looking at oops dumps. They're like > simple little puzzles waiting to be solved. Unfortunately, once I know > the "answer", I rarely follow through with the final solution. Thank you for the patch, I still can't tune with my HVR-4000 but at least I don't have an oops when loading the modules. In case anyone could be interested I attach the patch for v4l-dvb's hg. -- Grégoire FAVRE http://gregoire.favre.googlepages.com http://www.gnupg.org http://picasaweb.google.com/Gregoire.Favre
diff -r ce8589c52a7f linux/drivers/media/video/cx88/cx88-mpeg.c
--- a/linux/drivers/media/video/cx88/cx88-mpeg.c Tue Jan 06 09:33:46
2009 -0200
+++ b/linux/drivers/media/video/cx88/cx88-mpeg.c Tue Jan 06 17:27:03
2009 +0100
@@ -830,6 +830,9 @@
err = cx8802_init_common(dev);
if (err != 0)
goto fail_free;
+ /* Maintain a reference so cx88-video can query the 8802 device. */
+ core->dvbdev = dev;
+
INIT_LIST_HEAD(&dev->drvlist);
list_add_tail(&dev->devlist,&cx8802_devlist);
@@ -851,20 +854,19 @@
__func__);
videobuf_dvb_dealloc_frontends(&dev->frontends);
err = -ENOMEM;
+ /* FIXME - need to pull dev off cx8802_devlist*/
goto fail_free;
}
}
}
#endif
- /* Maintain a reference so cx88-video can query the 8802 device. */
- core->dvbdev = dev;
-
/* now autoload cx88-dvb or cx88-blackbird */
request_modules(dev);
return 0;
fail_free:
+ /* FIXME - shouldn't we pull dev off the cx8802_devlist - oops */
kfree(dev);
fail_core:
cx88_core_put(core,pci_dev);