aboutsummaryrefslogtreecommitdiffstats
path: root/net/ieee80211/ieee80211_rx.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/ieee80211/ieee80211_rx.c')
-rw-r--r--net/ieee80211/ieee80211_rx.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/net/ieee80211/ieee80211_rx.c b/net/ieee80211/ieee80211_rx.c
index d5f5c6616689..f39bf7c41012 100644
--- a/net/ieee80211/ieee80211_rx.c
+++ b/net/ieee80211/ieee80211_rx.c
@@ -42,7 +42,7 @@ static void ieee80211_monitor_rx(struct ieee80211_device *ieee,
42 u16 fc = le16_to_cpu(hdr->frame_ctl); 42 u16 fc = le16_to_cpu(hdr->frame_ctl);
43 43
44 skb->dev = ieee->dev; 44 skb->dev = ieee->dev;
45 skb->mac.raw = skb->data; 45 skb_reset_mac_header(skb);
46 skb_pull(skb, ieee80211_get_hdrlen(fc)); 46 skb_pull(skb, ieee80211_get_hdrlen(fc));
47 skb->pkt_type = PACKET_OTHERHOST; 47 skb->pkt_type = PACKET_OTHERHOST;
48 skb->protocol = __constant_htons(ETH_P_80211_RAW); 48 skb->protocol = __constant_htons(ETH_P_80211_RAW);
@@ -789,10 +789,11 @@ int ieee80211_rx(struct ieee80211_device *ieee, struct sk_buff *skb,
789 789
790 if (skb2 != NULL) { 790 if (skb2 != NULL) {
791 /* send to wireless media */ 791 /* send to wireless media */
792 skb2->dev = dev;
792 skb2->protocol = __constant_htons(ETH_P_802_3); 793 skb2->protocol = __constant_htons(ETH_P_802_3);
793 skb2->mac.raw = skb2->nh.raw = skb2->data; 794 skb_reset_mac_header(skb2);
795 skb2->nh.raw = skb2->data;
794 /* skb2->nh.raw = skb2->data + ETH_HLEN; */ 796 /* skb2->nh.raw = skb2->data + ETH_HLEN; */
795 skb2->dev = dev;
796 dev_queue_xmit(skb2); 797 dev_queue_xmit(skb2);
797 } 798 }
798#endif 799#endif