[HIPPI/FDDI]: Make {hippi,fddi}_type_trans set skb->dev
Arnaldo Carvalho de Melo [Sat, 10 Mar 2007 13:57:13 +0000 (10:57 -0300)]
Now all the _type_trans routines are consistent in this regard.

Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

drivers/net/defxx.c
drivers/net/rrunner.c
drivers/net/skfp/skfddi.c
drivers/s390/net/lcs.c
net/802/fddi.c
net/802/hippi.c

index 07d2731..8d29fae 100644 (file)
@@ -3096,8 +3096,6 @@ static void dfx_rcv_queue_process(
 
                                        skb_reserve(skb,3);             /* adjust data field so that it points to FC byte */
                                        skb_put(skb, pkt_len);          /* pass up packet length, NOT including CRC */
-                                       skb->dev = bp->dev;             /* pass up device pointer */
-
                                        skb->protocol = fddi_type_trans(skb, bp->dev);
                                        bp->rcv_total_bytes += skb->len;
                                        netif_rx(skb);
index d81536f..3a4fce3 100644 (file)
@@ -1029,7 +1029,6 @@ static void rx_int(struct net_device *dev, u32 rxlimit, u32 index)
                                        goto defer;
                                }
                        }
-                       skb->dev = dev;
                        skb->protocol = hippi_type_trans(skb, dev);
 
                        netif_rx(skb);          /* send it up */
index 9733a11..064e7c2 100644 (file)
@@ -1680,7 +1680,6 @@ void mac_drv_rx_complete(struct s_smc *smc, volatile struct s_smt_fp_rxd *rxd,
        rxd->rxd_os.skb = NULL;
        skb_trim(skb, len);
        skb->protocol = fddi_type_trans(skb, bp->dev);
-       skb->dev = bp->dev;     /* pass up device pointer */
 
        netif_rx(skb);
        bp->dev->last_rx = jiffies;
index ecca104..1c23e18 100644 (file)
@@ -1784,7 +1784,6 @@ lcs_get_skb(struct lcs_card *card, char *skb_data, unsigned int skb_len)
                card->stats.rx_dropped++;
                return;
        }
-       skb->dev = card->dev;
        memcpy(skb_put(skb, skb_len), skb_data, skb_len);
        skb->protocol = card->lan_type_trans(skb, card->dev);
        card->stats.rx_bytes += skb_len;
index 8c86216..f8a0c9f 100644 (file)
@@ -130,6 +130,7 @@ __be16 fddi_type_trans(struct sk_buff *skb, struct net_device *dev)
         * to start of packet data.  Assume 802.2 SNAP frames for now.
         */
 
+       skb->dev = dev;
        skb->mac.raw = skb->data;       /* point to frame control (FC) */
 
        if(fddi->hdr.llc_8022_1.dsap==0xe0)
index 35dd938..138302c 100644 (file)
@@ -126,14 +126,14 @@ __be16 hippi_type_trans(struct sk_buff *skb, struct net_device *dev)
 {
        struct hippi_hdr *hip;
 
-       hip = (struct hippi_hdr *) skb->data;
-
        /*
         * This is actually wrong ... question is if we really should
         * set the raw address here.
         */
-        skb->mac.raw = skb->data;
-        skb_pull(skb, HIPPI_HLEN);
+       skb->dev = dev;
+       skb->mac.raw = skb->data;
+       hip = (struct hippi_hdr *)skb->mac.raw;
+       skb_pull(skb, HIPPI_HLEN);
 
        /*
         * No fancy promisc stuff here now.