diff options
Diffstat (limited to 'drivers/usb/net/catc.c')
-rw-r--r-- | drivers/usb/net/catc.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/usb/net/catc.c b/drivers/usb/net/catc.c index 4852012735f6..ffec2e01b896 100644 --- a/drivers/usb/net/catc.c +++ b/drivers/usb/net/catc.c | |||
@@ -255,7 +255,6 @@ static void catc_rx_done(struct urb *urb) | |||
255 | if (!(skb = dev_alloc_skb(pkt_len))) | 255 | if (!(skb = dev_alloc_skb(pkt_len))) |
256 | return; | 256 | return; |
257 | 257 | ||
258 | skb->dev = catc->netdev; | ||
259 | eth_copy_and_sum(skb, pkt_start + pkt_offset, pkt_len, 0); | 258 | eth_copy_and_sum(skb, pkt_start + pkt_offset, pkt_len, 0); |
260 | skb_put(skb, pkt_len); | 259 | skb_put(skb, pkt_len); |
261 | 260 | ||
@@ -419,7 +418,7 @@ static int catc_hard_start_xmit(struct sk_buff *skb, struct net_device *netdev) | |||
419 | catc->tx_ptr = (((catc->tx_ptr - 1) >> 6) + 1) << 6; | 418 | catc->tx_ptr = (((catc->tx_ptr - 1) >> 6) + 1) << 6; |
420 | tx_buf = catc->tx_buf[catc->tx_idx] + catc->tx_ptr; | 419 | tx_buf = catc->tx_buf[catc->tx_idx] + catc->tx_ptr; |
421 | *((u16*)tx_buf) = (catc->is_f5u011) ? cpu_to_be16((u16)skb->len) : cpu_to_le16((u16)skb->len); | 420 | *((u16*)tx_buf) = (catc->is_f5u011) ? cpu_to_be16((u16)skb->len) : cpu_to_le16((u16)skb->len); |
422 | memcpy(tx_buf + 2, skb->data, skb->len); | 421 | skb_copy_from_linear_data(skb, tx_buf + 2, skb->len); |
423 | catc->tx_ptr += skb->len + 2; | 422 | catc->tx_ptr += skb->len + 2; |
424 | 423 | ||
425 | if (!test_and_set_bit(TX_RUNNING, &catc->flags)) | 424 | if (!test_and_set_bit(TX_RUNNING, &catc->flags)) |