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

From: Alan Stern
Date: Mon Feb 22 2010 - 15:10:54 EST


On Mon, 22 Feb 2010, Anssi Hannula wrote:

> On maanantai 22 helmikuu 2010 21:10:33 Alan Stern wrote:
> > On Mon, 22 Feb 2010, Anssi Hannula wrote:
> > > 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).
> > >
> > > Does this mean a tty interface is ill-suited for the microcode upload,
> > > and instead qcserial should use the kernel's generic microcode upload
> > > mechanism or the userspace should use libusb to do it?
> >
> > I don't know. Didn't the old successful code use a tty interface?
>
> Yes, but does the tty interface guarantee that the data of one write call is
> sent as one packet to the device?

Not as far as I know.

> If I understood this correctly, it seems the changes have caused it to now
> concatenate short writes into one packet, which the device doesn't seem to
> like.

That seems to be the most likely explanation. You might be able to
test it by adding some delays to the driver between those short writes,
so they don't get concatenated.

Alan Stern

--
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/