Use the mac_pton() helper to convert the mac address string.

The functions key_char2num() and key_2char2num() are not used
anywhere else and can be removed.

This also has the benefit of validating the input since mac_pton()
returns false if the string is not valid.

Signed-off-by: Michael Straube <straube.li...@gmail.com>
---
 .../staging/rtl8723bs/core/rtw_ieee80211.c    | 30 +++----------------
 .../staging/rtl8723bs/os_dep/ioctl_linux.c    |  3 --
 2 files changed, 4 insertions(+), 29 deletions(-)

diff --git a/drivers/staging/rtl8723bs/core/rtw_ieee80211.c 
b/drivers/staging/rtl8723bs/core/rtw_ieee80211.c
index 8af4a89e632f..62d19cfebb06 100644
--- a/drivers/staging/rtl8723bs/core/rtw_ieee80211.c
+++ b/drivers/staging/rtl8723bs/core/rtw_ieee80211.c
@@ -1137,25 +1137,6 @@ ParseRes rtw_ieee802_11_parse_elems(u8 *start, uint len,
 
 }
 
-static u8 key_char2num(u8 ch);
-static u8 key_char2num(u8 ch)
-{
-               if ((ch >= '0') && (ch <= '9'))
-                       return ch - '0';
-               else if ((ch >= 'a') && (ch <= 'f'))
-                       return ch - 'a' + 10;
-               else if ((ch >= 'A') && (ch <= 'F'))
-                       return ch - 'A' + 10;
-               else
-                       return 0xff;
-}
-
-u8 key_2char2num(u8 hch, u8 lch);
-u8 key_2char2num(u8 hch, u8 lch)
-{
-               return ((key_char2num(hch) << 4) | key_char2num(lch));
-}
-
 void rtw_macaddr_cfg(struct device *dev, u8 *mac_addr)
 {
        u8 mac[ETH_ALEN];
@@ -1166,14 +1147,11 @@ void rtw_macaddr_cfg(struct device *dev, u8 *mac_addr)
        if (!mac_addr)
                return;
 
-       if (rtw_initmac) {      /*      Users specify the mac address */
-               int jj, kk;
-
-               for (jj = 0, kk = 0; jj < ETH_ALEN; jj++, kk += 3) {
-                       mac[jj] = key_2char2num(rtw_initmac[kk], rtw_initmac[kk 
+ 1]);
-               }
+       if (rtw_initmac && mac_pton(rtw_initmac, mac)) {
+               /* Users specify the mac address */
                ether_addr_copy(mac_addr, mac);
-       } else{ /*      Use the mac address stored in the Efuse */
+       } else{
+               /* Use the mac address stored in the Efuse */
                ether_addr_copy(mac, mac_addr);
        }
 
diff --git a/drivers/staging/rtl8723bs/os_dep/ioctl_linux.c 
b/drivers/staging/rtl8723bs/os_dep/ioctl_linux.c
index 39502156f652..4eb51f45b387 100644
--- a/drivers/staging/rtl8723bs/os_dep/ioctl_linux.c
+++ b/drivers/staging/rtl8723bs/os_dep/ioctl_linux.c
@@ -32,9 +32,6 @@
 #define WEXT_CSCAN_HOME_DWELL_SECTION  'H'
 #define WEXT_CSCAN_TYPE_SECTION                'T'
 
-
-extern u8 key_2char2num(u8 hch, u8 lch);
-
 static u32 rtw_rates[] = {1000000, 2000000, 5500000, 11000000,
        6000000, 9000000, 12000000, 18000000, 24000000, 36000000, 48000000, 
54000000};
 
-- 
2.18.0

_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to