On Fri, Aug 13, 2010 at 09:51:33AM -0700, Greg KH wrote: > On Fri, Aug 13, 2010 at 06:24:37PM +0200, Hans Petter SELASKY wrote: > > Hi Greg, > > > > We have been thinking about various ways to solve this problem. > > Another way is to re-program then endpoint number to an invalid > > endpoint, but that will only work as long as there is an unused > > endpoint. It appears that the host mode has not been too well tested > > on the MUSB chips. The existing code works because classes like the > > mass storage host driver don't cancel URB's, but rather wait for them > > to complete or timeout. We've seen this issue when testing the USB > > modem host class on Linux using an embedded board, that if the peer is > > not fast enough to read the TX'ed data, we get in the situation where > > the already existing warning triggers during modem port close, and the > > chip goes into a non-responding state. We have not been able to get > > any confirmation from hardware people about this issue. > > How about we wait until you do get confirmation from the hardware > people? That would make more sense, right? > > > Yes, it's bad to affect all Linux USB users. > > That's my main worry. > > > Another way is to have an > > USB API where we can set a bit in the USB-device-map bit-array when we > > are attaching the MUSB driver, so that the Linux USB stack always sees > > address X, like in use. That would probably be better, but adds more > > code. Could you add such an API to the USB core. For example: > > > > int > > usb_reserve_bus_address(bus, addr) > > { > > ... > > return 0; /* success */ > > } > > We could, but I'll have to go dig through my usb spec to verify that we > are allowed to do such a thing. For some reason I thought we were > required to support all 128 devices. Ok, in looking through the USB spec again, it looks like we just can't send an address greater than 127 to a device, nor a 0. So we could reserve one number for broken hardware like this, but I would really like it if there was some other way to mark this device as "broken". thanks, greg k-h -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html