This is based on the code for kernel 4.9, but a lot of 4.9 patches are backports from more recent kernel version and can be removed now. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
		
			
				
	
	
		
			27 lines
		
	
	
		
			931 B
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			27 lines
		
	
	
		
			931 B
		
	
	
	
		
			Diff
		
	
	
	
	
	
From fce20ac5d8c98f1a8ea5298051d9fa669e455f04 Mon Sep 17 00:00:00 2001
 | 
						|
From: Hans de Goede <hdegoede@redhat.com>
 | 
						|
Date: Tue, 4 Aug 2015 23:22:45 +0200
 | 
						|
Subject: [PATCH] musb: sunxi: Ignore VBus errors in host-only mode
 | 
						|
 | 
						|
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 <hdegoede@redhat.com>
 | 
						|
---
 | 
						|
 drivers/usb/musb/sunxi.c | 4 ++++
 | 
						|
 1 file changed, 4 insertions(+)
 | 
						|
 | 
						|
--- a/drivers/usb/musb/sunxi.c
 | 
						|
+++ b/drivers/usb/musb/sunxi.c
 | 
						|
@@ -192,6 +192,10 @@ static irqreturn_t sunxi_musb_interrupt(
 | 
						|
 		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;
 | 
						|
+
 | 
						|
 	musb->int_tx = readw(musb->mregs + SUNXI_MUSB_INTRTX);
 | 
						|
 	if (musb->int_tx)
 | 
						|
 		writew(musb->int_tx, musb->mregs + SUNXI_MUSB_INTRTX);
 |