Quoting Martin Schleier <drahemmaps@xxxxxxx>:
Sujith <m.sujith@...> writes:
Jussi Kivilinna wrote:
> +static int usb_endpoint_int_to_bulk(struct usb_device *udev,
unsigned int pipe)
> +{
> + struct usb_host_endpoint *ep;
> +
> + ep = usb_pipe_endpoint(udev, pipe);
> + if (!ep)
> + return -EPIPE;
> +
> + switch (ep->desc.bmAttributes & USB_ENDPOINT_XFERTYPE_MASK) {
> + case USB_ENDPOINT_XFER_INT:
> + ep->desc.bmAttributes &= ~USB_ENDPOINT_XFERTYPE_MASK;
> + ep->desc.bmAttributes |= USB_ENDPOINT_XFER_BULK;
> + ep->desc.bInterval = 0;
> + /* passthru */
Interesting, I know that interrupt and bulk endpoints share a lot of
common logic so I can see how this should work. But is it really
possible [and more to the point: sane?!] to override the endpoint
descriptors?
I know that usb_submit_urb checks [when config_usb_debug is enabled]
if the xfertype of the submitted urb matches the one of the endpoint,
so I wonder I started to wonder if we are fooling "just" the code
here, or ourselves in the process?
Would USB quirk like 'USB_QUIRK_NEED_BULK_ON_INTR_EP' that avoids USB
debug check make more sense?
-Jussi
--
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