Lines 195-200
Link Here
|
195 |
const struct ieee80211_bpf_params *); |
195 |
const struct ieee80211_bpf_params *); |
196 |
static void wpi_start(struct ifnet *); |
196 |
static void wpi_start(struct ifnet *); |
197 |
static void wpi_start_locked(struct ifnet *); |
197 |
static void wpi_start_locked(struct ifnet *); |
|
|
198 |
static void wpi_start_task(void *, int); |
198 |
static void wpi_watchdog_rfkill(void *); |
199 |
static void wpi_watchdog_rfkill(void *); |
199 |
static void wpi_watchdog(void *); |
200 |
static void wpi_watchdog(void *); |
200 |
static int wpi_ioctl(struct ifnet *, u_long, caddr_t); |
201 |
static int wpi_ioctl(struct ifnet *, u_long, caddr_t); |
Lines 515-520
Link Here
|
515 |
TASK_INIT(&sc->sc_reinittask, 0, wpi_hw_reset, sc); |
516 |
TASK_INIT(&sc->sc_reinittask, 0, wpi_hw_reset, sc); |
516 |
TASK_INIT(&sc->sc_radiooff_task, 0, wpi_radio_off, sc); |
517 |
TASK_INIT(&sc->sc_radiooff_task, 0, wpi_radio_off, sc); |
517 |
TASK_INIT(&sc->sc_radioon_task, 0, wpi_radio_on, sc); |
518 |
TASK_INIT(&sc->sc_radioon_task, 0, wpi_radio_on, sc); |
|
|
519 |
TASK_INIT(&sc->sc_start_task, 0, wpi_start_task, sc); |
518 |
|
520 |
|
519 |
wpi_sysctlattach(sc); |
521 |
wpi_sysctlattach(sc); |
520 |
|
522 |
|
Lines 644-649
Link Here
|
644 |
ieee80211_draintask(ic, &sc->sc_reinittask); |
646 |
ieee80211_draintask(ic, &sc->sc_reinittask); |
645 |
ieee80211_draintask(ic, &sc->sc_radiooff_task); |
647 |
ieee80211_draintask(ic, &sc->sc_radiooff_task); |
646 |
ieee80211_draintask(ic, &sc->sc_radioon_task); |
648 |
ieee80211_draintask(ic, &sc->sc_radioon_task); |
|
|
649 |
ieee80211_draintask(ic, &sc->sc_start_task); |
647 |
|
650 |
|
648 |
wpi_stop(sc); |
651 |
wpi_stop(sc); |
649 |
|
652 |
|
Lines 1901-1906
Link Here
|
1901 |
struct mbuf *m; |
1904 |
struct mbuf *m; |
1902 |
struct ieee80211_node *ni; |
1905 |
struct ieee80211_node *ni; |
1903 |
struct ieee80211vap *vap; |
1906 |
struct ieee80211vap *vap; |
|
|
1907 |
struct ieee80211com *ic; |
1904 |
int ackfailcnt = stat->ackfailcnt / 2; /* wpi_mrr_setup() */ |
1908 |
int ackfailcnt = stat->ackfailcnt / 2; /* wpi_mrr_setup() */ |
1905 |
int status = le32toh(stat->status); |
1909 |
int status = le32toh(stat->status); |
1906 |
|
1910 |
|
Lines 1919-1924
Link Here
|
1919 |
m = data->m, data->m = NULL; |
1923 |
m = data->m, data->m = NULL; |
1920 |
ni = data->ni, data->ni = NULL; |
1924 |
ni = data->ni, data->ni = NULL; |
1921 |
vap = ni->ni_vap; |
1925 |
vap = ni->ni_vap; |
|
|
1926 |
ic = vap->iv_ic; |
1922 |
|
1927 |
|
1923 |
/* |
1928 |
/* |
1924 |
* Update rate control statistics for the node. |
1929 |
* Update rate control statistics for the node. |
Lines 1943-1949
Link Here
|
1943 |
if (sc->qfullmsk == 0 && |
1948 |
if (sc->qfullmsk == 0 && |
1944 |
(ifp->if_drv_flags & IFF_DRV_OACTIVE)) { |
1949 |
(ifp->if_drv_flags & IFF_DRV_OACTIVE)) { |
1945 |
ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; |
1950 |
ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; |
1946 |
wpi_start_locked(ifp); |
1951 |
ieee80211_runtask(ic, &sc->sc_start_task); |
1947 |
} |
1952 |
} |
1948 |
} |
1953 |
} |
1949 |
|
1954 |
|
Lines 2789-2794
Link Here
|
2789 |
} |
2794 |
} |
2790 |
|
2795 |
|
2791 |
static void |
2796 |
static void |
|
|
2797 |
wpi_start_task(void *arg0, int pending) |
2798 |
{ |
2799 |
struct wpi_softc *sc = arg0; |
2800 |
struct ifnet *ifp = sc->sc_ifp; |
2801 |
|
2802 |
wpi_start(ifp); |
2803 |
} |
2804 |
|
2805 |
static void |
2792 |
wpi_watchdog_rfkill(void *arg) |
2806 |
wpi_watchdog_rfkill(void *arg) |
2793 |
{ |
2807 |
{ |
2794 |
struct wpi_softc *sc = arg; |
2808 |
struct wpi_softc *sc = arg; |