diff options
author | Divy Le Ray <divy@chelsio.com> | 2007-05-30 13:01:29 -0400 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2007-06-20 19:16:58 -0400 |
commit | e360b5628f1d040c0e96dd9ee011196645e08aef (patch) | |
tree | 100b2af056bd113be5223e4d4202ab11f2525513 | |
parent | d41f2d17f863fcd9496748135967e71551d5873d (diff) |
cxgb3 - fix skb->dev dereference
eth_type_trans() now sets skb->dev.
References to skb->dev should happen after it is called.
Signed-off-by: Divy Le Ray <divy@chelsio.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
-rw-r--r-- | drivers/net/cxgb3/sge.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/cxgb3/sge.c b/drivers/net/cxgb3/sge.c index 3666586a4831..eaa7dace4182 100644 --- a/drivers/net/cxgb3/sge.c +++ b/drivers/net/cxgb3/sge.c | |||
@@ -1690,8 +1690,8 @@ static void rx_eth(struct adapter *adap, struct sge_rspq *rq, | |||
1690 | struct port_info *pi; | 1690 | struct port_info *pi; |
1691 | 1691 | ||
1692 | skb_pull(skb, sizeof(*p) + pad); | 1692 | skb_pull(skb, sizeof(*p) + pad); |
1693 | skb->dev->last_rx = jiffies; | ||
1694 | skb->protocol = eth_type_trans(skb, adap->port[p->iff]); | 1693 | skb->protocol = eth_type_trans(skb, adap->port[p->iff]); |
1694 | skb->dev->last_rx = jiffies; | ||
1695 | pi = netdev_priv(skb->dev); | 1695 | pi = netdev_priv(skb->dev); |
1696 | if (pi->rx_csum_offload && p->csum_valid && p->csum == 0xffff && | 1696 | if (pi->rx_csum_offload && p->csum_valid && p->csum == 0xffff && |
1697 | !p->fragment) { | 1697 | !p->fragment) { |