From bc997e94d3effce4d9f20c6e9494ea0201059444 Mon Sep 17 00:00:00 2001 From: Alexei Avshalom Lazar Date: Wed, 28 Feb 2018 11:24:09 +0200 Subject: [PATCH] wil6210: allow flashless boot when OTP is empty Use random MAC address for non wmi_only firmware. Change-Id: Iab8f0aa494528d12051f103a94c6049187e79505 Signed-off-by: Alexei Avshalom Lazar Signed-off-by: Lior David --- drivers/net/wireless/ath/wil6210/main.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/drivers/net/wireless/ath/wil6210/main.c b/drivers/net/wireless/ath/wil6210/main.c index 4ba1495b9aeb..89238bd046e9 100644 --- a/drivers/net/wireless/ath/wil6210/main.c +++ b/drivers/net/wireless/ath/wil6210/main.c @@ -1425,8 +1425,14 @@ static int wil_get_otp_info(struct wil6210_priv *wil) } if (!is_valid_ether_addr(mac)) { - wil_err(wil, "Invalid MAC %pM\n", mac); - return -EINVAL; + u8 dummy_mac[ETH_ALEN] = { + 0x00, 0xde, 0xad, 0x12, 0x34, 0x56, + }; + if (!test_bit(WMI_FW_CAPABILITY_WMI_ONLY, wil->fw_capabilities)) + get_random_bytes(dummy_mac + 3, 3); + wil_err(wil, "Invalid MAC %pM, using random %pM\n", mac, + dummy_mac); + ether_addr_copy(mac, dummy_mac); } ether_addr_copy(ndev->perm_addr, mac);