Changeset 29273


Ignore:
Timestamp:
2011-11-20T10:29:42+01:00 (5 years ago)
Author:
nbd
Message:

ath9k: merge a pending aggregation fix

Location:
trunk/package/mac80211/patches
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/package/mac80211/patches/300-pending_work.patch

    r29240 r29273  
    347347--- a/drivers/net/wireless/ath/ath9k/xmit.c 
    348348+++ b/drivers/net/wireless/ath/ath9k/xmit.c 
    349 @@ -1955,7 +1955,7 @@ static void ath_tx_complete(struct ath_s 
     349@@ -179,6 +179,11 @@ static void ath_tx_flush_tid(struct ath_ 
     350                spin_lock_bh(&txq->axq_lock); 
     351        } 
     352  
     353+       if (tid->baw_head == tid->baw_tail) { 
     354+               tid->state &= ~AGGR_ADDBA_COMPLETE; 
     355+               tid->state &= ~AGGR_CLEANUP; 
     356+       } 
     357+ 
     358        spin_unlock_bh(&txq->axq_lock); 
     359 } 
     360  
     361@@ -556,15 +561,9 @@ static void ath_tx_complete_aggr(struct  
     362                spin_unlock_bh(&txq->axq_lock); 
     363        } 
     364  
     365-       if (tid->state & AGGR_CLEANUP) { 
     366+       if (tid->state & AGGR_CLEANUP) 
     367                ath_tx_flush_tid(sc, tid); 
     368  
     369-               if (tid->baw_head == tid->baw_tail) { 
     370-                       tid->state &= ~AGGR_ADDBA_COMPLETE; 
     371-                       tid->state &= ~AGGR_CLEANUP; 
     372-               } 
     373-       } 
     374- 
     375        rcu_read_unlock(); 
     376  
     377        if (needreset) { 
     378@@ -1955,7 +1954,7 @@ static void ath_tx_complete(struct ath_s 
    350379                skb_pull(skb, padsize); 
    351380        } 
  • trunk/package/mac80211/patches/540-ath9k_limit_qlen.patch

    r29257 r29273  
    3434--- a/drivers/net/wireless/ath/ath9k/xmit.c 
    3535+++ b/drivers/net/wireless/ath/ath9k/xmit.c 
    36 @@ -350,6 +350,14 @@ static void ath_tx_count_frames(struct a 
     36@@ -355,6 +355,14 @@ static void ath_tx_count_frames(struct a 
    3737        } 
    3838 } 
     
    4949 static void ath_tx_complete_aggr(struct ath_softc *sc, struct ath_txq *txq, 
    5050                                 struct ath_buf *bf, struct list_head *bf_q, 
    51 @@ -438,6 +446,8 @@ static void ath_tx_complete_aggr(struct  
     51@@ -443,6 +451,8 @@ static void ath_tx_complete_aggr(struct  
    5252        __skb_queue_head_init(&bf_pending); 
    5353  
     
    5858                u16 seqno = bf->bf_state.seqno; 
    5959  
    60 @@ -824,6 +834,7 @@ static enum ATH_AGGR_STATUS ath_tx_form_ 
     60@@ -823,6 +833,7 @@ static enum ATH_AGGR_STATUS ath_tx_form_ 
    6161                        ath_tx_addto_baw(sc, tid, seqno); 
    6262                bf->bf_state.ndelim = ndelim; 
     
    6666                list_add_tail(&bf->list, bf_q); 
    6767                if (bf_prev) 
    68 @@ -1683,6 +1694,8 @@ static void ath_tx_send_ampdu(struct ath 
     68@@ -1682,6 +1693,8 @@ static void ath_tx_send_ampdu(struct ath 
    6969        /* Add sub-frame to BAW */ 
    7070        ath_tx_addto_baw(sc, tid, bf->bf_state.seqno); 
     
    7575        TX_STAT_INC(txctl->txq->axq_qnum, a_queued_hw); 
    7676        bf->bf_lastbf = bf; 
    77 @@ -1811,23 +1824,13 @@ error: 
     77@@ -1810,23 +1823,13 @@ error: 
    7878  
    7979 /* FIXME: tx power */ 
     
    101101        if ((tx_info->flags & IEEE80211_TX_CTL_AMPDU) && tid) { 
    102102                /* 
    103 @@ -1862,6 +1865,7 @@ int ath_tx_start(struct ieee80211_hw *hw 
     103@@ -1861,6 +1864,7 @@ int ath_tx_start(struct ieee80211_hw *hw 
    104104        struct ieee80211_vif *vif = info->control.vif; 
    105105        struct ath_softc *sc = hw->priv; 
     
    109109        int frmlen = skb->len + FCS_LEN; 
    110110        int q; 
    111 @@ -1904,6 +1908,24 @@ int ath_tx_start(struct ieee80211_hw *hw 
     111@@ -1903,6 +1907,24 @@ int ath_tx_start(struct ieee80211_hw *hw 
    112112  
    113113        setup_frame_info(hw, skb, frmlen); 
     
    134134         * At this point, the vif, hw_key and sta pointers in the tx control 
    135135         * info are no longer valid (overwritten by the ath_frame_info data. 
    136 @@ -1918,7 +1940,7 @@ int ath_tx_start(struct ieee80211_hw *hw 
     136@@ -1917,7 +1939,7 @@ int ath_tx_start(struct ieee80211_hw *hw 
    137137        } 
    138138        spin_unlock_bh(&txq->axq_lock); 
  • trunk/package/mac80211/patches/541-ath9k_sw_retry_reduce.patch

    r29240 r29273  
    11--- a/drivers/net/wireless/ath/ath9k/xmit.c 
    22+++ b/drivers/net/wireless/ath/ath9k/xmit.c 
    3 @@ -259,14 +259,17 @@ static void ath_tid_drain(struct ath_sof 
     3@@ -264,14 +264,17 @@ static void ath_tid_drain(struct ath_sof 
    44 } 
    55  
     
    2121  
    2222        hdr = (struct ieee80211_hdr *)skb->data; 
    23 @@ -382,6 +385,7 @@ static void ath_tx_complete_aggr(struct  
     23@@ -387,6 +390,7 @@ static void ath_tx_complete_aggr(struct  
    2424        int nframes; 
    2525        u8 tidno; 
     
    2929        skb = bf->bf_mpdu; 
    3030        hdr = (struct ieee80211_hdr *)skb->data; 
    31 @@ -390,6 +394,10 @@ static void ath_tx_complete_aggr(struct  
     31@@ -395,6 +399,10 @@ static void ath_tx_complete_aggr(struct  
    3232  
    3333        memcpy(rates, tx_info->control.rates, sizeof(rates)); 
     
    4040  
    4141        sta = ieee80211_find_sta_by_ifaddr(hw, hdr->addr1, hdr->addr2); 
    42 @@ -476,7 +484,8 @@ static void ath_tx_complete_aggr(struct  
     42@@ -481,7 +489,8 @@ static void ath_tx_complete_aggr(struct  
    4343                                txpending = 1; 
    4444                        } else if (fi->retries < ATH_MAX_SW_RETRIES) { 
Note: See TracChangeset for help on using the changeset viewer.