diff options
Diffstat (limited to 'package/madwifi/patches/343-txqueue_races.patch')
-rw-r--r-- | package/madwifi/patches/343-txqueue_races.patch | 34 |
1 files changed, 0 insertions, 34 deletions
diff --git a/package/madwifi/patches/343-txqueue_races.patch b/package/madwifi/patches/343-txqueue_races.patch deleted file mode 100644 index a2b14d69a8..0000000000 --- a/package/madwifi/patches/343-txqueue_races.patch +++ /dev/null @@ -1,34 +0,0 @@ -Merged from madwifi trunk r3551, r3552 - ---- a/ath/if_ath.c -+++ b/ath/if_ath.c -@@ -8253,6 +8253,17 @@ ath_tx_processq(struct ath_softc *sc, st - goto bf_fail; - } - -+ /* We make sure we don't remove the TX descriptor on -+ * which the HW is pointing since it contains the -+ * ds_link field, except if this is the last TX -+ * descriptor in the queue */ -+ -+ if ((txq->axq_depth > 1) && -+ (bf->bf_daddr == ath_hal_gettxbuf(ah, txq->axq_qnum))) { -+ ATH_TXQ_UNLOCK_IRQ_EARLY(txq); -+ goto bf_fail; -+ } -+ - ATH_TXQ_REMOVE_HEAD(txq, bf_list); - ATH_TXQ_UNLOCK_IRQ(txq); - ---- a/ath/if_athvar.h -+++ b/ath/if_athvar.h -@@ -586,7 +586,8 @@ struct ath_vap { - } while (0) - #define ATH_TXQ_REMOVE_HEAD(_tq, _field) do { \ - STAILQ_REMOVE_HEAD(&(_tq)->axq_q, _field); \ -- (_tq)->axq_depth--; \ -+ if (--(_tq)->axq_depth <= 0) \ -+ (_tq)->axq_link = NULL; \ - } while (0) - /* move buffers from MCASTQ to CABQ */ - #define ATH_TXQ_MOVE_MCASTQ(_tqs,_tqd) do { \ |