UPSTREAM: xhci: fix platform quirks overwrite regression in 4.7-rc1
authorMathias Nyman <mathias.nyman@linux.intel.com>
Wed, 1 Jun 2016 15:09:10 +0000 (18:09 +0300)
committerHuang, Tao <huangtao@rock-chips.com>
Wed, 17 Aug 2016 10:35:51 +0000 (18:35 +0800)
commit b1c127ae990b ("usb: host: xhci: plat: make use of new methods in
xhci_plat_priv") sets xhci->quirks before calling xhci_gen_setup(), which
will overwrite them.

Don't overwite the quirks, just add the new ones

Fixes: b1c127ae990b ("usb: host: xhci: plat: make use of new methods in xhci_plat_priv")
Reported-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Change-Id: I7751ccaa1f3c8000ad0d47f9fba84084b2db96da
Cc: Felipe Balbi <felipe.balbi@linux.intel.com>
Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Wu Liang feng <wulf@rock-chips.com>
(cherry picked from commit 757de492f2d5711d4f5b386eb9bdd5cdc99eb30e)

drivers/usb/host/xhci.c

index 6fe0174da226d78c177b022b99cb9bb4f9efcf01..4019b7335aacea101964776ee82fb7a65ec34e72 100644 (file)
@@ -4909,7 +4909,7 @@ int xhci_gen_setup(struct usb_hcd *hcd, xhci_get_quirks_t get_quirks)
                xhci->hcc_params2 = readl(&xhci->cap_regs->hcc_params2);
        xhci_print_registers(xhci);
 
-       xhci->quirks = quirks;
+       xhci->quirks |= quirks;
 
        get_quirks(dev, xhci);