Browse Source

usb: musb: da8xx: Fix host mode suspend

On da8xx, VBUS is not maintained during suspend when musb is in host mode.
On resume, all the connected devices will be disconnected and then will
be enumerated again.
This happens because MUSB_DEVCTL is cleared during suspend.

Use the quirk MUSB_PRESERVE_SESSION to preseve MUSB_DEVCTL during suspend.

Signed-off-by: Alexandre Bailon <abailon@baylibre.com>
Signed-off-by: Bin Liu <b-liu@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Alexandre Bailon 8 years ago
parent
commit
486fc20ac8
1 changed files with 1 additions and 1 deletions
  1. 1 1
      drivers/usb/musb/da8xx.c

+ 1 - 1
drivers/usb/musb/da8xx.c

@@ -457,7 +457,7 @@ static inline u8 get_vbus_power(struct device *dev)
 }
 }
 
 
 static const struct musb_platform_ops da8xx_ops = {
 static const struct musb_platform_ops da8xx_ops = {
-	.quirks		= MUSB_INDEXED_EP,
+	.quirks		= MUSB_INDEXED_EP | MUSB_PRESERVE_SESSION,
 	.init		= da8xx_musb_init,
 	.init		= da8xx_musb_init,
 	.exit		= da8xx_musb_exit,
 	.exit		= da8xx_musb_exit,