source: trunk/package/mac80211/patches/541-ath9k_sw_retry_reduce.patch @ 29240

Last change on this file since 29240 was 29240, checked in by nbd, 5 years ago

mac80211: update to wireless-testing 2011-11-15

File size: 1.9 KB
  • drivers/net/wireless/ath/ath9k/xmit.c

    a b static void ath_tid_drain(struct ath_sof 
    259259} 
    260260 
    261261static void ath_tx_set_retry(struct ath_softc *sc, struct ath_txq *txq, 
    262                              struct sk_buff *skb) 
     262                             struct sk_buff *skb, int count) 
    263263{ 
    264264        struct ath_frame_info *fi = get_frame_info(skb); 
    265265        struct ath_buf *bf = fi->bf; 
    266266        struct ieee80211_hdr *hdr; 
     267        int prev = fi->retries; 
    267268 
    268269        TX_STAT_INC(txq->axq_qnum, a_retries); 
    269         if (fi->retries++ > 0) 
     270        fi->retries += count; 
     271 
     272        if (prev > 0) 
    270273                return; 
    271274 
    272275        hdr = (struct ieee80211_hdr *)skb->data; 
    static void ath_tx_complete_aggr(struct  
    382385        int nframes; 
    383386        u8 tidno; 
    384387        bool flush = !!(ts->ts_status & ATH9K_TX_FLUSH); 
     388        int i, retries; 
    385389 
    386390        skb = bf->bf_mpdu; 
    387391        hdr = (struct ieee80211_hdr *)skb->data; 
    static void ath_tx_complete_aggr(struct  
    390394 
    391395        memcpy(rates, tx_info->control.rates, sizeof(rates)); 
    392396 
     397        retries = ts->ts_longretry + 1; 
     398        for (i = 0; i < ts->ts_rateindex; i++) 
     399                retries += rates[i].count; 
     400 
    393401        rcu_read_lock(); 
    394402 
    395403        sta = ieee80211_find_sta_by_ifaddr(hw, hdr->addr1, hdr->addr2); 
    static void ath_tx_complete_aggr(struct  
    476484                                txpending = 1; 
    477485                        } else if (fi->retries < ATH_MAX_SW_RETRIES) { 
    478486                                if (txok || !an->sleeping) 
    479                                         ath_tx_set_retry(sc, txq, bf->bf_mpdu); 
     487                                        ath_tx_set_retry(sc, txq, bf->bf_mpdu, 
     488                                                         retries); 
    480489 
    481490                                txpending = 1; 
    482491                        } else { 
  • drivers/net/wireless/ath/ath9k/ath9k.h

    a b struct ath_ant_comb { 
    546546#define DEFAULT_CACHELINE       32 
    547547#define ATH_REGCLASSIDS_MAX     10 
    548548#define ATH_CABQ_READY_TIME     80      /* % of beacon interval */ 
    549 #define ATH_MAX_SW_RETRIES      10 
     549#define ATH_MAX_SW_RETRIES      20 
    550550#define ATH_CHAN_MAX            255 
    551551 
    552552#define ATH_TXPOWER_MAX         100     /* .5 dBm units */ 
Note: See TracBrowser for help on using the repository browser.