svn commit: r294841 - head/sys/dev/rtwn
Andriy Voskoboinyk
avos at FreeBSD.org
Tue Jan 26 16:34:29 UTC 2016
Author: avos
Date: Tue Jan 26 16:34:27 2016
New Revision: 294841
URL: https://svnweb.freebsd.org/changeset/base/294841
Log:
rtwn: use ieee80211_restart_all() for device reset
Tested by: kevlo
Reviewed by: kevlo
Approved by: adrian (mentor)
Differential Revision: https://reviews.freebsd.org/D5057
Modified:
head/sys/dev/rtwn/if_rtwn.c
head/sys/dev/rtwn/if_rtwnreg.h
Modified: head/sys/dev/rtwn/if_rtwn.c
==============================================================================
--- head/sys/dev/rtwn/if_rtwn.c Tue Jan 26 16:33:38 2016 (r294840)
+++ head/sys/dev/rtwn/if_rtwn.c Tue Jan 26 16:34:27 2016 (r294841)
@@ -186,11 +186,9 @@ static void rtwn_iq_calib(struct rtwn_so
static void rtwn_lc_calib(struct rtwn_softc *);
static void rtwn_temp_calib(struct rtwn_softc *);
static void rtwn_init_locked(struct rtwn_softc *);
-static void rtwn_init(struct rtwn_softc *);
static void rtwn_stop_locked(struct rtwn_softc *);
static void rtwn_stop(struct rtwn_softc *);
static void rtwn_intr(void *);
-static void rtwn_hw_reset(void *, int);
/* Aliases. */
#define rtwn_bb_write rtwn_write_4
@@ -295,7 +293,6 @@ rtwn_attach(device_t dev)
RTWN_LOCK_INIT(sc);
callout_init_mtx(&sc->calib_to, &sc->sc_mtx, 0);
callout_init_mtx(&sc->watchdog_to, &sc->sc_mtx, 0);
- TASK_INIT(&sc->sc_reinit_task, 0, rtwn_hw_reset, sc);
mbufq_init(&sc->sc_snd, ifqmaxlen);
error = rtwn_read_chipid(sc);
@@ -406,7 +403,6 @@ rtwn_detach(device_t dev)
int i;
if (sc->sc_ic.ic_softc != NULL) {
- ieee80211_draintask(&sc->sc_ic, &sc->sc_reinit_task);
rtwn_stop(sc);
callout_drain(&sc->calib_to);
@@ -1899,7 +1895,7 @@ rtwn_watchdog(void *arg)
if (sc->sc_tx_timer != 0 && --sc->sc_tx_timer == 0) {
ic_printf(ic, "device timeout\n");
- ieee80211_runtask(ic, &sc->sc_reinit_task);
+ ieee80211_restart_all(ic);
return;
}
callout_reset(&sc->watchdog_to, hz, rtwn_watchdog, sc);
@@ -3361,18 +3357,6 @@ fail:
}
static void
-rtwn_init(struct rtwn_softc *sc)
-{
-
- RTWN_LOCK(sc);
- rtwn_init_locked(sc);
- RTWN_UNLOCK(sc);
-
- if (sc->sc_flags & RTWN_RUNNING)
- ieee80211_start_all(&sc->sc_ic);
-}
-
-static void
rtwn_stop_locked(struct rtwn_softc *sc)
{
uint16_t reg;
@@ -3481,14 +3465,3 @@ rtwn_intr(void *arg)
RTWN_UNLOCK(sc);
}
-
-static void
-rtwn_hw_reset(void *arg0, int pending)
-{
- struct rtwn_softc *sc = arg0;
- struct ieee80211com *ic = &sc->sc_ic;
-
- rtwn_stop(sc);
- rtwn_init(sc);
- ieee80211_notify_radio(ic, 1);
-}
Modified: head/sys/dev/rtwn/if_rtwnreg.h
==============================================================================
--- head/sys/dev/rtwn/if_rtwnreg.h Tue Jan 26 16:33:38 2016 (r294840)
+++ head/sys/dev/rtwn/if_rtwnreg.h Tue Jan 26 16:34:27 2016 (r294841)
@@ -1295,7 +1295,6 @@ struct rtwn_softc {
bus_size_t sc_mapsize;
int sc_cap_off;
- struct task sc_reinit_task;
struct callout calib_to;
struct callout watchdog_to;
More information about the svn-src-all
mailing list