]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - drivers/usb/host/sl811-hcd.c
Merge branch 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
[mv-sheeva.git] / drivers / usb / host / sl811-hcd.c
index a949259f18b984794d9bc46200e1f0e3303e1f6e..5b22a4d1c9e491e3489e31ce3803623cec5c67c6 100644 (file)
@@ -719,8 +719,12 @@ retry:
                /* port status seems weird until after reset, so
                 * force the reset and make khubd clean up later.
                 */
-               sl811->port1 |= (1 << USB_PORT_FEAT_C_CONNECTION)
-                               | (1 << USB_PORT_FEAT_CONNECTION);
+               if (sl811->stat_insrmv & 1)
+                       sl811->port1 |= 1 << USB_PORT_FEAT_CONNECTION;
+               else
+                       sl811->port1 &= ~(1 << USB_PORT_FEAT_CONNECTION);
+
+               sl811->port1 |= 1 << USB_PORT_FEAT_C_CONNECTION;
 
        } else if (irqstat & SL11H_INTMASK_RD) {
                if (sl811->port1 & (1 << USB_PORT_FEAT_SUSPEND)) {