Re: Override endpoint attributes (was: RE: [PATCH] zd1211rw: change endpoint types of EP_REGS_OUT and EP_INT_IN from interrupt to bulk)

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

 



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


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

  Powered by Linux