ohci1394 and pcilynx can be unloaded while an application is using a host adapter through raw1394. This especially happens if dv1394 or video1394 are unloaded because this decrements ohci1394's use count. The result is inadvertent loss of functionality or even system-wide lock-up, if ohci1394 is reloaded after this. http://lkml.org/lkml/2006/12/17/91 I think we should add try_module_get(host->driver->owner) and module_put(host->driver->owner) - either to initiation and release of requests, - or to the raw1394_open() and raw1394_release() hooks for all hosts which are present when the file is opened, - or simply to raw1394's add_host() and remove_host() hooks.
proposed patch posted at http://thread.gmane.org/gmane.linux.kernel.firewire.devel/9000
Created attachment 10272 [details] ieee1394: raw1394: prevent unloading of low-level driver
patch will appear in 2.6.21-rc1