mfd: omap-usb-host: Fix improper mask use.
authorMichael Welling <mwelling@emacinc.com>
Mon, 28 Jul 2014 23:01:04 +0000 (18:01 -0500)
committerLee Jones <lee.jones@linaro.org>
Tue, 29 Jul 2014 15:08:49 +0000 (16:08 +0100)
single-ulpi-bypass is a flag used for older OMAP3 silicon.

The flag when set, can excite code that improperly uses the
OMAP_UHH_HOSTCONFIG_UPLI_BYPASS define to clear the corresponding bit.
Instead it clears all of the other bits disabling all of the ports in
the process.

Cc: stable@vger.kernel.org
Signed-off-by: Michael Welling <mwelling@emacinc.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
drivers/mfd/omap-usb-host.c

index b48d80c367f902e557ff3ce3d8a04f3954bd4e34..33a9234b701c51b7c30c899c026fc92f6d4a0771 100644 (file)
@@ -445,7 +445,7 @@ static unsigned omap_usbhs_rev1_hostconfig(struct usbhs_hcd_omap *omap,
 
                for (i = 0; i < omap->nports; i++) {
                        if (is_ehci_phy_mode(pdata->port_mode[i])) {
-                               reg &= OMAP_UHH_HOSTCONFIG_ULPI_BYPASS;
+                               reg &= ~OMAP_UHH_HOSTCONFIG_ULPI_BYPASS;
                                break;
                        }
                }