From mboxrd@z Thu Jan 1 00:00:00 1970 From: hdegoede@redhat.com (Hans de Goede) Date: Wed, 5 Aug 2015 00:05:02 +0200 Subject: [PATCH] musb: sunxi: Ignore VBus errors in host-only mode In-Reply-To: <20150804213553.GI9623@saruman.tx.rr.com> References: <1438723553-4136-1-git-send-email-hdegoede@redhat.com> <20150804213553.GI9623@saruman.tx.rr.com> Message-ID: <55C1370E.1000805@redhat.com> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org Hi, On 08/04/2015 11:35 PM, Felipe Balbi wrote: > On Tue, Aug 04, 2015 at 11:25:53PM +0200, Hans de Goede wrote: >> For some unclear reason sometimes we get VBus errors in host-only mode, >> even though we do not have any vbus-detection then. Ignore these. >> >> Signed-off-by: Hans de Goede >> --- >> drivers/usb/musb/sunxi.c | 4 ++++ >> 1 file changed, 4 insertions(+) >> >> diff --git a/drivers/usb/musb/sunxi.c b/drivers/usb/musb/sunxi.c >> index f9f6304..34ce5df 100644 >> --- a/drivers/usb/musb/sunxi.c >> +++ b/drivers/usb/musb/sunxi.c >> @@ -194,6 +194,10 @@ static irqreturn_t sunxi_musb_interrupt(int irq, void *__hci) >> musb_writeb(musb->mregs, MUSB_FADDR, 0); >> } >> >> + /* Ignore Vbus errors when in host only mode */ >> + if (musb->port_mode == MUSB_PORT_MODE_HOST) >> + musb->int_usb &= ~MUSB_INTR_VBUSERROR; > > check with a scope if VBUS is really dropping. Host does VBUS detection > indeed, at a minimum, for overcurrent protection. You might have > something causing VBUS to drop and that something needs to be found, > rather than masked. The boards in question do not have any vbus detection, the usb-phy on allwinner boards do not have a vbus sense pin, instead a gpio is used in designs which use otg. Designs which use host-only mode typically do not have any form of vbus detection at all. In this case we always report vbus as being valid to the musb core, so I've no idea why the musb core is still generating vbus errors. Regards, Hans