staging: r8188eu: fall back to random mac address
authorMartin Kaiser <martin@kaiser.cx>
Wed, 13 Jul 2022 07:55:52 +0000 (09:55 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 14 Jul 2022 13:47:36 +0000 (15:47 +0200)
Call eth_random_addr to generate a random mac address if we cannot load
the mac address from the efuses.

Do not use a constant mac address as fallback. This may create conflicts
if we have several r8188eu devices on the network.

Suggested-by: Joe Perches <joe@perches.com>
Tested-by: Philipp Hortmann <philipp.g.hortmann@gmail.com> # Edimax N150
Reviewed-by: Pavel Skripkin <paskripkin@gmail.com>
Signed-off-by: Martin Kaiser <martin@kaiser.cx>
Link: https://lore.kernel.org/r/20220713075552.140927-1-martin@kaiser.cx
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/r8188eu/hal/usb_halinit.c

index 695424b..421fe7c 100644 (file)
@@ -912,11 +912,10 @@ exit:
 
 static void Hal_EfuseParseMACAddr_8188EU(struct adapter *adapt, u8 *hwinfo, bool AutoLoadFail)
 {
-       u8 sMacAddr[6] = {0x00, 0xE0, 0x4C, 0x81, 0x88, 0x02};
        struct eeprom_priv *eeprom = &adapt->eeprompriv;
 
        if (AutoLoadFail) {
-               memcpy(eeprom->mac_addr, sMacAddr, ETH_ALEN);
+               eth_random_addr(eeprom->mac_addr);
        } else {
                /* Read Permanent MAC address */
                memcpy(eeprom->mac_addr, &hwinfo[EEPROM_MAC_ADDR_88EU], ETH_ALEN);