On Saturday 10 June 2006 13:04, Ian Dowse wrote: > iedowse 2006-06-10 17:04:07 UTC > > FreeBSD src repository > > Modified files: > sys/sys firmware.h > sys/kern subr_firmware.c > Log: > Keep firmware images on the list until they have been unregistered > with firmware_unregister(). Previously when the last driver reference > had been dropped we would clear the list entry under the assumption > that the firmware module was about to be unloaded, but this was not > true if the firmware image had been loaded manually with kldload. > > This makes it possible to manually kldload firmware images as a > workaround for drivers such as ipw that attempt to load firmware > while resuming after a suspend. > > Reviewed by: mlaier (an earlier version of the patch)
I think you still need to clear the entire entry in unloadentry() and not just clear fp->file. Otherwise, another thread could gain a reference on this entry in the table after you drop the firmware mutex and before firmware_unregister() is ran by the kernel linker. -- John Baldwin _______________________________________________ [email protected] mailing list http://lists.freebsd.org/mailman/listinfo/cvs-all To unsubscribe, send any mail to "[EMAIL PROTECTED]"
