Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 8 May 2009 13:44:34 +0000 (UTC)
From:      Andrew Thompson <thompsa@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r191912 - in head/sys/dev: ipw iwi
Message-ID:  <200905081344.n48DiYJI092605@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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);
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200905081344.n48DiYJI092605>