]> bbs.cooldavid.org Git - net-next-2.6.git/blobdiff - drivers/net/wireless/hostap/hostap_80211_rx.c
[SK_BUFF]: unions of just one member don't get anything done, kill them
[net-next-2.6.git] / drivers / net / wireless / hostap / hostap_80211_rx.c
index 7e04dc94b3bc4e9d8eaeb674b6925b8c9fa05abf..35a3a50724fee1c44036fc3d95bfa6281147cdc4 100644 (file)
@@ -167,7 +167,7 @@ hdr->f.status = s; hdr->f.len = l; hdr->f.data = d
 
        ret = skb->len - phdrlen;
        skb->dev = dev;
-       skb->mac.raw = skb->data;
+       skb_reset_mac_header(skb);
        skb_pull(skb, hdrlen);
        if (prism_header)
                skb_pull(skb, phdrlen);
@@ -1073,17 +1073,17 @@ void hostap_80211_rx(struct net_device *dev, struct sk_buff *skb,
 
        if (skb2 != NULL) {
                /* send to wireless media */
-               skb2->protocol = __constant_htons(ETH_P_802_3);
-               skb2->mac.raw = skb2->nh.raw = skb2->data;
-               /* skb2->nh.raw = skb2->data + ETH_HLEN; */
                skb2->dev = dev;
+               skb2->protocol = __constant_htons(ETH_P_802_3);
+               skb_reset_mac_header(skb2);
+               skb_reset_network_header(skb2);
+               /* skb2->network_header += ETH_HLEN; */
                dev_queue_xmit(skb2);
        }
 
        if (skb) {
                skb->protocol = eth_type_trans(skb, dev);
                memset(skb->cb, 0, sizeof(skb->cb));
-               skb->dev = dev;
                netif_rx(skb);
        }