staging: r8188eu: use mac_pton() in rtw_macaddr_cfg()
authorMichael Straube <straube.linux@gmail.com>
Mon, 30 Aug 2021 12:15:01 +0000 (14:15 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 13 Sep 2021 06:49:45 +0000 (08:49 +0200)
Instead of a custom approach use mac_pton() to convert the mac
address string. With mac_pton() the driver also validates the
input now.

Signed-off-by: Michael Straube <straube.linux@gmail.com>
Link: https://lore.kernel.org/r/20210830121508.6411-2-straube.linux@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/r8188eu/core/rtw_ieee80211.c

index b3a74198596ac1da9b99024d293ceba1ed07579b..205798b76cf990ef0f86aa4c901f50fb0ebc32c0 100644 (file)
@@ -1024,13 +1024,11 @@ void rtw_macaddr_cfg(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 */
                memcpy(mac_addr, mac, ETH_ALEN);
-       } else {        /* Use the mac address stored in the Efuse */
+       } else {
+               /* Use the mac address stored in the Efuse */
                memcpy(mac, mac_addr, ETH_ALEN);
        }