On Fri, Aug 13, 2010 at 05:44:54PM +0530, Praveena Nadahally wrote: > From: Hans Petter Selasky <hans.petter.selasky@xxxxxxxxxxxxxx> > > FIFOFLUSH is broken when a real packet is in the FIFO. This > hardware feature only works when the FIFO is empty. > The workaround described requires limiting the maximum > number of USB devices to 126, 128 - 2. Really? That seems like not a very nice thing to do to all Linux users just for a single piece of broken hardware out there. Can we get some more information about this hardware problem please? Pointers to the type of broken hardware and where the change is stated as a solution is necessary. > Signed-off-by: Hans Petter Selasky <hans.petter.selasky@xxxxxxxxxxxxxx> > Signed-off-by: Praveena Nadahally <praveen.nadahally@xxxxxxxxxxxxxx> > Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxxxxxx> > --- > drivers/usb/core/hub.c | 8 ++++-- > drivers/usb/musb/musb_host.c | 45 +++++++++++++++++++++++++++++------------ > 2 files changed, 37 insertions(+), 16 deletions(-) > > diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c > index 84c1897..83f1f50 100644 > --- a/drivers/usb/core/hub.c > +++ b/drivers/usb/core/hub.c > @@ -1511,12 +1511,14 @@ static void choose_address(struct usb_device *udev) > * bus->devnum_next. */ > devnum = find_next_zero_bit(bus->devmap.devicemap, 128, > bus->devnum_next); > - if (devnum >= 128) > + /* Due to Hardware bugs we need to reserve a device address > + * for flushing of endpoints. */ If we really have to do this, I want it explicitly stated exactly what the broken hardware is that is causing this restriction, and why. 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