]> err.no Git - linux-2.6/commitdiff
[CHELSIO]: Fix skb->dev setting.
authorDivy Le Ray <divy@chelsio.com>
Thu, 15 Nov 2007 23:06:32 +0000 (15:06 -0800)
committerDavid S. Miller <davem@davemloft.net>
Thu, 15 Nov 2007 23:06:32 +0000 (15:06 -0800)
eth_type_trans() now sets skb->dev.  Access skb->def after it gets
set.

Signed-off-by: Divy Le Ray <divy@chelsio.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/chelsio/sge.c

index ffa7e649a6ef37514333cd225ab07c6e1fe61d12..443666292a5ce44ea9ce21c0a15a8de6adfdc511 100644 (file)
@@ -1379,11 +1379,11 @@ static void sge_rx(struct sge *sge, struct freelQ *fl, unsigned int len)
        }
        __skb_pull(skb, sizeof(*p));
 
-       skb->dev->last_rx = jiffies;
        st = per_cpu_ptr(sge->port_stats[p->iff], smp_processor_id());
        st->rx_packets++;
 
        skb->protocol = eth_type_trans(skb, adapter->port[p->iff].dev);
+       skb->dev->last_rx = jiffies;
        if ((adapter->flags & RX_CSUM_ENABLED) && p->csum == 0xffff &&
            skb->protocol == htons(ETH_P_IP) &&
            (skb->data[9] == IPPROTO_TCP || skb->data[9] == IPPROTO_UDP)) {