ath9k: fix regression in multicast buffering fix
authorFelix Fietkau <nbd@nbd.name>
Tue, 25 Jul 2017 17:47:48 +0000 (19:47 +0200)
committerFelix Fietkau <nbd@nbd.name>
Tue, 25 Jul 2017 17:48:18 +0000 (19:48 +0200)
Update the more data flag on the last frame, but tx from the first frame
on.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
package/kernel/mac80211/patches/331-ath9k-fix-more-data-flag-for-buffered-multicast-pack.patch

index d09c82c..1e0761e 100644 (file)
@@ -19,7 +19,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        struct ath_buf *bf_tail = NULL;
        struct ath_buf *bf;
        LIST_HEAD(bf_q);
-@@ -2495,14 +2494,8 @@ void ath_tx_cabq(struct ieee80211_hw *hw
+@@ -2495,15 +2494,10 @@ void ath_tx_cabq(struct ieee80211_hw *hw
        if (list_empty(&bf_q))
                return;
  
@@ -34,5 +34,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 +      bf = list_last_entry(&bf_q, struct ath_buf, list);
 +      ath9k_set_moredata(sc, bf, false);
  
++      bf = list_first_entry(&bf_q, struct ath_buf, list);
        ath_txq_lock(sc, txctl.txq);
        ath_tx_fill_desc(sc, bf, txctl.txq, 0);
+       ath_tx_txqaddbuf(sc, txctl.txq, &bf_q, false);