Re: device model documentation 3/3

Arnd Bergmann (arnd@bergmann-dalldorf.de)
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/