usb: musb: dsps: check for the single bit
authorFelipe Balbi <balbi@ti.com>
Thu, 26 Feb 2015 17:01:03 +0000 (11:01 -0600)
committerFelipe Balbi <balbi@ti.com>
Tue, 10 Mar 2015 20:33:27 +0000 (15:33 -0500)
We want to check if that particular bit is
set. It could very well be that bootloader
(or romcode) has fiddled with MUSB before
us which could leave other bits set in this
register.

Tested-by: Bin Liu <b-liu@ti.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
drivers/usb/musb/musb_dsps.c

index 8f96e79dd06986576b8269cd87b9e61b5aa99948..e210b75fb6f2e168eb3b214e6941bc4fcf81c0f7 100644 (file)
@@ -475,7 +475,7 @@ static int dsps_musb_init(struct musb *musb)
         * logic enabled.
         */
        val = dsps_readb(musb->mregs, MUSB_BABBLE_CTL);
-       if (val == MUSB_BABBLE_RCV_DISABLE) {
+       if (val & MUSB_BABBLE_RCV_DISABLE) {
                glue->sw_babble_enabled = true;
                val |= MUSB_BABBLE_SW_SESSION_CTRL;
                dsps_writeb(musb->mregs, MUSB_BABBLE_CTL, val);