> A quick browse suggested it's the right kind of thing, though
> there seem to be some other changes mixed in.

I have no intermediate versions around. I've learned from this.
Anyway waitqueue_active is _EVIL_. Code like this is an example that drives 
people to producing racy code. It has to die.

> A more thorough code review would compare this against
> how PCI handles the very same problem.  It also initializes
> the driver structures with a THIS_MODULE and prevents
> probe/disconnect module races by managing the module
> use counts.  PCI made this change quite a while back, as
> I suspect you know.

Actually I don't. I used the character device handling as an example.
My memory may fail me but didn't we discuss this very race around 2.3.99 ?

> The individual drivers will need some cleanup, at least those
> which try to work around the current lack of usbcore protection
> in this area.  Successful probe and disconnect routines should

Hm, they might now increment twice, which is unnecessary but doesn't hurt.
If they are broken by this they were already broken.
There are those which also are SCSI modules, which have specific problems
with the SCSI layer abusing module usage counters. I've left those alone.

> now probably just increment and decrement module use counts.

That precisely they should not do. I was an ambitious design goal that USB 
drivers should be unloadable although they were "attached" to a device 
currently not in use.
If you are refering to usbcore I would agree from an esthetical point of 
view, but module dependencies should protect the usbcore, too.

        Regards
                Oliver

_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to