From 7dfa9c591c3907b738714943fba6ad6eb76067bc Mon Sep 17 00:00:00 2001 From: n_hibma Date: Mon, 22 Mar 1999 19:52:28 +0000 Subject: Moved timeout initialisation a bit earlier in the process. The untimeout function triggered panics once in a while. --- sys/dev/usb/uhci.c | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) (limited to 'sys/dev/usb/uhci.c') diff --git a/sys/dev/usb/uhci.c b/sys/dev/usb/uhci.c index 42c99b7..fe08096 100644 --- a/sys/dev/usb/uhci.c +++ b/sys/dev/usb/uhci.c @@ -548,6 +548,9 @@ uhci_alloc_intr_info(sc) ii = malloc(sizeof(uhci_intr_info_t), M_USBDEV, M_NOWAIT); } ii->sc = sc; +#if defined(__FreeBSD__) + callout_handle_init(&ii->timeout_handle); +#endif return ii; } @@ -1239,6 +1242,9 @@ uhci_device_bulk_start(reqh) ii->reqh = reqh; ii->stdstart = xfer; ii->stdend = xferend; +#if defined(__FreeBSD__) + callout_handle_init(&ii->timeout_handle); +#endif #ifdef DIAGNOSTIC ii->isdone = 0; #endif @@ -1254,10 +1260,6 @@ uhci_device_bulk_start(reqh) if (reqh->timeout && !sc->sc_bus.use_polling) { usb_timeout(uhci_timeout, ii, MS_TO_TICKS(reqh->timeout), ii->timeout_handle); -#if defined(__FreeBSD__) - } else { - callout_handle_init(&ii->timeout_handle); -#endif } splx(s); @@ -1594,6 +1596,9 @@ uhci_device_request(reqh) ii->reqh = reqh; ii->stdstart = setup; ii->stdend = stat; +#if defined(__FreeBSD__) + callout_handle_init(&ii->timeout_handle); +#endif #ifdef DIAGNOSTIC ii->isdone = 0; #endif @@ -1634,10 +1639,6 @@ uhci_device_request(reqh) if (reqh->timeout && !sc->sc_bus.use_polling) { usb_timeout(uhci_timeout, ii, MS_TO_TICKS(reqh->timeout), ii->timeout_handle); -#if defined(__FreeBSD__) - } else { - callout_handle_init(&ii->timeout_handle); -#endif } splx(s); -- cgit v1.1