aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Dooks2010-05-25 05:36:51 +0100
committerGreg Kroah-Hartman2010-06-04 13:16:19 -0700
commit2e0e0777ec2ea1cb5461bded2c09573a9d778622 (patch)
tree3482e6aa8e2163893a759e189f03846ac15920bc
parent0f002d200598918f5058dfcfda3da46f29019765 (diff)
USB: s3c-hsotg: SoftDisconnect minimum 3ms
The shortest period SoftDisconnect can be asserted for is 3 milliseconds according to the V210 datasheet, so ensure that we add an msleep() to the registration code to enforce this. Signed-off-by: Ben Dooks <ben-linux@fluff.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r--drivers/usb/gadget/s3c-hsotg.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/usb/gadget/s3c-hsotg.c b/drivers/usb/gadget/s3c-hsotg.c
index 9abf96c5715d..31d19e1f261d 100644
--- a/drivers/usb/gadget/s3c-hsotg.c
+++ b/drivers/usb/gadget/s3c-hsotg.c
@@ -2599,6 +2599,9 @@ int usb_gadget_register_driver(struct usb_gadget_driver *driver)
writel(S3C_DCTL_CGOUTNak | S3C_DCTL_CGNPInNAK,
hsotg->regs + S3C_DCTL);
+ /* must be at-least 3ms to allow bus to see disconnect */
+ msleep(3);
+
/* remove the soft-disconnect and let's go */
__bic32(hsotg->regs + S3C_DCTL, S3C_DCTL_SftDiscon);