usbnet.c (ef9d884dadd4c9f2c8432a6b82309ae4a133a35d) | usbnet.c (24ead29915352d4689a5972c65307a073b229fb4) |
---|---|
1/* 2 * USB Network driver infrastructure 3 * Copyright (C) 2000-2005 by David Brownell 4 * Copyright (C) 2003-2005 David Hollis <dhollis@davehollis.com> 5 * 6 * This program is free software; you can redistribute it and/or modify 7 * it under the terms of the GNU General Public License as published by 8 * the Free Software Foundation; either version 2 of the License, or --- 166 unchanged lines hidden (view full) --- 175 } 176 for (i = tmp = 0; i < 6; i++, tmp += 2) 177 dev->net->dev_addr [i] = 178 (hex_to_bin(buf[tmp]) << 4) + hex_to_bin(buf[tmp + 1]); 179 return 0; 180} 181EXPORT_SYMBOL_GPL(usbnet_get_ethernet_addr); 182 | 1/* 2 * USB Network driver infrastructure 3 * Copyright (C) 2000-2005 by David Brownell 4 * Copyright (C) 2003-2005 David Hollis <dhollis@davehollis.com> 5 * 6 * This program is free software; you can redistribute it and/or modify 7 * it under the terms of the GNU General Public License as published by 8 * the Free Software Foundation; either version 2 of the License, or --- 166 unchanged lines hidden (view full) --- 175 } 176 for (i = tmp = 0; i < 6; i++, tmp += 2) 177 dev->net->dev_addr [i] = 178 (hex_to_bin(buf[tmp]) << 4) + hex_to_bin(buf[tmp + 1]); 179 return 0; 180} 181EXPORT_SYMBOL_GPL(usbnet_get_ethernet_addr); 182 |
183static void intr_complete (struct urb *urb); | 183static void intr_complete (struct urb *urb) 184{ 185 struct usbnet *dev = urb->context; 186 int status = urb->status; |
184 | 187 |
188 switch (status) { 189 /* success */ 190 case 0: 191 dev->driver_info->status(dev, urb); 192 break; 193 194 /* software-driven interface shutdown */ 195 case -ENOENT: /* urb killed */ 196 case -ESHUTDOWN: /* hardware gone */ 197 netif_dbg(dev, ifdown, dev->net, 198 "intr shutdown, code %d\n", status); 199 return; 200 201 /* NOTE: not throttling like RX/TX, since this endpoint 202 * already polls infrequently 203 */ 204 default: 205 netdev_dbg(dev->net, "intr status %d\n", status); 206 break; 207 } 208 209 if (!netif_running (dev->net)) 210 return; 211 212 memset(urb->transfer_buffer, 0, urb->transfer_buffer_length); 213 status = usb_submit_urb (urb, GFP_ATOMIC); 214 if (status != 0) 215 netif_err(dev, timer, dev->net, 216 "intr resubmit --> %d\n", status); 217} 218 |
|
185static int init_status (struct usbnet *dev, struct usb_interface *intf) 186{ 187 char *buf = NULL; 188 unsigned pipe = 0; 189 unsigned maxp; 190 unsigned period; 191 192 if (!dev->driver_info->status) --- 321 unchanged lines hidden (view full) --- 514 usb_mark_last_busy(dev->udev); 515 return; 516 } 517 usb_free_urb (urb); 518 } 519 netif_dbg(dev, rx_err, dev->net, "no read resubmitted\n"); 520} 521 | 219static int init_status (struct usbnet *dev, struct usb_interface *intf) 220{ 221 char *buf = NULL; 222 unsigned pipe = 0; 223 unsigned maxp; 224 unsigned period; 225 226 if (!dev->driver_info->status) --- 321 unchanged lines hidden (view full) --- 548 usb_mark_last_busy(dev->udev); 549 return; 550 } 551 usb_free_urb (urb); 552 } 553 netif_dbg(dev, rx_err, dev->net, "no read resubmitted\n"); 554} 555 |
522static void intr_complete (struct urb *urb) 523{ 524 struct usbnet *dev = urb->context; 525 int status = urb->status; 526 527 switch (status) { 528 /* success */ 529 case 0: 530 dev->driver_info->status(dev, urb); 531 break; 532 533 /* software-driven interface shutdown */ 534 case -ENOENT: /* urb killed */ 535 case -ESHUTDOWN: /* hardware gone */ 536 netif_dbg(dev, ifdown, dev->net, 537 "intr shutdown, code %d\n", status); 538 return; 539 540 /* NOTE: not throttling like RX/TX, since this endpoint 541 * already polls infrequently 542 */ 543 default: 544 netdev_dbg(dev->net, "intr status %d\n", status); 545 break; 546 } 547 548 if (!netif_running (dev->net)) 549 return; 550 551 memset(urb->transfer_buffer, 0, urb->transfer_buffer_length); 552 status = usb_submit_urb (urb, GFP_ATOMIC); 553 if (status != 0) 554 netif_err(dev, timer, dev->net, 555 "intr resubmit --> %d\n", status); 556} 557 | |
558/*-------------------------------------------------------------------------*/ 559void usbnet_pause_rx(struct usbnet *dev) 560{ 561 set_bit(EVENT_RX_PAUSED, &dev->flags); 562 563 netif_dbg(dev, rx_status, dev->net, "paused rx queue enabled\n"); 564} 565EXPORT_SYMBOL_GPL(usbnet_pause_rx); --- 1033 unchanged lines hidden --- | 556/*-------------------------------------------------------------------------*/ 557void usbnet_pause_rx(struct usbnet *dev) 558{ 559 set_bit(EVENT_RX_PAUSED, &dev->flags); 560 561 netif_dbg(dev, rx_status, dev->net, "paused rx queue enabled\n"); 562} 563EXPORT_SYMBOL_GPL(usbnet_pause_rx); --- 1033 unchanged lines hidden --- |