usbnet: re-use native hex2bin()
authorAndy Shevchenko <andy.shevchenko@gmail.com>
Thu, 22 Jan 2015 21:27:12 +0000 (23:27 +0200)
committerDavid S. Miller <davem@davemloft.net>
Sun, 25 Jan 2015 08:09:41 +0000 (00:09 -0800)
Call hex2bin() library function, instead of doing conversion here.

Signed-off-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Acked-by: Oliver Neukum <oneukum@suse.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/usb/usbnet.c

index 3a6770a65d7836ace177cff2bb45c925b474a84a..449835f4331e210daad6c8717430341c1c6996ef 100644 (file)
@@ -160,20 +160,19 @@ EXPORT_SYMBOL_GPL(usbnet_get_endpoints);
 
 int usbnet_get_ethernet_addr(struct usbnet *dev, int iMACAddress)
 {
-       int             tmp, i;
+       int             tmp = -1, ret;
        unsigned char   buf [13];
 
-       tmp = usb_string(dev->udev, iMACAddress, buf, sizeof buf);
-       if (tmp != 12) {
+       ret = usb_string(dev->udev, iMACAddress, buf, sizeof buf);
+       if (ret == 12)
+               tmp = hex2bin(dev->net->dev_addr, buf, 6);
+       if (tmp < 0) {
                dev_dbg(&dev->udev->dev,
                        "bad MAC string %d fetch, %d\n", iMACAddress, tmp);
-               if (tmp >= 0)
-                       tmp = -EINVAL;
-               return tmp;
+               if (ret >= 0)
+                       ret = -EINVAL;
+               return ret;
        }
-       for (i = tmp = 0; i < 6; i++, tmp += 2)
-               dev->net->dev_addr [i] =
-                       (hex_to_bin(buf[tmp]) << 4) + hex_to_bin(buf[tmp + 1]);
        return 0;
 }
 EXPORT_SYMBOL_GPL(usbnet_get_ethernet_addr);