aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211/tx.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/mac80211/tx.c')
-rw-r--r--net/mac80211/tx.c12
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);