summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDivy Le Ray <divy@chelsio.com>2007-12-18 15:11:52 -0800
committerGreg Kroah-Hartman <gregkh@suse.de>2008-02-06 11:43:45 -0800
commita41bfaeb83a36a26e357c1e516a26e283d177cfa (patch)
tree80aa8220a6e36fe259a8509e3626cf4e858079a3
parent7a2aba52ddb734f451bf6ea42b5a355a53c313c3 (diff)
chelsio: Fix skb->dev setting
patch 7de6af0f23b25df8da9719ecae1916b669d0b03d in mainline. 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> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r--drivers/net/chelsio/sge.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/chelsio/sge.c b/drivers/net/chelsio/sge.c
index bf79732c2ebe..d77f1ebec5e3 100644
--- a/drivers/net/chelsio/sge.c
+++ b/drivers/net/chelsio/sge.c
@@ -1378,10 +1378,10 @@ 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());
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)) {