Messages in this thread | | | From | Arnd Bergmann <> | Subject | Re: device model documentation 3/3 | Date | Wed, 5 Jun 2002 16:24:18 +0200 |
| |
On Tue Jun 04 2002 - 11:25:19 EST, Patrick Mochel <mochel@osdl.org> wrote:
> When a driver is removed, the list of devices that it supports is > iterated over, and the driver's remove callback is called for each > one. The device is removed from that list and the symlinks removed.
Maybe I'm blind, but I can't see how this works without races for bridge device drivers. Imagine for example what happens when I rmmod a usb hcd driver. Its module use count should be zero as long as the devices attached to it are not in use, right? When I e.g. open a file in directory of a device behind my hcd, the devices use count is incremented but can still remove the driver. Reading the file after module unload then can do bad things if the show() callback was inside the hcd driver. Did I miss the obvious anywhere?
Arnd <>< - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |