Re: usb: musb: ignore spurious SESSREQ interrupts

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

On Fri, Oct 29, 2010 at 08:02:15AM +0200, ext Gupta, Ajay Kumar wrote:
> Felipe/Heikki,
> 
> This patch is needs to be modified so that we service the real SRP interrupt
> From B-device.
> 
> As per current musb driver when we connect the mini-A plug to A-device and
> Mini-B plug to B-device then DEVCTL on either side would show the interface
> To be in B-device. Thus we can't reply on D7 bit of DEVCTL at this moment.
> 
> Moreover Mentor document also says that D7 bit of DEVCTL is valid only
> when a SESSION is in progress.

How about this:

diff --git a/drivers/usb/musb/musb_core.c
b/drivers/usb/musb/musb_core.c
index c9f9024..4bb8812 100644
--- a/drivers/usb/musb/musb_core.c
+++ b/drivers/usb/musb/musb_core.c
@@ -552,7 +552,8 @@ static irqreturn_t musb_stage0_irq(struct musb
*musb, u8 int_usb,
        if (int_usb & MUSB_INTR_SESSREQ) {
                void __iomem *mbase = musb->mregs;
 
-               if (devctl & MUSB_DEVCTL_BDEVICE) {
+               if ((devctl & MUSB_DEVCTL_VBUS) == MUSB_DEVCTL_VBUS &&
+                               (devctl & MUSB_DEVCTL_BDEVICE)) {
                        DBG(3, "SessReq while on B state\n");
                        return IRQ_HANDLED;
                }

-- 
heikki
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux