diff -Nur a/drivers/net/wireless/rtl8189fs/core/rtw_ieee80211.c b/drivers/net/wireless/rtl8189fs/core/rtw_ieee80211.c --- a/drivers/net/wireless/rtl8189fs/core/rtw_ieee80211.c 2016-02-25 06:58:52.000000000 +0100 +++ b/drivers/net/wireless/rtl8189fs/core/rtw_ieee80211.c 2016-09-27 21:44:26.470787346 +0200 @@ -1467,17 +1467,22 @@ goto func_exit; } +#if 0 if (check_local_bit == _TRUE) { if (mac_addr[0] & BIT1) { res = _TRUE; goto func_exit; } } +#else + (void) check_local_bit; +#endif func_exit: return res; } +extern void wifi_hwaddr_from_chipid(u8 *addr); extern char* rtw_initmac; /** * rtw_macaddr_cfg - Decide the mac address used @@ -1510,6 +1515,11 @@ goto err_chk; #endif +#ifdef CONFIG_PLATFORM_ARM_SUN8I + wifi_hwaddr_from_chipid(mac); + goto err_chk; +#endif + /* Use the mac address stored in the Efuse */ if (hw_mac_addr) { _rtw_memcpy(mac, hw_mac_addr, ETH_ALEN);