.. | .. |
---|
203 | 203 | void ath_restart_work(struct ath_softc *sc) |
---|
204 | 204 | { |
---|
205 | 205 | ieee80211_queue_delayed_work(sc->hw, &sc->hw_check_work, |
---|
206 | | - ATH_HW_CHECK_POLL_INT); |
---|
| 206 | + msecs_to_jiffies(ATH_HW_CHECK_POLL_INT)); |
---|
207 | 207 | |
---|
208 | 208 | if (AR_SREV_9340(sc->sc_ah) || AR_SREV_9330(sc->sc_ah)) |
---|
209 | 209 | ieee80211_queue_delayed_work(sc->hw, &sc->hw_pll_work, |
---|
.. | .. |
---|
850 | 850 | static bool ath9k_txq_has_key(struct ath_softc *sc, u32 keyix) |
---|
851 | 851 | { |
---|
852 | 852 | struct ath_hw *ah = sc->sc_ah; |
---|
853 | | - int i; |
---|
| 853 | + int i, j; |
---|
854 | 854 | struct ath_txq *txq; |
---|
855 | 855 | bool key_in_use = false; |
---|
856 | 856 | |
---|
.. | .. |
---|
868 | 868 | if (sc->sc_ah->caps.hw_caps & ATH9K_HW_CAP_EDMA) { |
---|
869 | 869 | int idx = txq->txq_tailidx; |
---|
870 | 870 | |
---|
871 | | - while (!key_in_use && |
---|
872 | | - !list_empty(&txq->txq_fifo[idx])) { |
---|
| 871 | + for (j = 0; !key_in_use && |
---|
| 872 | + !list_empty(&txq->txq_fifo[idx]) && |
---|
| 873 | + j < ATH_TXFIFO_DEPTH; j++) { |
---|
873 | 874 | key_in_use = ath9k_txq_list_has_key( |
---|
874 | 875 | &txq->txq_fifo[idx], keyix); |
---|
875 | 876 | INCR(idx, ATH_TXFIFO_DEPTH); |
---|
.. | .. |
---|
2243 | 2244 | } |
---|
2244 | 2245 | |
---|
2245 | 2246 | ieee80211_queue_delayed_work(hw, &sc->hw_check_work, |
---|
2246 | | - ATH_HW_CHECK_POLL_INT); |
---|
| 2247 | + msecs_to_jiffies(ATH_HW_CHECK_POLL_INT)); |
---|
2247 | 2248 | } |
---|
2248 | 2249 | |
---|
2249 | 2250 | static bool ath9k_tx_frames_pending(struct ieee80211_hw *hw) |
---|