[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>
This commit is contained in:
Divy Le Ray 2007-11-15 15:06:32 -08:00 committed by David S. Miller
parent 6452a5fde0
commit 7de6af0f23

View File

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