diff options
author | Nicolas Pitre <nicolas.pitre@linaro.org> | 2011-02-18 14:46:19 -0500 |
---|---|---|
committer | Nicolas Pitre <nicolas.pitre@linaro.org> | 2011-02-18 14:46:19 -0500 |
commit | c49f87aa34f7fa4850b8838a945475e4062bad61 (patch) | |
tree | e2d8af4d57671aa35798c1ddca503974ba40fff0 /net/mac80211/tx.c | |
parent | a12fc999485eb5d9ecad74554f0baac9688d28e2 (diff) | |
parent | 69ad303ab8321656d6144d13b2444a5595bb6581 (diff) |
Diffstat (limited to 'net/mac80211/tx.c')
-rw-r--r-- | net/mac80211/tx.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c index ab6355dd4ac..9d5af5dd0d9 100644 --- a/net/mac80211/tx.c +++ b/net/mac80211/tx.c @@ -1694,7 +1694,7 @@ netdev_tx_t ieee80211_subif_start_xmit(struct sk_buff *skb, { struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev); struct ieee80211_local *local = sdata->local; - struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb); + struct ieee80211_tx_info *info; int ret = NETDEV_TX_BUSY, head_need; u16 ethertype, hdrlen, meshhdrlen = 0; __le16 fc; @@ -1984,6 +1984,7 @@ netdev_tx_t ieee80211_subif_start_xmit(struct sk_buff *skb, skb_set_network_header(skb, nh_pos); skb_set_transport_header(skb, h_pos); + info = IEEE80211_SKB_CB(skb); memset(info, 0, sizeof(*info)); dev->trans_start = jiffies; @@ -2175,6 +2176,9 @@ struct sk_buff *ieee80211_beacon_get_tim(struct ieee80211_hw *hw, sdata = vif_to_sdata(vif); + if (!ieee80211_sdata_running(sdata)) + goto out; + if (tim_offset) *tim_offset = 0; if (tim_length) |