diff options
Diffstat (limited to 'net/mac80211/tx.c')
-rw-r--r-- | net/mac80211/tx.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c index 6d59e21cdb9f..2f0e176e7989 100644 --- a/net/mac80211/tx.c +++ b/net/mac80211/tx.c | |||
@@ -2549,7 +2549,8 @@ struct sk_buff *ieee80211_beacon_get_tim(struct ieee80211_hw *hw, | |||
2549 | */ | 2549 | */ |
2550 | skb = dev_alloc_skb(local->tx_headroom + | 2550 | skb = dev_alloc_skb(local->tx_headroom + |
2551 | beacon->head_len + | 2551 | beacon->head_len + |
2552 | beacon->tail_len + 256); | 2552 | beacon->tail_len + 256 + |
2553 | local->hw.extra_beacon_tailroom); | ||
2553 | if (!skb) | 2554 | if (!skb) |
2554 | goto out; | 2555 | goto out; |
2555 | 2556 | ||
@@ -2581,7 +2582,8 @@ struct sk_buff *ieee80211_beacon_get_tim(struct ieee80211_hw *hw, | |||
2581 | ieee80211_update_csa(sdata, presp); | 2582 | ieee80211_update_csa(sdata, presp); |
2582 | 2583 | ||
2583 | 2584 | ||
2584 | skb = dev_alloc_skb(local->tx_headroom + presp->head_len); | 2585 | skb = dev_alloc_skb(local->tx_headroom + presp->head_len + |
2586 | local->hw.extra_beacon_tailroom); | ||
2585 | if (!skb) | 2587 | if (!skb) |
2586 | goto out; | 2588 | goto out; |
2587 | skb_reserve(skb, local->tx_headroom); | 2589 | skb_reserve(skb, local->tx_headroom); |
@@ -2602,13 +2604,13 @@ struct sk_buff *ieee80211_beacon_get_tim(struct ieee80211_hw *hw, | |||
2602 | ieee80211_update_csa(sdata, bcn); | 2604 | ieee80211_update_csa(sdata, bcn); |
2603 | 2605 | ||
2604 | if (ifmsh->sync_ops) | 2606 | if (ifmsh->sync_ops) |
2605 | ifmsh->sync_ops->adjust_tbtt( | 2607 | ifmsh->sync_ops->adjust_tbtt(sdata, bcn); |
2606 | sdata); | ||
2607 | 2608 | ||
2608 | skb = dev_alloc_skb(local->tx_headroom + | 2609 | skb = dev_alloc_skb(local->tx_headroom + |
2609 | bcn->head_len + | 2610 | bcn->head_len + |
2610 | 256 + /* TIM IE */ | 2611 | 256 + /* TIM IE */ |
2611 | bcn->tail_len); | 2612 | bcn->tail_len + |
2613 | local->hw.extra_beacon_tailroom); | ||
2612 | if (!skb) | 2614 | if (!skb) |
2613 | goto out; | 2615 | goto out; |
2614 | skb_reserve(skb, local->tx_headroom); | 2616 | skb_reserve(skb, local->tx_headroom); |