usb: xhci-mtk: use ports count from xhci in xhci_mtk_sch_init()
authorChunfeng Yun <chunfeng.yun@mediatek.com>
Fri, 13 Oct 2017 08:26:34 +0000 (16:26 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 23 Oct 2017 09:29:40 +0000 (11:29 +0200)
Make use of ports count from xhci but not from ippc in
xhci_mtk_sch_init()

Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com>
Acked-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/host/xhci-mtk-sch.c
drivers/usb/host/xhci-mtk.c

index 6e7ddf6..bfc51bc 100644 (file)
@@ -287,12 +287,13 @@ static bool need_bw_sch(struct usb_host_endpoint *ep,
 
 int xhci_mtk_sch_init(struct xhci_hcd_mtk *mtk)
 {
+       struct xhci_hcd *xhci = hcd_to_xhci(mtk->hcd);
        struct mu3h_sch_bw_info *sch_array;
        int num_usb_bus;
        int i;
 
        /* ss IN and OUT are separated */
-       num_usb_bus = mtk->num_u3_ports * 2 + mtk->num_u2_ports;
+       num_usb_bus = xhci->num_usb3_ports * 2 + xhci->num_usb2_ports;
 
        sch_array = kcalloc(num_usb_bus, sizeof(*sch_array), GFP_KERNEL);
        if (sch_array == NULL)
index c197a6d..9502ca4 100644 (file)
@@ -492,7 +492,6 @@ static void xhci_mtk_quirks(struct device *dev, struct xhci_hcd *xhci)
 /* called during probe() after chip reset completes */
 static int xhci_mtk_setup(struct usb_hcd *hcd)
 {
-       struct xhci_hcd *xhci = hcd_to_xhci(hcd);
        struct xhci_hcd_mtk *mtk = hcd_to_mtk(hcd);
        int ret;
 
@@ -507,8 +506,6 @@ static int xhci_mtk_setup(struct usb_hcd *hcd)
                return ret;
 
        if (usb_hcd_is_primary_hcd(hcd)) {
-               mtk->num_u3_ports = xhci->num_usb3_ports;
-               mtk->num_u2_ports = xhci->num_usb2_ports;
                ret = xhci_mtk_sch_init(mtk);
                if (ret)
                        return ret;