summaryrefslogtreecommitdiff
path: root/sys/dev/usb/uvideo.c
diff options
context:
space:
mode:
authorMarcus Glocker <mglocker@cvs.openbsd.org>2008-08-09 07:57:49 +0000
committerMarcus Glocker <mglocker@cvs.openbsd.org>2008-08-09 07:57:49 +0000
commited82e225ba76dceda0b63ba29d5076ad9f0d4c2a (patch)
tree056b6f1c5d50dd859279c8aec1343206bdc8c72e /sys/dev/usb/uvideo.c
parent39fbf175f3c3d2f6af075622e52b06c981b78656 (diff)
Prepare for ehci: If GET_DEF request has failed, wait a moment before
issuing GET_CUR. Makes my NX6000 attach on ehci.
Diffstat (limited to 'sys/dev/usb/uvideo.c')
-rw-r--r--sys/dev/usb/uvideo.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/dev/usb/uvideo.c b/sys/dev/usb/uvideo.c
index fb635cb511b..b4c3307989c 100644
--- a/sys/dev/usb/uvideo.c
+++ b/sys/dev/usb/uvideo.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: uvideo.c,v 1.75 2008/08/02 21:52:37 mglocker Exp $ */
+/* $OpenBSD: uvideo.c,v 1.76 2008/08/09 07:57:48 mglocker Exp $ */
/*
* Copyright (c) 2008 Robert Nagy <robert@openbsd.org>
@@ -1035,6 +1035,9 @@ uvideo_vs_negotiation(struct uvideo_softc *sc, int commit)
bzero(probe_data, sizeof(probe_data));
error = uvideo_vs_get_probe(sc, probe_data, GET_DEF);
if (error != USBD_NORMAL_COMPLETION) {
+ /* relax a moment and retry with GET_CUR */
+ usbd_delay_ms(sc->sc_udev, 100);
+
error = uvideo_vs_get_probe(sc, probe_data, GET_CUR);
if (error != USBD_NORMAL_COMPLETION)
return (error);