On Wednesday 16 March 2005 8:00 am, Alan Stern wrote: > On Wed, 16 Mar 2005 [EMAIL PROTECTED] wrote: > > > The problem is not reference counting the problem is some code in > > driver/base/bus.c. First I will describe the scenario:
I suppose your theory for why usbnet/cdc doesn't hit this is: > > I don't really understand why this is such an unusual situation > > but it results from us freeing the interfaces in a different order > > to that we claim them in ... That it, for some reason, releases the interfaces in a better order? It doesn't seem entirely plausible that cdc-ether and cdc-acm peripherals act that differently, though I could believe that the cdc-acm devices with "different" order are more common than the cdc ethernet ones. Alternatively, maybe there's been some driver model change since the usbnet code was made to work? > > As far as I can see device_release_driver should *never* be called > > from somewhere which is called from device_release_driver with > > the current implimentation and I really can't understand that this has > > never happened before... I can't understand either; it was specifically designed to be called from driver disconnect routines, in cases like CDC where one driver needs to release multiple bindings. And previously it's not been seen to fail, either. Did something change incompatibly, or is this just a case of ACM devices having stranger interface ordering than Ethernet? > This is exactly the sort of thing that would be cured by removing the > subsystem rwsem and changing the internal operation of the driver-model > core. Another problem that would be solved is adding/deleting devices > during a probe(), remove(), or resume() callback. That may be very true, but I'm also concerned about why this shows up now when it didn't show up previously. Another explanation is that the driver model core code accumulated a subtle regression... - Dave ------------------------------------------------------- SF email is sponsored by - The IT Product Guide Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click _______________________________________________ linux-usb-devel@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel