Commit 82259b77 authored by Felix Fietkau's avatar Felix Fietkau Committed by John W. Linville

ath9k: remove bfs_paprd_timestamp from struct ath_buf_state

Signed-off-by: default avatarFelix Fietkau <nbd@openwrt.org>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 952cd693
...@@ -221,7 +221,6 @@ struct ath_buf_state { ...@@ -221,7 +221,6 @@ struct ath_buf_state {
int bfs_retries; int bfs_retries;
u8 bf_type; u8 bf_type;
u8 bfs_paprd; u8 bfs_paprd;
unsigned long bfs_paprd_timestamp;
u32 bfs_keyix; u32 bfs_keyix;
enum ath9k_internal_frame_type bfs_ftype; enum ath9k_internal_frame_type bfs_ftype;
}; };
...@@ -598,6 +597,7 @@ struct ath_softc { ...@@ -598,6 +597,7 @@ struct ath_softc {
struct work_struct paprd_work; struct work_struct paprd_work;
struct work_struct hw_check_work; struct work_struct hw_check_work;
struct completion paprd_complete; struct completion paprd_complete;
bool paprd_pending;
u32 intrstatus; u32 intrstatus;
u32 sc_flags; /* SC_OP_* */ u32 sc_flags; /* SC_OP_* */
......
...@@ -375,6 +375,7 @@ void ath_paprd_calibrate(struct work_struct *work) ...@@ -375,6 +375,7 @@ void ath_paprd_calibrate(struct work_struct *work)
} }
init_completion(&sc->paprd_complete); init_completion(&sc->paprd_complete);
sc->paprd_pending = true;
ar9003_paprd_setup_gain_table(ah, chain); ar9003_paprd_setup_gain_table(ah, chain);
txctl.paprd = BIT(chain); txctl.paprd = BIT(chain);
if (ath_tx_start(hw, skb, &txctl) != 0) if (ath_tx_start(hw, skb, &txctl) != 0)
...@@ -382,6 +383,7 @@ void ath_paprd_calibrate(struct work_struct *work) ...@@ -382,6 +383,7 @@ void ath_paprd_calibrate(struct work_struct *work)
time_left = wait_for_completion_timeout(&sc->paprd_complete, time_left = wait_for_completion_timeout(&sc->paprd_complete,
msecs_to_jiffies(ATH_PAPRD_TIMEOUT)); msecs_to_jiffies(ATH_PAPRD_TIMEOUT));
sc->paprd_pending = false;
if (!time_left) { if (!time_left) {
ath_print(ath9k_hw_common(ah), ATH_DBG_CALIBRATE, ath_print(ath9k_hw_common(ah), ATH_DBG_CALIBRATE,
"Timeout waiting for paprd training on " "Timeout waiting for paprd training on "
......
...@@ -1698,9 +1698,6 @@ static void ath_tx_start_dma(struct ath_softc *sc, struct ath_buf *bf, ...@@ -1698,9 +1698,6 @@ static void ath_tx_start_dma(struct ath_softc *sc, struct ath_buf *bf,
if (bf->bf_state.bfs_paprd) if (bf->bf_state.bfs_paprd)
ar9003_hw_set_paprd_txdesc(ah, ds, bf->bf_state.bfs_paprd); ar9003_hw_set_paprd_txdesc(ah, ds, bf->bf_state.bfs_paprd);
if (txctl->paprd)
bf->bf_state.bfs_paprd_timestamp = jiffies;
ath_tx_send_normal(sc, txctl->txq, NULL, &bf_head); ath_tx_send_normal(sc, txctl->txq, NULL, &bf_head);
} }
...@@ -1874,9 +1871,7 @@ static void ath_tx_complete_buf(struct ath_softc *sc, struct ath_buf *bf, ...@@ -1874,9 +1871,7 @@ static void ath_tx_complete_buf(struct ath_softc *sc, struct ath_buf *bf,
bf->bf_buf_addr = 0; bf->bf_buf_addr = 0;
if (bf->bf_state.bfs_paprd) { if (bf->bf_state.bfs_paprd) {
if (time_after(jiffies, if (!sc->paprd_pending)
bf->bf_state.bfs_paprd_timestamp +
msecs_to_jiffies(ATH_PAPRD_TIMEOUT)))
dev_kfree_skb_any(skb); dev_kfree_skb_any(skb);
else else
complete(&sc->paprd_complete); complete(&sc->paprd_complete);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment