svn commit: r191912 - in head/sys/dev: ipw iwi
Andrew Thompson
thompsa at FreeBSD.org
Fri May 8 13:44:34 UTC 2009
Author: thompsa
Date: Fri May 8 13:44:33 2009
New Revision: 191912
URL: http://svn.freebsd.org/changeset/base/191912
Log:
Drain the tasks before the interface stop call in case a restart was queued.
Modified:
head/sys/dev/ipw/if_ipw.c
head/sys/dev/iwi/if_iwi.c
Modified: head/sys/dev/ipw/if_ipw.c
==============================================================================
--- head/sys/dev/ipw/if_ipw.c Fri May 8 03:19:57 2009 (r191911)
+++ head/sys/dev/ipw/if_ipw.c Fri May 8 13:44:33 2009 (r191912)
@@ -404,13 +404,13 @@ ipw_detach(device_t dev)
struct ifnet *ifp = sc->sc_ifp;
struct ieee80211com *ic = ifp->if_l2com;
+ ieee80211_draintask(ic, &sc->sc_init_task);
ipw_stop(sc);
bpfdetach(ifp);
ieee80211_ifdetach(ic);
callout_drain(&sc->sc_wdtimer);
- ieee80211_draintask(ic, &sc->sc_init_task);
ipw_release(sc);
Modified: head/sys/dev/iwi/if_iwi.c
==============================================================================
--- head/sys/dev/iwi/if_iwi.c Fri May 8 03:19:57 2009 (r191911)
+++ head/sys/dev/iwi/if_iwi.c Fri May 8 13:44:33 2009 (r191912)
@@ -459,17 +459,17 @@ iwi_detach(device_t dev)
struct ifnet *ifp = sc->sc_ifp;
struct ieee80211com *ic = ifp->if_l2com;
- iwi_stop(sc);
-
- bpfdetach(ifp);
- ieee80211_ifdetach(ic);
-
/* NB: do early to drain any pending tasks */
ieee80211_draintask(ic, &sc->sc_radiontask);
ieee80211_draintask(ic, &sc->sc_radiofftask);
ieee80211_draintask(ic, &sc->sc_restarttask);
ieee80211_draintask(ic, &sc->sc_disassoctask);
+ iwi_stop(sc);
+
+ bpfdetach(ifp);
+ ieee80211_ifdetach(ic);
+
iwi_put_firmware(sc);
iwi_release_fw_dma(sc);
More information about the svn-src-head
mailing list