Lines 118-124
static void ath_fatal_tasklet(TQUEUE_ARG
Link Here
|
118 |
static void ath_rxorn_tasklet(TQUEUE_ARG); |
118 |
static void ath_rxorn_tasklet(TQUEUE_ARG); |
119 |
static void ath_bmiss_tasklet(TQUEUE_ARG); |
119 |
static void ath_bmiss_tasklet(TQUEUE_ARG); |
120 |
static void ath_bstuck_tasklet(TQUEUE_ARG); |
120 |
static void ath_bstuck_tasklet(TQUEUE_ARG); |
121 |
static void ath_radar_task(TQUEUE_ARG); |
121 |
static void ath_radar_task(struct work_struct *); |
122 |
static void ath_dfs_test_return(unsigned long); |
122 |
static void ath_dfs_test_return(unsigned long); |
123 |
|
123 |
|
124 |
static int ath_stop_locked(struct net_device *); |
124 |
static int ath_stop_locked(struct net_device *); |
Lines 414-420
ath_attach(u_int16_t devid, struct net_d
Link Here
|
414 |
ATH_INIT_TQUEUE(&sc->sc_bstucktq,ath_bstuck_tasklet, dev); |
414 |
ATH_INIT_TQUEUE(&sc->sc_bstucktq,ath_bstuck_tasklet, dev); |
415 |
ATH_INIT_TQUEUE(&sc->sc_rxorntq, ath_rxorn_tasklet, dev); |
415 |
ATH_INIT_TQUEUE(&sc->sc_rxorntq, ath_rxorn_tasklet, dev); |
416 |
ATH_INIT_TQUEUE(&sc->sc_fataltq, ath_fatal_tasklet, dev); |
416 |
ATH_INIT_TQUEUE(&sc->sc_fataltq, ath_fatal_tasklet, dev); |
417 |
ATH_INIT_SCHED_TASK(&sc->sc_radartask, ath_radar_task, dev); |
417 |
ATH_INIT_WORK(&sc->sc_radartask, ath_radar_task); |
418 |
|
418 |
|
419 |
/* |
419 |
/* |
420 |
* Attach the hal and verify ABI compatibility by checking |
420 |
* Attach the hal and verify ABI compatibility by checking |
Lines 934-940
ath_detach(struct net_device *dev)
Link Here
|
934 |
ath_hal_setpower(sc->sc_ah, HAL_PM_AWAKE); |
934 |
ath_hal_setpower(sc->sc_ah, HAL_PM_AWAKE); |
935 |
/* Flush the radar task if it's scheduled */ |
935 |
/* Flush the radar task if it's scheduled */ |
936 |
if (sc->sc_rtasksched == 1) |
936 |
if (sc->sc_rtasksched == 1) |
937 |
ATH_FLUSH_TASKS(); |
937 |
flush_scheduled_work(); |
938 |
|
938 |
|
939 |
sc->sc_invalid = 1; |
939 |
sc->sc_invalid = 1; |
940 |
|
940 |
|
Lines 1707-1716
ath_intr(int irq, void *dev_id, struct p
Link Here
|
1707 |
} |
1707 |
} |
1708 |
|
1708 |
|
1709 |
static void |
1709 |
static void |
1710 |
ath_radar_task(TQUEUE_ARG data) |
1710 |
ath_radar_task(struct work_struct *thr) |
1711 |
{ |
1711 |
{ |
1712 |
struct net_device *dev = (struct net_device *)data; |
1712 |
struct ath_softc *sc = container_of(thr, struct ath_softc, sc_radartask); |
1713 |
struct ath_softc *sc = dev->priv; |
|
|
1714 |
struct ath_hal *ah = sc->sc_ah; |
1713 |
struct ath_hal *ah = sc->sc_ah; |
1715 |
struct ieee80211com *ic = &sc->sc_ic; |
1714 |
struct ieee80211com *ic = &sc->sc_ic; |
1716 |
struct ieee80211_channel ichan; |
1715 |
struct ieee80211_channel ichan; |
Lines 5634-5640
rx_next:
Link Here
|
5634 |
ath_hal_rxmonitor(ah, &sc->sc_halstats, &sc->sc_curchan); |
5633 |
ath_hal_rxmonitor(ah, &sc->sc_halstats, &sc->sc_curchan); |
5635 |
if (ath_hal_radar_event(ah)) { |
5634 |
if (ath_hal_radar_event(ah)) { |
5636 |
sc->sc_rtasksched = 1; |
5635 |
sc->sc_rtasksched = 1; |
5637 |
ATH_SCHEDULE_TASK(&sc->sc_radartask); |
5636 |
schedule_work(&sc->sc_radartask); |
5638 |
} |
5637 |
} |
5639 |
#undef PA2DESC |
5638 |
#undef PA2DESC |
5640 |
} |
5639 |
} |