diff options
Diffstat (limited to 'drivers/usb')
-rw-r--r-- | drivers/usb/atm/usbatm.c | 10 | ||||
-rw-r--r-- | drivers/usb/gadget/ether.c | 1 | ||||
-rw-r--r-- | drivers/usb/net/asix.c | 8 | ||||
-rw-r--r-- | drivers/usb/net/catc.c | 3 | ||||
-rw-r--r-- | drivers/usb/net/gl620a.c | 2 | ||||
-rw-r--r-- | drivers/usb/net/kaweth.c | 2 | ||||
-rw-r--r-- | drivers/usb/net/net1080.c | 2 | ||||
-rw-r--r-- | drivers/usb/net/pegasus.c | 7 | ||||
-rw-r--r-- | drivers/usb/net/rndis_host.c | 2 | ||||
-rw-r--r-- | drivers/usb/net/rtl8150.c | 1 | ||||
-rw-r--r-- | drivers/usb/net/usbnet.c | 1 |
11 files changed, 18 insertions, 21 deletions
diff --git a/drivers/usb/atm/usbatm.c b/drivers/usb/atm/usbatm.c index ec63b0ee0743..d3e2c5f90a26 100644 --- a/drivers/usb/atm/usbatm.c +++ b/drivers/usb/atm/usbatm.c | |||
@@ -343,7 +343,7 @@ static void usbatm_extract_one_cell(struct usbatm_data *instance, unsigned char | |||
343 | UDSL_ASSERT(sarb->tail + ATM_CELL_PAYLOAD <= sarb->end); | 343 | UDSL_ASSERT(sarb->tail + ATM_CELL_PAYLOAD <= sarb->end); |
344 | } | 344 | } |
345 | 345 | ||
346 | memcpy(sarb->tail, source + ATM_CELL_HEADER, ATM_CELL_PAYLOAD); | 346 | memcpy(skb_tail_pointer(sarb), source + ATM_CELL_HEADER, ATM_CELL_PAYLOAD); |
347 | __skb_put(sarb, ATM_CELL_PAYLOAD); | 347 | __skb_put(sarb, ATM_CELL_PAYLOAD); |
348 | 348 | ||
349 | if (pti & 1) { | 349 | if (pti & 1) { |
@@ -370,7 +370,7 @@ static void usbatm_extract_one_cell(struct usbatm_data *instance, unsigned char | |||
370 | goto out; | 370 | goto out; |
371 | } | 371 | } |
372 | 372 | ||
373 | if (crc32_be(~0, sarb->tail - pdu_length, pdu_length) != 0xc704dd7b) { | 373 | if (crc32_be(~0, skb_tail_pointer(sarb) - pdu_length, pdu_length) != 0xc704dd7b) { |
374 | atm_rldbg(instance, "%s: packet failed crc check (vcc: 0x%p)!\n", | 374 | atm_rldbg(instance, "%s: packet failed crc check (vcc: 0x%p)!\n", |
375 | __func__, vcc); | 375 | __func__, vcc); |
376 | atomic_inc(&vcc->stats->rx_err); | 376 | atomic_inc(&vcc->stats->rx_err); |
@@ -396,7 +396,9 @@ static void usbatm_extract_one_cell(struct usbatm_data *instance, unsigned char | |||
396 | goto out; /* atm_charge increments rx_drop */ | 396 | goto out; /* atm_charge increments rx_drop */ |
397 | } | 397 | } |
398 | 398 | ||
399 | memcpy(skb->data, sarb->tail - pdu_length, length); | 399 | skb_copy_to_linear_data(skb, |
400 | skb_tail_pointer(sarb) - pdu_length, | ||
401 | length); | ||
400 | __skb_put(skb, length); | 402 | __skb_put(skb, length); |
401 | 403 | ||
402 | vdbg("%s: sending skb 0x%p, skb->len %u, skb->truesize %u", | 404 | vdbg("%s: sending skb 0x%p, skb->len %u, skb->truesize %u", |
@@ -484,7 +486,7 @@ static unsigned int usbatm_write_cells(struct usbatm_data *instance, | |||
484 | ptr[4] = 0xec; | 486 | ptr[4] = 0xec; |
485 | ptr += ATM_CELL_HEADER; | 487 | ptr += ATM_CELL_HEADER; |
486 | 488 | ||
487 | memcpy(ptr, skb->data, data_len); | 489 | skb_copy_from_linear_data(skb, ptr, data_len); |
488 | ptr += data_len; | 490 | ptr += data_len; |
489 | __skb_pull(skb, data_len); | 491 | __skb_pull(skb, data_len); |
490 | 492 | ||
diff --git a/drivers/usb/gadget/ether.c b/drivers/usb/gadget/ether.c index 04e6b8508fb6..8f9f217e0a68 100644 --- a/drivers/usb/gadget/ether.c +++ b/drivers/usb/gadget/ether.c | |||
@@ -1766,7 +1766,6 @@ static void rx_complete (struct usb_ep *ep, struct usb_request *req) | |||
1766 | break; | 1766 | break; |
1767 | } | 1767 | } |
1768 | 1768 | ||
1769 | skb->dev = dev->net; | ||
1770 | skb->protocol = eth_type_trans (skb, dev->net); | 1769 | skb->protocol = eth_type_trans (skb, dev->net); |
1771 | dev->stats.rx_packets++; | 1770 | dev->stats.rx_packets++; |
1772 | dev->stats.rx_bytes += skb->len; | 1771 | dev->stats.rx_bytes += skb->len; |
diff --git a/drivers/usb/net/asix.c b/drivers/usb/net/asix.c index 5808ea082459..d5ef97bc4d01 100644 --- a/drivers/usb/net/asix.c +++ b/drivers/usb/net/asix.c | |||
@@ -298,7 +298,7 @@ static int asix_rx_fixup(struct usbnet *dev, struct sk_buff *skb) | |||
298 | if (ax_skb) { | 298 | if (ax_skb) { |
299 | ax_skb->len = size; | 299 | ax_skb->len = size; |
300 | ax_skb->data = packet; | 300 | ax_skb->data = packet; |
301 | ax_skb->tail = packet + size; | 301 | skb_set_tail_pointer(ax_skb, size); |
302 | usbnet_skb_return(dev, ax_skb); | 302 | usbnet_skb_return(dev, ax_skb); |
303 | } else { | 303 | } else { |
304 | return 0; | 304 | return 0; |
@@ -338,7 +338,7 @@ static struct sk_buff *asix_tx_fixup(struct usbnet *dev, struct sk_buff *skb, | |||
338 | && ((headroom + tailroom) >= (4 + padlen))) { | 338 | && ((headroom + tailroom) >= (4 + padlen))) { |
339 | if ((headroom < 4) || (tailroom < padlen)) { | 339 | if ((headroom < 4) || (tailroom < padlen)) { |
340 | skb->data = memmove(skb->head + 4, skb->data, skb->len); | 340 | skb->data = memmove(skb->head + 4, skb->data, skb->len); |
341 | skb->tail = skb->data + skb->len; | 341 | skb_set_tail_pointer(skb, skb->len); |
342 | } | 342 | } |
343 | } else { | 343 | } else { |
344 | struct sk_buff *skb2; | 344 | struct sk_buff *skb2; |
@@ -352,11 +352,11 @@ static struct sk_buff *asix_tx_fixup(struct usbnet *dev, struct sk_buff *skb, | |||
352 | skb_push(skb, 4); | 352 | skb_push(skb, 4); |
353 | packet_len = (((skb->len - 4) ^ 0x0000ffff) << 16) + (skb->len - 4); | 353 | packet_len = (((skb->len - 4) ^ 0x0000ffff) << 16) + (skb->len - 4); |
354 | cpu_to_le32s(&packet_len); | 354 | cpu_to_le32s(&packet_len); |
355 | memcpy(skb->data, &packet_len, sizeof(packet_len)); | 355 | skb_copy_to_linear_data(skb, &packet_len, sizeof(packet_len)); |
356 | 356 | ||
357 | if ((skb->len % 512) == 0) { | 357 | if ((skb->len % 512) == 0) { |
358 | cpu_to_le32s(&padbytes); | 358 | cpu_to_le32s(&padbytes); |
359 | memcpy( skb->tail, &padbytes, sizeof(padbytes)); | 359 | memcpy(skb_tail_pointer(skb), &padbytes, sizeof(padbytes)); |
360 | skb_put(skb, sizeof(padbytes)); | 360 | skb_put(skb, sizeof(padbytes)); |
361 | } | 361 | } |
362 | return skb; | 362 | return skb; |
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)) |
diff --git a/drivers/usb/net/gl620a.c b/drivers/usb/net/gl620a.c index d257a8e026d6..031cf5ca4dbb 100644 --- a/drivers/usb/net/gl620a.c +++ b/drivers/usb/net/gl620a.c | |||
@@ -157,7 +157,7 @@ genelink_tx_fixup(struct usbnet *dev, struct sk_buff *skb, gfp_t flags) | |||
157 | if ((headroom < (4 + 4*1)) || (tailroom < padlen)) { | 157 | if ((headroom < (4 + 4*1)) || (tailroom < padlen)) { |
158 | skb->data = memmove(skb->head + (4 + 4*1), | 158 | skb->data = memmove(skb->head + (4 + 4*1), |
159 | skb->data, skb->len); | 159 | skb->data, skb->len); |
160 | skb->tail = skb->data + skb->len; | 160 | skb_set_tail_pointer(skb, skb->len); |
161 | } | 161 | } |
162 | } else { | 162 | } else { |
163 | struct sk_buff *skb2; | 163 | struct sk_buff *skb2; |
diff --git a/drivers/usb/net/kaweth.c b/drivers/usb/net/kaweth.c index de95268ae4b8..a0cc05d21a6a 100644 --- a/drivers/usb/net/kaweth.c +++ b/drivers/usb/net/kaweth.c | |||
@@ -636,8 +636,6 @@ static void kaweth_usb_receive(struct urb *urb) | |||
636 | 636 | ||
637 | skb_reserve(skb, 2); /* Align IP on 16 byte boundaries */ | 637 | skb_reserve(skb, 2); /* Align IP on 16 byte boundaries */ |
638 | 638 | ||
639 | skb->dev = net; | ||
640 | |||
641 | eth_copy_and_sum(skb, kaweth->rx_buf + 2, pkt_len, 0); | 639 | eth_copy_and_sum(skb, kaweth->rx_buf + 2, pkt_len, 0); |
642 | 640 | ||
643 | skb_put(skb, pkt_len); | 641 | skb_put(skb, pkt_len); |
diff --git a/drivers/usb/net/net1080.c b/drivers/usb/net/net1080.c index ccebfdef4751..19bf8dae70c9 100644 --- a/drivers/usb/net/net1080.c +++ b/drivers/usb/net/net1080.c | |||
@@ -520,7 +520,7 @@ net1080_tx_fixup(struct usbnet *dev, struct sk_buff *skb, gfp_t flags) | |||
520 | skb->data = memmove(skb->head | 520 | skb->data = memmove(skb->head |
521 | + sizeof (struct nc_header), | 521 | + sizeof (struct nc_header), |
522 | skb->data, skb->len); | 522 | skb->data, skb->len); |
523 | skb->tail = skb->data + len; | 523 | skb_set_tail_pointer(skb, len); |
524 | goto encapsulate; | 524 | goto encapsulate; |
525 | } | 525 | } |
526 | } | 526 | } |
diff --git a/drivers/usb/net/pegasus.c b/drivers/usb/net/pegasus.c index 6d12961cf9f9..1ad4ee54b186 100644 --- a/drivers/usb/net/pegasus.c +++ b/drivers/usb/net/pegasus.c | |||
@@ -575,7 +575,6 @@ static void fill_skb_pool(pegasus_t * pegasus) | |||
575 | */ | 575 | */ |
576 | if (pegasus->rx_pool[i] == NULL) | 576 | if (pegasus->rx_pool[i] == NULL) |
577 | return; | 577 | return; |
578 | pegasus->rx_pool[i]->dev = pegasus->net; | ||
579 | skb_reserve(pegasus->rx_pool[i], 2); | 578 | skb_reserve(pegasus->rx_pool[i], 2); |
580 | } | 579 | } |
581 | } | 580 | } |
@@ -890,7 +889,7 @@ static int pegasus_start_xmit(struct sk_buff *skb, struct net_device *net) | |||
890 | netif_stop_queue(net); | 889 | netif_stop_queue(net); |
891 | 890 | ||
892 | ((__le16 *) pegasus->tx_buff)[0] = cpu_to_le16(l16); | 891 | ((__le16 *) pegasus->tx_buff)[0] = cpu_to_le16(l16); |
893 | memcpy(pegasus->tx_buff + 2, skb->data, skb->len); | 892 | skb_copy_from_linear_data(skb, pegasus->tx_buff + 2, skb->len); |
894 | usb_fill_bulk_urb(pegasus->tx_urb, pegasus->usb, | 893 | usb_fill_bulk_urb(pegasus->tx_urb, pegasus->usb, |
895 | usb_sndbulkpipe(pegasus->usb, 2), | 894 | usb_sndbulkpipe(pegasus->usb, 2), |
896 | pegasus->tx_buff, count, | 895 | pegasus->tx_buff, count, |
@@ -1415,8 +1414,10 @@ static void pegasus_disconnect(struct usb_interface *intf) | |||
1415 | unlink_all_urbs(pegasus); | 1414 | unlink_all_urbs(pegasus); |
1416 | free_all_urbs(pegasus); | 1415 | free_all_urbs(pegasus); |
1417 | free_skb_pool(pegasus); | 1416 | free_skb_pool(pegasus); |
1418 | if (pegasus->rx_skb) | 1417 | if (pegasus->rx_skb != NULL) { |
1419 | dev_kfree_skb(pegasus->rx_skb); | 1418 | dev_kfree_skb(pegasus->rx_skb); |
1419 | pegasus->rx_skb = NULL; | ||
1420 | } | ||
1420 | free_netdev(pegasus->net); | 1421 | free_netdev(pegasus->net); |
1421 | } | 1422 | } |
1422 | 1423 | ||
diff --git a/drivers/usb/net/rndis_host.c b/drivers/usb/net/rndis_host.c index 39a21c74fdf4..1d36772ba6e1 100644 --- a/drivers/usb/net/rndis_host.c +++ b/drivers/usb/net/rndis_host.c | |||
@@ -588,7 +588,7 @@ rndis_tx_fixup(struct usbnet *dev, struct sk_buff *skb, gfp_t flags) | |||
588 | if (likely((sizeof *hdr) <= room)) { | 588 | if (likely((sizeof *hdr) <= room)) { |
589 | skb->data = memmove(skb->head + sizeof *hdr, | 589 | skb->data = memmove(skb->head + sizeof *hdr, |
590 | skb->data, len); | 590 | skb->data, len); |
591 | skb->tail = skb->data + len; | 591 | skb_set_tail_pointer(skb, len); |
592 | goto fill; | 592 | goto fill; |
593 | } | 593 | } |
594 | } | 594 | } |
diff --git a/drivers/usb/net/rtl8150.c b/drivers/usb/net/rtl8150.c index ea153dc9b0ac..fa598f0340cf 100644 --- a/drivers/usb/net/rtl8150.c +++ b/drivers/usb/net/rtl8150.c | |||
@@ -646,7 +646,6 @@ static void fill_skb_pool(rtl8150_t *dev) | |||
646 | if (!skb) { | 646 | if (!skb) { |
647 | return; | 647 | return; |
648 | } | 648 | } |
649 | skb->dev = dev->netdev; | ||
650 | skb_reserve(skb, 2); | 649 | skb_reserve(skb, 2); |
651 | dev->rx_skb_pool[i] = skb; | 650 | dev->rx_skb_pool[i] = skb; |
652 | } | 651 | } |
diff --git a/drivers/usb/net/usbnet.c b/drivers/usb/net/usbnet.c index de69b183bd2f..0c5465a7909b 100644 --- a/drivers/usb/net/usbnet.c +++ b/drivers/usb/net/usbnet.c | |||
@@ -203,7 +203,6 @@ void usbnet_skb_return (struct usbnet *dev, struct sk_buff *skb) | |||
203 | { | 203 | { |
204 | int status; | 204 | int status; |
205 | 205 | ||
206 | skb->dev = dev->net; | ||
207 | skb->protocol = eth_type_trans (skb, dev->net); | 206 | skb->protocol = eth_type_trans (skb, dev->net); |
208 | dev->stats.rx_packets++; | 207 | dev->stats.rx_packets++; |
209 | dev->stats.rx_bytes += skb->len; | 208 | dev->stats.rx_bytes += skb->len; |