diff options
author | Damien Bergamini <damien@cvs.openbsd.org> | 2008-12-22 18:42:05 +0000 |
---|---|---|
committer | Damien Bergamini <damien@cvs.openbsd.org> | 2008-12-22 18:42:05 +0000 |
commit | 935b74c67da6cf60dd2c6d7ae0a2059eb5eb1fe4 (patch) | |
tree | 2353a16f5297a162093537800cf33618d777ba33 /sys/dev | |
parent | d07bbd167d1f3a10b4a4131f9dfb9668746e5c3d (diff) |
do not leak an AMRR USB xfer at each ifconfig down/up.
Diffstat (limited to 'sys/dev')
-rw-r--r-- | sys/dev/usb/if_rum.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/sys/dev/usb/if_rum.c b/sys/dev/usb/if_rum.c index 718b75bb360..3c467a00211 100644 --- a/sys/dev/usb/if_rum.c +++ b/sys/dev/usb/if_rum.c @@ -1,4 +1,4 @@ -/* $OpenBSD: if_rum.c,v 1.80 2008/12/10 18:10:14 deraadt Exp $ */ +/* $OpenBSD: if_rum.c,v 1.81 2008/12/22 18:42:04 damien Exp $ */ /*- * Copyright (c) 2005-2007 Damien Bergamini <damien.bergamini@free.fr> @@ -2121,6 +2121,10 @@ rum_stop(struct ifnet *ifp, int disable) rum_write(sc, RT2573_MAC_CSR1, 3); rum_write(sc, RT2573_MAC_CSR1, 0); + if (sc->amrr_xfer != NULL) { + usbd_free_xfer(sc->amrr_xfer); + sc->amrr_xfer = NULL; + } if (sc->sc_rx_pipeh != NULL) { usbd_abort_pipe(sc->sc_rx_pipeh); usbd_close_pipe(sc->sc_rx_pipeh); |