Re: [REGRESSION] "USB: use kfifo to buffer usb-generic serial writes" causes gobi_loader to hang

From: Anssi Hannula
Date: Mon Feb 22 2010 - 20:55:17 EST


On tiistai 23 helmikuu 2010 01:26:02 Oliver Neukum wrote:
> Am Montag, 22. Februar 2010 19:35:35 schrieb Anssi Hannula:
> > On maanantai 22 helmikuu 2010 17:28:36 Alan Stern wrote:
> > > The major difference between the logs is in the way the data get
> > > divided up into packets. In both the successful logs, there are
> > >
> > > sequences of bulk-OUT packets with lengths like:
> > > 44, 1, 15, 1, 13
> > >
> > > where the unsuccessful transfer just has a single packet of length 74.
> > > Also, the successful transfers show a lot of bulk-IN traffic where the
> > > unsuccessful transfer doesn't have any. I don't know if that is
> > > relevant, however.
> > >
> > > No other differences stand out.
> >
> > I guess that would suggest that the device doesn't allow the
> > initialization data to be broken into packets arbitrarily (though some
> > differences seem allowed, as the windows driver transmits them
> > differently).
>
> Hi,
>
> let's try testing this hypothesis. Can you change the following line in
> usb_serial_probe():
> if (kfifo_alloc(&port->write_fifo, PAGE_SIZE, GFP_KERNEL))
> goto probe_error;
>
> to:
>
> if (kfifo_alloc(&port->write_fifo, 64, GFP_KERNEL))
> goto probe_error;
>
> This may shed some light on the behavior.

No effect.

However, I added more sleep(1) calls to gobi_loader, now between every magicX
string and firmware files (therefore ensuring the data gets flushed to the
device at those points). Now the upload was successful.

--
Anssi Hannula
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/