cvs commit: src/sys/dev/fdc fdc.c

John Baldwin jhb at FreeBSD.org
Fri Jan 11 06:26:09 PST 2008


On Fri, January 11, 2008 6:53 am, Konstantin Belousov wrote:
> kib         2008-01-11 11:53:04 UTC
>
>   FreeBSD src repository
>
>   Modified files:
>     sys/dev/fdc          fdc.c
>   Log:
>   Fix unload of the fdc.ko:
>
>   Wakeup the thread doing the fdc_detach() when the fdc worker thread
> exits [1].
>   Write access to the write-protected floppy shall call device_unbusy() to
>   pair the device_busy() in the fd_access() [2].
>
>   PR:     116537 [1], 116539 [2]
>   MFC after:      1 week
>
>   Revision  Changes    Path
>   1.319     +8 -1      src/sys/dev/fdc/fdc.c

[1] is wrong and reintroduces a panic race on module unload.  The wakeup()
is internal to kproc_exit/kthread_exit.  The correct fix is to fix the
msleep() in detach to sleep on fdc->fdc_thread instead of
&fdc->fdc_thread.

-- 
John Baldwin <jhb at FreeBSD.org>


More information about the cvs-all mailing list