aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net
diff options
context:
space:
mode:
authorDivy Le Ray <divy@chelsio.com>2007-05-30 13:01:29 -0400
committerJeff Garzik <jeff@garzik.org>2007-06-20 19:16:58 -0400
commite360b5628f1d040c0e96dd9ee011196645e08aef (patch)
tree100b2af056bd113be5223e4d4202ab11f2525513 /drivers/net
parentd41f2d17f863fcd9496748135967e71551d5873d (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>
Diffstat (limited to 'drivers/net')
-rw-r--r--drivers/net/cxgb3/sge.c2
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) {