usbnet.c (bdfa75ad70e93633e18b1ed2b3866c01aa9bf9d2) | usbnet.c (2674e7ea22ba0e22a2d1603bd51e0b8f6442a267) |
---|---|
1// SPDX-License-Identifier: GPL-2.0-or-later 2/* 3 * USB Network driver infrastructure 4 * Copyright (C) 2000-2005 by David Brownell 5 * Copyright (C) 2003-2005 David Hollis <dhollis@davehollis.com> 6 */ 7 8/* --- 151 unchanged lines hidden (view full) --- 160 out->desc.bEndpointAddress & USB_ENDPOINT_NUMBER_MASK); 161 dev->status = status; 162 return 0; 163} 164EXPORT_SYMBOL_GPL(usbnet_get_endpoints); 165 166int usbnet_get_ethernet_addr(struct usbnet *dev, int iMACAddress) 167{ | 1// SPDX-License-Identifier: GPL-2.0-or-later 2/* 3 * USB Network driver infrastructure 4 * Copyright (C) 2000-2005 by David Brownell 5 * Copyright (C) 2003-2005 David Hollis <dhollis@davehollis.com> 6 */ 7 8/* --- 151 unchanged lines hidden (view full) --- 160 out->desc.bEndpointAddress & USB_ENDPOINT_NUMBER_MASK); 161 dev->status = status; 162 return 0; 163} 164EXPORT_SYMBOL_GPL(usbnet_get_endpoints); 165 166int usbnet_get_ethernet_addr(struct usbnet *dev, int iMACAddress) 167{ |
168 u8 addr[ETH_ALEN]; |
|
168 int tmp = -1, ret; 169 unsigned char buf [13]; 170 171 ret = usb_string(dev->udev, iMACAddress, buf, sizeof buf); 172 if (ret == 12) | 169 int tmp = -1, ret; 170 unsigned char buf [13]; 171 172 ret = usb_string(dev->udev, iMACAddress, buf, sizeof buf); 173 if (ret == 12) |
173 tmp = hex2bin(dev->net->dev_addr, buf, 6); | 174 tmp = hex2bin(addr, buf, 6); |
174 if (tmp < 0) { 175 dev_dbg(&dev->udev->dev, 176 "bad MAC string %d fetch, %d\n", iMACAddress, tmp); 177 if (ret >= 0) 178 ret = -EINVAL; 179 return ret; 180 } | 175 if (tmp < 0) { 176 dev_dbg(&dev->udev->dev, 177 "bad MAC string %d fetch, %d\n", iMACAddress, tmp); 178 if (ret >= 0) 179 ret = -EINVAL; 180 return ret; 181 } |
182 eth_hw_addr_set(dev->net, addr); |
|
181 return 0; 182} 183EXPORT_SYMBOL_GPL(usbnet_get_ethernet_addr); 184 185static void intr_complete (struct urb *urb) 186{ 187 struct usbnet *dev = urb->context; 188 int status = urb->status; --- 1532 unchanged lines hidden (view full) --- 1721 init_usb_anchor(&dev->deferred); 1722 timer_setup(&dev->delay, usbnet_bh, 0); 1723 mutex_init (&dev->phy_mutex); 1724 mutex_init(&dev->interrupt_mutex); 1725 dev->interrupt_count = 0; 1726 1727 dev->net = net; 1728 strscpy(net->name, "usb%d", sizeof(net->name)); | 183 return 0; 184} 185EXPORT_SYMBOL_GPL(usbnet_get_ethernet_addr); 186 187static void intr_complete (struct urb *urb) 188{ 189 struct usbnet *dev = urb->context; 190 int status = urb->status; --- 1532 unchanged lines hidden (view full) --- 1723 init_usb_anchor(&dev->deferred); 1724 timer_setup(&dev->delay, usbnet_bh, 0); 1725 mutex_init (&dev->phy_mutex); 1726 mutex_init(&dev->interrupt_mutex); 1727 dev->interrupt_count = 0; 1728 1729 dev->net = net; 1730 strscpy(net->name, "usb%d", sizeof(net->name)); |
1729 memcpy (net->dev_addr, node_id, sizeof node_id); | 1731 eth_hw_addr_set(net, node_id); |
1730 1731 /* rx and tx sides can use different message sizes; 1732 * bind() should set rx_urb_size in that case. 1733 */ 1734 dev->hard_mtu = net->mtu + net->hard_header_len; 1735 net->min_mtu = 0; 1736 net->max_mtu = ETH_MAX_MTU; 1737 --- 476 unchanged lines hidden --- | 1732 1733 /* rx and tx sides can use different message sizes; 1734 * bind() should set rx_urb_size in that case. 1735 */ 1736 dev->hard_mtu = net->mtu + net->hard_header_len; 1737 net->min_mtu = 0; 1738 net->max_mtu = ETH_MAX_MTU; 1739 --- 476 unchanged lines hidden --- |