diff options
author | Felix Fietkau <nbd@openwrt.org> | 2011-09-02 19:40:25 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2011-09-14 13:56:20 -0400 |
commit | 236de5149b9cbec3e76aef00a4663a8de7feeebe (patch) | |
tree | 3086a9d4b4bcd0e5a5ccfba94b02545e765f56bc /drivers/net/wireless/ath/ath9k/ath9k.h | |
parent | e8cfe9f8c488f5b345ab557148c7af57af4fbe25 (diff) |
ath9k: always call ath_reset from workqueue context
This makes it much easier to add further rework to avoid race conditions
between reset and other work items.
Move other functions to make ath_reset static.
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/ath/ath9k/ath9k.h')
-rw-r--r-- | drivers/net/wireless/ath/ath9k/ath9k.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/wireless/ath/ath9k/ath9k.h b/drivers/net/wireless/ath/ath9k/ath9k.h index 5d9a9aabe476..b2992d4097c3 100644 --- a/drivers/net/wireless/ath/ath9k/ath9k.h +++ b/drivers/net/wireless/ath/ath9k/ath9k.h | |||
@@ -425,6 +425,7 @@ void ath9k_set_beaconing_status(struct ath_softc *sc, bool status); | |||
425 | 425 | ||
426 | #define ATH_PAPRD_TIMEOUT 100 /* msecs */ | 426 | #define ATH_PAPRD_TIMEOUT 100 /* msecs */ |
427 | 427 | ||
428 | void ath_reset_work(struct work_struct *work); | ||
428 | void ath_hw_check(struct work_struct *work); | 429 | void ath_hw_check(struct work_struct *work); |
429 | void ath_hw_pll_work(struct work_struct *work); | 430 | void ath_hw_pll_work(struct work_struct *work); |
430 | void ath_paprd_calibrate(struct work_struct *work); | 431 | void ath_paprd_calibrate(struct work_struct *work); |
@@ -604,6 +605,7 @@ struct ath_softc { | |||
604 | struct mutex mutex; | 605 | struct mutex mutex; |
605 | struct work_struct paprd_work; | 606 | struct work_struct paprd_work; |
606 | struct work_struct hw_check_work; | 607 | struct work_struct hw_check_work; |
608 | struct work_struct hw_reset_work; | ||
607 | struct completion paprd_complete; | 609 | struct completion paprd_complete; |
608 | 610 | ||
609 | unsigned int hw_busy_count; | 611 | unsigned int hw_busy_count; |
@@ -650,7 +652,6 @@ struct ath_softc { | |||
650 | }; | 652 | }; |
651 | 653 | ||
652 | void ath9k_tasklet(unsigned long data); | 654 | void ath9k_tasklet(unsigned long data); |
653 | int ath_reset(struct ath_softc *sc, bool retry_tx); | ||
654 | int ath_cabq_update(struct ath_softc *); | 655 | int ath_cabq_update(struct ath_softc *); |
655 | 656 | ||
656 | static inline void ath_read_cachesize(struct ath_common *common, int *csz) | 657 | static inline void ath_read_cachesize(struct ath_common *common, int *csz) |