mfd: omap-usb-host: Fix improper mask use.
authorMichael Welling <mwelling@emacinc.com>
Mon, 28 Jul 2014 23:01:04 +0000 (18:01 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 17 Sep 2014 16:03:57 +0000 (09:03 -0700)
commit 46de8ff8e80a6546aa3d2fdf58c6776666301a0c upstream.

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.

Signed-off-by: Michael Welling <mwelling@emacinc.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/mfd/omap-usb-host.c

index 759fae3ca7fb0dba592ab808d036f889bf96f922..a36f3f282ae758546f5d1f50bdea1a00503b6c0d 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;
                        }
                }