diff options
Diffstat (limited to 'net/mac80211/tx.c')
-rw-r--r-- | net/mac80211/tx.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c index 464106c023d8..925c39f4099e 100644 --- a/net/mac80211/tx.c +++ b/net/mac80211/tx.c | |||
@@ -1478,7 +1478,10 @@ static int ieee80211_skb_resize(struct ieee80211_sub_if_data *sdata, | |||
1478 | tail_need = max_t(int, tail_need, 0); | 1478 | tail_need = max_t(int, tail_need, 0); |
1479 | } | 1479 | } |
1480 | 1480 | ||
1481 | if (skb_cloned(skb)) | 1481 | if (skb_cloned(skb) && |
1482 | (!(local->hw.flags & IEEE80211_HW_SUPPORTS_CLONED_SKBS) || | ||
1483 | !skb_clone_writable(skb, ETH_HLEN) || | ||
1484 | sdata->crypto_tx_tailroom_needed_cnt)) | ||
1482 | I802_DEBUG_INC(local->tx_expand_skb_head_cloned); | 1485 | I802_DEBUG_INC(local->tx_expand_skb_head_cloned); |
1483 | else if (head_need || tail_need) | 1486 | else if (head_need || tail_need) |
1484 | I802_DEBUG_INC(local->tx_expand_skb_head); | 1487 | I802_DEBUG_INC(local->tx_expand_skb_head); |
@@ -1844,7 +1847,7 @@ netdev_tx_t ieee80211_subif_start_xmit(struct sk_buff *skb, | |||
1844 | memcpy(hdr.addr4, skb->data + ETH_ALEN, ETH_ALEN); | 1847 | memcpy(hdr.addr4, skb->data + ETH_ALEN, ETH_ALEN); |
1845 | hdrlen = 30; | 1848 | hdrlen = 30; |
1846 | authorized = test_sta_flag(sta, WLAN_STA_AUTHORIZED); | 1849 | authorized = test_sta_flag(sta, WLAN_STA_AUTHORIZED); |
1847 | wme_sta = test_sta_flag(sta, WLAN_STA_WME); | 1850 | wme_sta = sta->sta.wme; |
1848 | } | 1851 | } |
1849 | ap_sdata = container_of(sdata->bss, struct ieee80211_sub_if_data, | 1852 | ap_sdata = container_of(sdata->bss, struct ieee80211_sub_if_data, |
1850 | u.ap); | 1853 | u.ap); |
@@ -1957,7 +1960,7 @@ netdev_tx_t ieee80211_subif_start_xmit(struct sk_buff *skb, | |||
1957 | if (sta) { | 1960 | if (sta) { |
1958 | authorized = test_sta_flag(sta, | 1961 | authorized = test_sta_flag(sta, |
1959 | WLAN_STA_AUTHORIZED); | 1962 | WLAN_STA_AUTHORIZED); |
1960 | wme_sta = test_sta_flag(sta, WLAN_STA_WME); | 1963 | wme_sta = sta->sta.wme; |
1961 | tdls_peer = test_sta_flag(sta, | 1964 | tdls_peer = test_sta_flag(sta, |
1962 | WLAN_STA_TDLS_PEER); | 1965 | WLAN_STA_TDLS_PEER); |
1963 | tdls_auth = test_sta_flag(sta, | 1966 | tdls_auth = test_sta_flag(sta, |
@@ -2035,7 +2038,7 @@ netdev_tx_t ieee80211_subif_start_xmit(struct sk_buff *skb, | |||
2035 | sta = sta_info_get(sdata, hdr.addr1); | 2038 | sta = sta_info_get(sdata, hdr.addr1); |
2036 | if (sta) { | 2039 | if (sta) { |
2037 | authorized = test_sta_flag(sta, WLAN_STA_AUTHORIZED); | 2040 | authorized = test_sta_flag(sta, WLAN_STA_AUTHORIZED); |
2038 | wme_sta = test_sta_flag(sta, WLAN_STA_WME); | 2041 | wme_sta = sta->sta.wme; |
2039 | } | 2042 | } |
2040 | } | 2043 | } |
2041 | 2044 | ||