Commit 3ba72b25 authored by John W. Linville's avatar John W. Linville

[PATCH] zd1201: avoid null ptr access of skb->dev

skb->dev is not set until eth_type_trans is called...
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 4937ce87
...@@ -327,8 +327,8 @@ static void zd1201_usbrx(struct urb *urb) ...@@ -327,8 +327,8 @@ static void zd1201_usbrx(struct urb *urb)
memcpy(skb_put(skb, 6), &data[datalen-8], 6); memcpy(skb_put(skb, 6), &data[datalen-8], 6);
memcpy(skb_put(skb, 2), &data[datalen-24], 2); memcpy(skb_put(skb, 2), &data[datalen-24], 2);
memcpy(skb_put(skb, len), data, len); memcpy(skb_put(skb, len), data, len);
skb->dev->last_rx = jiffies;
skb->protocol = eth_type_trans(skb, zd->dev); skb->protocol = eth_type_trans(skb, zd->dev);
skb->dev->last_rx = jiffies;
zd->stats.rx_packets++; zd->stats.rx_packets++;
zd->stats.rx_bytes += skb->len; zd->stats.rx_bytes += skb->len;
netif_rx(skb); netif_rx(skb);
...@@ -384,8 +384,8 @@ static void zd1201_usbrx(struct urb *urb) ...@@ -384,8 +384,8 @@ static void zd1201_usbrx(struct urb *urb)
memcpy(skb_put(skb, 2), &data[6], 2); memcpy(skb_put(skb, 2), &data[6], 2);
memcpy(skb_put(skb, len), data+8, len); memcpy(skb_put(skb, len), data+8, len);
} }
skb->dev->last_rx = jiffies;
skb->protocol = eth_type_trans(skb, zd->dev); skb->protocol = eth_type_trans(skb, zd->dev);
skb->dev->last_rx = jiffies;
zd->stats.rx_packets++; zd->stats.rx_packets++;
zd->stats.rx_bytes += skb->len; zd->stats.rx_bytes += skb->len;
netif_rx(skb); netif_rx(skb);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment