diff options
-rw-r--r-- | drivers/net/wireless/mac80211_hwsim.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/net/wireless/mac80211_hwsim.c b/drivers/net/wireless/mac80211_hwsim.c index b1e4baec29f4..1b59edc916c0 100644 --- a/drivers/net/wireless/mac80211_hwsim.c +++ b/drivers/net/wireless/mac80211_hwsim.c | |||
@@ -15,6 +15,8 @@ | |||
15 | 15 | ||
16 | #include <linux/list.h> | 16 | #include <linux/list.h> |
17 | #include <linux/spinlock.h> | 17 | #include <linux/spinlock.h> |
18 | #include <net/dst.h> | ||
19 | #include <net/xfrm.h> | ||
18 | #include <net/mac80211.h> | 20 | #include <net/mac80211.h> |
19 | #include <net/ieee80211_radiotap.h> | 21 | #include <net/ieee80211_radiotap.h> |
20 | #include <linux/if_arp.h> | 22 | #include <linux/if_arp.h> |
@@ -409,6 +411,14 @@ static bool mac80211_hwsim_tx_frame(struct ieee80211_hw *hw, | |||
409 | if (data->ps != PS_DISABLED) | 411 | if (data->ps != PS_DISABLED) |
410 | hdr->frame_control |= cpu_to_le16(IEEE80211_FCTL_PM); | 412 | hdr->frame_control |= cpu_to_le16(IEEE80211_FCTL_PM); |
411 | 413 | ||
414 | /* release the skb's source info */ | ||
415 | skb_orphan(skb); | ||
416 | dst_release(skb->dst); | ||
417 | skb->dst = NULL; | ||
418 | skb->mark = 0; | ||
419 | secpath_reset(skb); | ||
420 | nf_reset(skb); | ||
421 | |||
412 | /* Copy skb to all enabled radios that are on the current frequency */ | 422 | /* Copy skb to all enabled radios that are on the current frequency */ |
413 | spin_lock(&hwsim_radio_lock); | 423 | spin_lock(&hwsim_radio_lock); |
414 | list_for_each_entry(data2, &hwsim_radios, list) { | 424 | list_for_each_entry(data2, &hwsim_radios, list) { |