summaryrefslogtreecommitdiff
path: root/sys/dev/usb
diff options
context:
space:
mode:
authorDamien Bergamini <damien@cvs.openbsd.org>2006-11-01 11:52:25 +0000
committerDamien Bergamini <damien@cvs.openbsd.org>2006-11-01 11:52:25 +0000
commit7a1fa2b5731eca7a9e236138d7037640048a5ea5 (patch)
tree0db027f3c3953a73c55e6096184269008f0f71ff /sys/dev/usb
parent567ffd3016f89c359231960114bdf13d61ddbf31 (diff)
abort bulk-in and bulk-out pipes in zyd_stop() before freeing the
Rx/Tx xfer lists.
Diffstat (limited to 'sys/dev/usb')
-rw-r--r--sys/dev/usb/if_zyd.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/dev/usb/if_zyd.c b/sys/dev/usb/if_zyd.c
index a8fc0ea2787..b66aa51ab89 100644
--- a/sys/dev/usb/if_zyd.c
+++ b/sys/dev/usb/if_zyd.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: if_zyd.c,v 1.33 2006/10/23 18:08:34 damien Exp $ */
+/* $OpenBSD: if_zyd.c,v 1.34 2006/11/01 11:52:24 damien Exp $ */
/*-
* Copyright (c) 2006 by Damien Bergamini <damien.bergamini@free.fr>
@@ -1907,6 +1907,9 @@ zyd_stop(struct ifnet *ifp, int disable)
/* disable interrupts */
(void)zyd_write32(sc, ZYD_CR_INTERRUPT, 0);
+ usbd_abort_pipe(sc->zyd_ep[ZYD_ENDPT_BIN]);
+ usbd_abort_pipe(sc->zyd_ep[ZYD_ENDPT_BOUT]);
+
zyd_free_rx_list(sc);
zyd_free_tx_list(sc);
}