summaryrefslogtreecommitdiffstats
path: root/sys/dev/usb/ohci.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev/usb/ohci.c')
-rw-r--r--sys/dev/usb/ohci.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/sys/dev/usb/ohci.c b/sys/dev/usb/ohci.c
index 9ad8ee9..369f246 100644
--- a/sys/dev/usb/ohci.c
+++ b/sys/dev/usb/ohci.c
@@ -1050,9 +1050,12 @@ ohci_intr1(ohci_softc_t *sc)
ohci_physaddr_t ldone;
ohci_soft_td_t *std;
- for (ldone = sc->sc_done; ldone != 0;
- ldone = le32toh(std->td.td_nexttd))
- std = ohci_hash_find_td(sc, ldone);
+ ldone = sc->sc_done; /* always non 0 */
+ do {
+ std = ohci_hash_find_td(sc, ldone);
+ ldone = le32toh(std->td.td_nexttd);
+ } while (ldone != 0);
+
std->td.td_nexttd = le32toh(done);
}
sc->sc_hcca->hcca_done_head = 0;
OpenPOWER on IntegriCloud