On Tue, 6 Jun 2006, usb usb wrote:

> I had some issues with resets, and thanks to Alan, I
> could get them fixed. 
> 
> I have another strange problem with my USB device
> (2.0) on 2.6.12 kernel.
> 
> I have several USB data acquisition devices running
> with my driver. One of them (totally random) fails at
> urb_submit with -22 error. err -22 => Invalid transfer
> type/Invalid intrrupt interval/Invalid argument.
> 
> It's a straight forward call urb_submit () call. I
> checked all and I'm not able to find the reason for
> this error. Would someone give me some pointers?
> 
> Sorry, if I'm not clear - just coming back from a long
> vacation!

There are several possible reasons for getting a -EINVAL (= -22) error 
code.  Some of them are:

        The URB is already in use;

        urb->number_of_packets <= 0 for an isochronous URB;

        Some bogus bits are set in urb->flags;

        urb->interval <= 0 for an interrupt or isochronous URB;

        urb->interval > 255 for a low-speed or full-speed interrupt URB;

        urb->transfer_length < 0 for a non-isochronous URB;

        A bulk transfer is submitted for a low-speed device.

There are other reasons as well.  It wouldn't hurt to upgrade to 2.6.16 
before doing more development.

Alan Stern



_______________________________________________
[email protected]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-users

Reply via email to