> > It's _supposed_ to be the case that after all driver disconnect() > > methods (for each claimed interface) are called, then the device > > refcount goes down to one (no more refs from active URBs). The > > usbcore-internal usb_disconnect() routine, AFTER all drivers have > > disconnected, is the only place that the device refcount may go to > > zero ... but by observation, some drivers are way buggy there. > > Obviously, broken drivers can cause reference counting problems, but you > can't work around all of them, nor should we. There's just too many > different failure scenarios that trying to workaround them is just > wasted effort. > > I'd much rather see something fail and then fix the appropriate driver. > > If it fails in a crash/oops, that's even more of a reason to fix the > problem :)
Absolutely, I agree. In fact since I've been tracking down a related problem, I think I'll submit a patch to highlight this. Later today, I suspect ... :) - Dave _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel