Re: resetep problem though hub

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 11 Apr 2011, Graeme Gill wrote:

> Xiaofan Chen wrote:
> 
> > Hmm, assuming that you are using libusb, I think the issue
> > would have gone with later kernels (say 2.6.32 or later). Alan
> > Stern has already post a real patch to the kernel after the following
> > RFC which was CCed to the libusb mailing list. I think you do not
> > need the resetep work-around with later kernels.
> > http://libusb.6.n5.nabble.com/RFC-Skip-sending-Set-Interface-during-driver-unbinding-td6073.html
> 
> Hi,
> 	I'm not really seeing the relevance, unless it is to hint that
> even my workaround will be broken by latter kernels ?

Xiaofan was suggesting that your workaround might not be needed with 
later kernels.  But keeping the workaround shouldn't hurt anything.

> ie. if on recent Linux kernels the resetep IOCTL no longer does anything
> (ie. it doesn't reset the data toggle), then it breaks my workaround.

No.  The premise and the conclusion in that sentence are both false.

> But perhaps the above reference is not to the resetep IOCTL, but to
> the side effect of set interface ? (Set interface doesn't figure in
> my problem as far as I can tell.)

It does figure into your problem, because earlier Linux kernels would
automatically send a Set-Interface request whenever a program released
an interface.  If the device doesn't handle these requests properly,
the data toggles can get messed up.

More recent kernels do not automatically send the Set-Interface 
request, providing the interface was already in altsetting 0 when it 
was released.

Alan Stern

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


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux