Changeset 30870


Ignore:
Timestamp:
2012-03-10T14:31:31+01:00 (6 years ago)
Author:
nbd
Message:

mac80211: limit TID buffering to prevent out-of-memory issues on low-memory systems

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

Legend:

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

    r30869 r30870  
    616616                printk(KERN_DEBUG "STA %pM aid %d: PS buffer for AC %d\n", 
    617617                       sta->sta.addr, sta->sta.aid, ac); 
     618@@ -1060,6 +1065,7 @@ static bool ieee80211_tx_prep_agg(struct 
     619 { 
     620        bool queued = false; 
     621        bool reset_agg_timer = false; 
     622+       struct sk_buff *purge_skb = NULL; 
     623  
     624        if (test_bit(HT_AGG_STATE_OPERATIONAL, &tid_tx->state)) { 
     625                info->flags |= IEEE80211_TX_CTL_AMPDU; 
     626@@ -1101,8 +1107,13 @@ static bool ieee80211_tx_prep_agg(struct 
     627                        info->control.vif = &tx->sdata->vif; 
     628                        info->flags |= IEEE80211_TX_INTFL_NEED_TXPROCESSING; 
     629                        __skb_queue_tail(&tid_tx->pending, skb); 
     630+                       if (skb_queue_len(&tid_tx->pending) > STA_MAX_TX_BUFFER) 
     631+                               purge_skb = __skb_dequeue(&tid_tx->pending); 
     632                } 
     633                spin_unlock(&tx->sta->lock); 
     634+ 
     635+               if (purge_skb) 
     636+                       dev_kfree_skb(purge_skb); 
     637        } 
     638  
     639        /* reset session timer */ 
    618640--- a/net/mac80211/ieee80211_i.h 
    619641+++ b/net/mac80211/ieee80211_i.h 
  • trunk/package/mac80211/patches/563-mac80211_optimize_mcs_rate_mask.patch

    r30866 r30870  
    6969                    tx->sdata->vif.type == NL80211_IFTYPE_MESH_POINT || 
    7070                    tx->sdata->vif.type == NL80211_IFTYPE_ADHOC); 
    71 @@ -2455,8 +2457,6 @@ struct sk_buff *ieee80211_beacon_get_tim 
     71@@ -2461,8 +2463,6 @@ struct sk_buff *ieee80211_beacon_get_tim 
    7272                txrc.max_rate_idx = -1; 
    7373        else 
Note: See TracChangeset for help on using the changeset viewer.