usb: mtu3: set interval of FS intr and isoc endpoint
authorChunfeng Yun <chunfeng.yun@mediatek.com>
Sat, 18 Dec 2021 09:57:49 +0000 (17:57 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 5 Jan 2022 11:42:38 +0000 (12:42 +0100)
commit 43f3b8cbcf93da7c2755af4a543280c31f4adf16 upstream.

Add support to set interval also for FS intr and isoc endpoint.

Fixes: 4d79e042ed8b ("usb: mtu3: add support for usb3.1 IP")
Cc: stable@vger.kernel.org
Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com>
Link: https://lore.kernel.org/r/20211218095749.6250-4-chunfeng.yun@mediatek.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/mtu3/mtu3_gadget.c

index 163d4cf..0b21da4 100644 (file)
@@ -93,6 +93,13 @@ static int mtu3_ep_enable(struct mtu3_ep *mep)
                        mult = usb_endpoint_maxp_mult(desc) - 1;
                }
                break;
+       case USB_SPEED_FULL:
+               if (usb_endpoint_xfer_isoc(desc))
+                       interval = clamp_val(desc->bInterval, 1, 16);
+               else if (usb_endpoint_xfer_int(desc))
+                       interval = clamp_val(desc->bInterval, 1, 255);
+
+               break;
        default:
                break; /*others are ignored */
        }