aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohn W. Linville <linville@tuxdriver.com>2007-10-17 17:07:12 -0400
committerJohn W. Linville <linville@tuxdriver.com>2007-10-18 15:21:47 -0400
commit3ba72b25211217de195e3f528dd36132b38a205b (patch)
tree88096daeb5d095d9d20a03398a6c3822516e003a
parent4937ce87959629d31e9b09cf5bdf1e12a305c805 (diff)
downloadkernel_samsung_tuna-3ba72b25211217de195e3f528dd36132b38a205b.zip
kernel_samsung_tuna-3ba72b25211217de195e3f528dd36132b38a205b.tar.gz
kernel_samsung_tuna-3ba72b25211217de195e3f528dd36132b38a205b.tar.bz2
[PATCH] zd1201: avoid null ptr access of skb->dev
skb->dev is not set until eth_type_trans is called... Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r--drivers/net/wireless/zd1201.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/wireless/zd1201.c b/drivers/net/wireless/zd1201.c
index 935b144..d5c0c66 100644
--- a/drivers/net/wireless/zd1201.c
+++ b/drivers/net/wireless/zd1201.c
@@ -327,8 +327,8 @@ static void zd1201_usbrx(struct urb *urb)
memcpy(skb_put(skb, 6), &data[datalen-8], 6);
memcpy(skb_put(skb, 2), &data[datalen-24], 2);
memcpy(skb_put(skb, len), data, len);
- skb->dev->last_rx = jiffies;
skb->protocol = eth_type_trans(skb, zd->dev);
+ skb->dev->last_rx = jiffies;
zd->stats.rx_packets++;
zd->stats.rx_bytes += skb->len;
netif_rx(skb);
@@ -384,8 +384,8 @@ static void zd1201_usbrx(struct urb *urb)
memcpy(skb_put(skb, 2), &data[6], 2);
memcpy(skb_put(skb, len), data+8, len);
}
- skb->dev->last_rx = jiffies;
skb->protocol = eth_type_trans(skb, zd->dev);
+ skb->dev->last_rx = jiffies;
zd->stats.rx_packets++;
zd->stats.rx_bytes += skb->len;
netif_rx(skb);