RE: usb: musb: ignore spurious SESSREQ interrupts

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

 



Hi,
> > 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)) {

Looks fine to me. 

-Ajay
>                         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