usb: xhci-mtk: break loop when find the endpoint to drop
authorChunfeng Yun <chunfeng.yun@mediatek.com>
Tue, 2 Feb 2021 08:38:24 +0000 (16:38 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 2 Feb 2021 18:46:32 +0000 (19:46 +0100)
No need to check the following endpoints after finding the endpoint
wanted to drop.

Fixes: 54f6a8af3722 ("usb: xhci-mtk: skip dropping bandwidth of unchecked endpoints")
Cc: stable <stable@vger.kernel.org>
Reported-by: Ikjoon Jang <ikjn@chromium.org>
Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com>
Link: https://lore.kernel.org/r/1612255104-5363-1-git-send-email-chunfeng.yun@mediatek.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/host/xhci-mtk-sch.c

index dee8a32..b45e5bf 100644 (file)
@@ -689,8 +689,10 @@ void xhci_mtk_drop_ep_quirk(struct usb_hcd *hcd, struct usb_device *udev,
        sch_bw = &sch_array[bw_index];
 
        list_for_each_entry_safe(sch_ep, tmp, &sch_bw->bw_ep_list, endpoint) {
-               if (sch_ep->ep == ep)
+               if (sch_ep->ep == ep) {
                        destroy_sch_ep(udev, sch_bw, sch_ep);
+                       break;
+               }
        }
 }
 EXPORT_SYMBOL_GPL(xhci_mtk_drop_ep_quirk);