diff options
author | Divy Le Ray <divy@chelsio.com> | 2007-11-15 18:06:32 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2007-11-15 18:06:32 -0500 |
commit | 7de6af0f23b25df8da9719ecae1916b669d0b03d (patch) | |
tree | 6e8574a662e39373c85f8fb22532ce38239dcad1 /drivers/net/chelsio/sge.c | |
parent | 6452a5fde03717c55dbb8b6b0b5bfab510ad38d5 (diff) |
[CHELSIO]: Fix skb->dev setting.
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>
Diffstat (limited to 'drivers/net/chelsio/sge.c')
-rw-r--r-- | drivers/net/chelsio/sge.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/chelsio/sge.c b/drivers/net/chelsio/sge.c index ffa7e649a6ef..443666292a5c 100644 --- a/drivers/net/chelsio/sge.c +++ b/drivers/net/chelsio/sge.c | |||
@@ -1379,11 +1379,11 @@ static void sge_rx(struct sge *sge, struct freelQ *fl, unsigned int len) | |||
1379 | } | 1379 | } |
1380 | __skb_pull(skb, sizeof(*p)); | 1380 | __skb_pull(skb, sizeof(*p)); |
1381 | 1381 | ||
1382 | skb->dev->last_rx = jiffies; | ||
1383 | st = per_cpu_ptr(sge->port_stats[p->iff], smp_processor_id()); | 1382 | st = per_cpu_ptr(sge->port_stats[p->iff], smp_processor_id()); |
1384 | st->rx_packets++; | 1383 | st->rx_packets++; |
1385 | 1384 | ||
1386 | skb->protocol = eth_type_trans(skb, adapter->port[p->iff].dev); | 1385 | skb->protocol = eth_type_trans(skb, adapter->port[p->iff].dev); |
1386 | skb->dev->last_rx = jiffies; | ||
1387 | if ((adapter->flags & RX_CSUM_ENABLED) && p->csum == 0xffff && | 1387 | if ((adapter->flags & RX_CSUM_ENABLED) && p->csum == 0xffff && |
1388 | skb->protocol == htons(ETH_P_IP) && | 1388 | skb->protocol == htons(ETH_P_IP) && |
1389 | (skb->data[9] == IPPROTO_TCP || skb->data[9] == IPPROTO_UDP)) { | 1389 | (skb->data[9] == IPPROTO_TCP || skb->data[9] == IPPROTO_UDP)) { |