source: branches/backfire/package/mac80211/patches/520-mac80211_minstrel_ht_aggr_delay.patch @ 26763

Last change on this file since 26763 was 26763, checked in by nbd, 6 years ago

mac80211: update to the latest version from trunk

File size: 1.6 KB
  • net/mac80211/rc80211_minstrel_ht.c

    a b minstrel_downgrade_rate(struct minstrel_ 
    355355} 
    356356 
    357357static void 
    358 minstrel_aggr_check(struct minstrel_priv *mp, struct ieee80211_sta *pubsta, struct sk_buff *skb) 
     358minstrel_aggr_check(struct minstrel_priv *mp, struct minstrel_ht_sta *mi, 
     359                    struct ieee80211_sta *pubsta, struct sk_buff *skb) 
    359360{ 
    360361        struct ieee80211_hdr *hdr = (struct ieee80211_hdr *) skb->data; 
    361362        struct sta_info *sta = container_of(pubsta, struct sta_info, sta); 
     363        unsigned long t1, t2; 
    362364        u16 tid; 
    363365 
    364366        if (unlikely(!ieee80211_is_data_qos(hdr->frame_control))) 
    minstrel_aggr_check(struct minstrel_priv 
    374376        if (skb_get_queue_mapping(skb) == IEEE80211_AC_VO) 
    375377                return; 
    376378 
     379        t1 = mi->last_aggr_start_time[tid]; 
     380        t2 = t1 + msecs_to_jiffies(5000); 
     381        if (unlikely(time_in_range(jiffies, t1, t2))) 
     382                return; 
     383 
     384        mi->last_aggr_start_time[tid] = jiffies; 
    377385        ieee80211_start_tx_ba_session(pubsta, tid, 5000); 
    378386} 
    379387 
    minstrel_ht_tx_status(void *priv, struct 
    452460 
    453461        if (time_after(jiffies, mi->stats_update + (mp->update_interval / 2 * HZ) / 1000)) { 
    454462                minstrel_ht_update_stats(mp, mi); 
    455                 minstrel_aggr_check(mp, sta, skb); 
     463                minstrel_aggr_check(mp, mi, sta, skb); 
    456464        } 
    457465} 
    458466 
  • net/mac80211/rc80211_minstrel_ht.h

    a b struct minstrel_ht_sta { 
    109109 
    110110        /* MCS rate group info and statistics */ 
    111111        struct minstrel_mcs_group_data groups[MINSTREL_MAX_STREAMS * MINSTREL_STREAM_GROUPS]; 
     112 
     113        unsigned long last_aggr_start_time[IEEE80211_QOS_CTL_TID_MASK + 1]; 
    112114}; 
    113115 
    114116struct minstrel_ht_sta_priv { 
Note: See TracBrowser for help on using the repository browser.