2020-07-10 02:31:19

by Chunfeng Yun

[permalink] [raw]
Subject: [PATCH] usb: xhci-mtk: fix the failure of bandwidth allocation

The wMaxPacketSize field of endpoint descriptor may be zero
as default value in alternate interface, and they are not
actually selected when start stream, so skip them when try to
allocate bandwidth.

Cc: stable <[email protected]>
Signed-off-by: Chunfeng Yun <[email protected]>
---
drivers/usb/host/xhci-mtk-sch.c | 4 ++++
1 file changed, 4 insertions(+)

diff --git a/drivers/usb/host/xhci-mtk-sch.c b/drivers/usb/host/xhci-mtk-sch.c
index fea5555..45c54d56 100644
--- a/drivers/usb/host/xhci-mtk-sch.c
+++ b/drivers/usb/host/xhci-mtk-sch.c
@@ -557,6 +557,10 @@ static bool need_bw_sch(struct usb_host_endpoint *ep,
if (is_fs_or_ls(speed) && !has_tt)
return false;

+ /* skip endpoint with zero maxpkt */
+ if (usb_endpoint_maxp(&ep->desc) == 0)
+ return false;
+
return true;
}

--
1.9.1


2020-07-10 03:15:51

by Nicolas Boichat

[permalink] [raw]
Subject: Re: [PATCH] usb: xhci-mtk: fix the failure of bandwidth allocation

On Fri, Jul 10, 2020 at 10:30 AM Chunfeng Yun <[email protected]> wrote:
>
> The wMaxPacketSize field of endpoint descriptor may be zero
> as default value in alternate interface, and they are not
> actually selected when start stream, so skip them when try to
> allocate bandwidth.
>
> Cc: stable <[email protected]>
> Signed-off-by: Chunfeng Yun <[email protected]>

Add this?
Fixes: 0cbd4b34cda9dfd ("xhci: mediatek: support MTK xHCI host controller")

> ---
> drivers/usb/host/xhci-mtk-sch.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/drivers/usb/host/xhci-mtk-sch.c b/drivers/usb/host/xhci-mtk-sch.c
> index fea5555..45c54d56 100644
> --- a/drivers/usb/host/xhci-mtk-sch.c
> +++ b/drivers/usb/host/xhci-mtk-sch.c
> @@ -557,6 +557,10 @@ static bool need_bw_sch(struct usb_host_endpoint *ep,
> if (is_fs_or_ls(speed) && !has_tt)
> return false;
>
> + /* skip endpoint with zero maxpkt */
> + if (usb_endpoint_maxp(&ep->desc) == 0)
> + return false;
> +
> return true;
> }
>
> --
> 1.9.1
> _______________________________________________
> Linux-mediatek mailing list
> [email protected]
> http://lists.infradead.org/mailman/listinfo/linux-mediatek

2020-07-10 06:02:37

by Chunfeng Yun

[permalink] [raw]
Subject: Re: [PATCH] usb: xhci-mtk: fix the failure of bandwidth allocation

On Fri, 2020-07-10 at 11:14 +0800, Nicolas Boichat wrote:
> On Fri, Jul 10, 2020 at 10:30 AM Chunfeng Yun <[email protected]> wrote:
> >
> > The wMaxPacketSize field of endpoint descriptor may be zero
> > as default value in alternate interface, and they are not
> > actually selected when start stream, so skip them when try to
> > allocate bandwidth.
> >
> > Cc: stable <[email protected]>
> > Signed-off-by: Chunfeng Yun <[email protected]>
>
> Add this?
> Fixes: 0cbd4b34cda9dfd ("xhci: mediatek: support MTK xHCI host controller")
Ok, thanks

>
> > ---
> > drivers/usb/host/xhci-mtk-sch.c | 4 ++++
> > 1 file changed, 4 insertions(+)
> >
> > diff --git a/drivers/usb/host/xhci-mtk-sch.c b/drivers/usb/host/xhci-mtk-sch.c
> > index fea5555..45c54d56 100644
> > --- a/drivers/usb/host/xhci-mtk-sch.c
> > +++ b/drivers/usb/host/xhci-mtk-sch.c
> > @@ -557,6 +557,10 @@ static bool need_bw_sch(struct usb_host_endpoint *ep,
> > if (is_fs_or_ls(speed) && !has_tt)
> > return false;
> >
> > + /* skip endpoint with zero maxpkt */
> > + if (usb_endpoint_maxp(&ep->desc) == 0)
> > + return false;
> > +
> > return true;
> > }
> >
> > --
> > 1.9.1
> > _______________________________________________
> > Linux-mediatek mailing list
> > [email protected]
> > http://lists.infradead.org/mailman/listinfo/linux-mediatek