Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 278219
b: refs/heads/master
c: a1a3fce
h: refs/heads/master
i:
  278217: 9eb2b1d
  278215: 10809c7
v: v3
  • Loading branch information
Johannes Berg authored and John W. Linville committed Nov 21, 2011
1 parent 32345bd commit 03b61fa
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 10 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 252b86c43225d067468dd182e9ae616ad2532bc8
refs/heads/master: a1a3fcec6fcc36482c1c57bde7ed4078313495cd
18 changes: 9 additions & 9 deletions trunk/net/mac80211/tx.c
Original file line number Diff line number Diff line change
Expand Up @@ -847,6 +847,7 @@ static int ieee80211_fragment(struct ieee80211_tx_data *tx,
int frag_threshold)
{
struct ieee80211_local *local = tx->local;
struct ieee80211_tx_info *info;
struct sk_buff *tmp;
int per_fragm = frag_threshold - hdrlen - FCS_LEN;
int pos = hdrlen + per_fragm;
Expand Down Expand Up @@ -876,6 +877,14 @@ static int ieee80211_fragment(struct ieee80211_tx_data *tx,
IEEE80211_ENCRYPT_HEADROOM);
/* copy control information */
memcpy(tmp->cb, skb->cb, sizeof(tmp->cb));

info = IEEE80211_SKB_CB(tmp);
info->flags &= ~(IEEE80211_TX_CTL_CLEAR_PS_FILT |
IEEE80211_TX_CTL_FIRST_FRAGMENT);

if (rem)
info->flags |= IEEE80211_TX_CTL_MORE_FRAMES;

skb_copy_queue_mapping(tmp, skb);
tmp->priority = skb->priority;
tmp->dev = skb->dev;
Expand Down Expand Up @@ -1203,7 +1212,6 @@ static bool __ieee80211_tx(struct ieee80211_local *local,
struct ieee80211_sub_if_data *sdata;
unsigned long flags;
int len;
bool fragm = false;

skb_queue_walk_safe(skbs, skb, tmp) {
int q = skb_get_queue_mapping(skb);
Expand All @@ -1230,15 +1238,8 @@ static bool __ieee80211_tx(struct ieee80211_local *local,

info = IEEE80211_SKB_CB(skb);

if (fragm)
info->flags &= ~(IEEE80211_TX_CTL_CLEAR_PS_FILT |
IEEE80211_TX_CTL_FIRST_FRAGMENT);

len = skb->len;

if (!skb_queue_is_last(skbs, skb))
info->flags |= IEEE80211_TX_CTL_MORE_FRAMES;

sdata = vif_to_sdata(info->control.vif);

switch (sdata->vif.type) {
Expand Down Expand Up @@ -1266,7 +1267,6 @@ static bool __ieee80211_tx(struct ieee80211_local *local,

ieee80211_tpt_led_trig_tx(local, fc, len);
ieee80211_led_tx(local, 1);
fragm = true;
}

WARN_ON(!skb_queue_empty(skbs));
Expand Down

0 comments on commit 03b61fa

Please sign in to comment.