From a586f5383785927371e457c240f2fbe7e2d1af81 Mon Sep 17 00:00:00 2001 From: gavin Date: Mon, 14 Dec 2009 19:18:02 +0000 Subject: Don't panic on failure to attach if we fail before or during the if_alloc() of ifp. This fixes the panic reported in the PR, but not the attach failure. PR: kern/139079 Tested by: Steven Noonan Reviewed by: thompsa Approved by: ed (mentor) MFC after: 2 weeks` --- sys/dev/wpi/if_wpi.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'sys/dev/wpi') diff --git a/sys/dev/wpi/if_wpi.c b/sys/dev/wpi/if_wpi.c index 85812375..1797c2d 100644 --- a/sys/dev/wpi/if_wpi.c +++ b/sys/dev/wpi/if_wpi.c @@ -713,13 +713,14 @@ wpi_detach(device_t dev) { struct wpi_softc *sc = device_get_softc(dev); struct ifnet *ifp = sc->sc_ifp; - struct ieee80211com *ic = ifp->if_l2com; + struct ieee80211com *ic; int ac; - ieee80211_draintask(ic, &sc->sc_restarttask); - ieee80211_draintask(ic, &sc->sc_radiotask); - if (ifp != NULL) { + ic = ifp->if_l2com; + + ieee80211_draintask(ic, &sc->sc_restarttask); + ieee80211_draintask(ic, &sc->sc_radiotask); wpi_stop(sc); callout_drain(&sc->watchdog_to); callout_drain(&sc->calib_to); -- cgit v1.1