On Wed, Feb 16, 2005 at 09:01:11AM -0800, Srdjan Sobajic wrote:
> Regarding the actual problem, I doubt that the endpoints change type.

Sure they don't.

> They're bulk, one in, one out. However, on Windows the API for
> accessing bulk and interrupt endpoints is the same, while you have a
> different API for ISO and control.

Unless I'm misenterpreting the specs, that's not an artefact of Windows
API but rather the inherent similarity of bulk and interrupt transfers:
basically the only difference is scheduling.

BTW the sanity checks added to usbfs handlers in 2.6.11 seem to allow
exactly the opposite behavior, i.e. both bulk and interrupt URBs on
interrupt endpoint, and only bulk URBs on bulk endpoints:

linux-2.6.11-rc4/drivers/usb/core/devio.c:882:

        case USBDEVFS_URB_TYPE_BULK:
                switch (ep->desc.bmAttributes & USB_ENDPOINT_XFERTYPE_MASK) {
                case USB_ENDPOINT_XFER_CONTROL:
                case USB_ENDPOINT_XFER_ISOC:
                        return -EINVAL;
                /* allow single-shot interrupt transfers, at bogus rates */
                }

linux-2.6.11-rc4/drivers/usb/core/devio.c:925:

        case USBDEVFS_URB_TYPE_INTERRUPT:
                uurb.number_of_packets = 0;
                if ((ep->desc.bmAttributes & USB_ENDPOINT_XFERTYPE_MASK)
                                != USB_ENDPOINT_XFER_INT)
                        return -EINVAL;


Is that intentional, and I need to go reread the specs?

Cheers,
  Roman.


-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
[email protected]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to