Title: [8505] branches/2009R1/drivers/usb/host/sl811-hcd.c: [#5972] Sl811-hcd.c USB removal
Revision
8505
Author
hennerich
Date
2010-03-18 08:11:41 -0400 (Thu, 18 Mar 2010)

Log Message

[#5972] Sl811-hcd.c USB removal

Chris Brissette pointed out that the Detection / Removal counter method
to distinguish instert or remove my fail under certain conditions.
Latest SL811HS datasheet (Document 38-08008 Rev. *D) adds following to
bit 6 of the Interrupt Status Register.

... Otherwise, this bit is used to indicate the presence of a device,
?\226?\128?\1531?\226?\128?\153 = device ?\226?\128?\152Not present?\226?\128?\153
and ?\226?\128?\1530?\226?\128?\153 = device ?\226?\128?\152Present.?\226?\128?\153 In this mode, check this bit along with bit
5 to determine whether a device has been inserted or removed.

Modified Paths

Diff

Modified: branches/2009R1/drivers/usb/host/sl811-hcd.c (8504 => 8505)


--- branches/2009R1/drivers/usb/host/sl811-hcd.c	2010-03-18 12:09:56 UTC (rev 8504)
+++ branches/2009R1/drivers/usb/host/sl811-hcd.c	2010-03-18 12:11:41 UTC (rev 8505)
@@ -720,10 +720,10 @@
 		/* port status seems weird until after reset, so
 		 * force the reset and make khubd clean up later.
 		 */
-		if (sl811->stat_insrmv & 1)
+		if (irqstat & SL11H_INTMASK_RD)
+			sl811->port1 &= ~(1 << USB_PORT_FEAT_CONNECTION);
+		else
 			sl811->port1 |= 1 << USB_PORT_FEAT_CONNECTION;
-		else
-			sl811->port1 &= ~(1 << USB_PORT_FEAT_CONNECTION);
 
 		sl811->port1 |= 1 << USB_PORT_FEAT_C_CONNECTION;
 
_______________________________________________
Linux-kernel-commits mailing list
[email protected]
https://blackfin.uclinux.org/mailman/listinfo/linux-kernel-commits

Reply via email to