aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/usb/atm/ueagle-atm.c5
-rw-r--r--drivers/usb/gadget/u_ether.c15
2 files changed, 5 insertions, 15 deletions
diff --git a/drivers/usb/atm/ueagle-atm.c b/drivers/usb/atm/ueagle-atm.c
index ebae94480140..5b3f555e01c9 100644
--- a/drivers/usb/atm/ueagle-atm.c
+++ b/drivers/usb/atm/ueagle-atm.c
@@ -67,6 +67,7 @@
67#include <linux/mutex.h> 67#include <linux/mutex.h>
68#include <linux/freezer.h> 68#include <linux/freezer.h>
69#include <linux/slab.h> 69#include <linux/slab.h>
70#include <linux/kernel.h>
70 71
71#include <asm/unaligned.h> 72#include <asm/unaligned.h>
72 73
@@ -2436,7 +2437,6 @@ UEA_ATTR(firmid, 0);
2436 2437
2437/* Retrieve the device End System Identifier (MAC) */ 2438/* Retrieve the device End System Identifier (MAC) */
2438 2439
2439#define htoi(x) (isdigit(x) ? x-'0' : toupper(x)-'A'+10)
2440static int uea_getesi(struct uea_softc *sc, u_char * esi) 2440static int uea_getesi(struct uea_softc *sc, u_char * esi)
2441{ 2441{
2442 unsigned char mac_str[2 * ETH_ALEN + 1]; 2442 unsigned char mac_str[2 * ETH_ALEN + 1];
@@ -2447,7 +2447,8 @@ static int uea_getesi(struct uea_softc *sc, u_char * esi)
2447 return 1; 2447 return 1;
2448 2448
2449 for (i = 0; i < ETH_ALEN; i++) 2449 for (i = 0; i < ETH_ALEN; i++)
2450 esi[i] = htoi(mac_str[2 * i]) * 16 + htoi(mac_str[2 * i + 1]); 2450 esi[i] = hex_to_bin(mac_str[2 * i]) * 16 +
2451 hex_to_bin(mac_str[2 * i + 1]);
2451 2452
2452 return 0; 2453 return 0;
2453} 2454}
diff --git a/drivers/usb/gadget/u_ether.c b/drivers/usb/gadget/u_ether.c
index 1da755a1c855..6bb876d65252 100644
--- a/drivers/usb/gadget/u_ether.c
+++ b/drivers/usb/gadget/u_ether.c
@@ -704,17 +704,6 @@ static char *host_addr;
704module_param(host_addr, charp, S_IRUGO); 704module_param(host_addr, charp, S_IRUGO);
705MODULE_PARM_DESC(host_addr, "Host Ethernet Address"); 705MODULE_PARM_DESC(host_addr, "Host Ethernet Address");
706 706
707
708static u8 __init nibble(unsigned char c)
709{
710 if (isdigit(c))
711 return c - '0';
712 c = toupper(c);
713 if (isxdigit(c))
714 return 10 + c - 'A';
715 return 0;
716}
717
718static int get_ether_addr(const char *str, u8 *dev_addr) 707static int get_ether_addr(const char *str, u8 *dev_addr)
719{ 708{
720 if (str) { 709 if (str) {
@@ -725,8 +714,8 @@ static int get_ether_addr(const char *str, u8 *dev_addr)
725 714
726 if ((*str == '.') || (*str == ':')) 715 if ((*str == '.') || (*str == ':'))
727 str++; 716 str++;
728 num = nibble(*str++) << 4; 717 num = hex_to_bin(*str++) << 4;
729 num |= (nibble(*str++)); 718 num |= hex_to_bin(*str++);
730 dev_addr [i] = num; 719 dev_addr [i] = num;
731 } 720 }
732 if (is_valid_ether_addr(dev_addr)) 721 if (is_valid_ether_addr(dev_addr))