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 ---