From 20ed2d1608ecc389ec3df87fc228a7d487f8b07b Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=A9r=C3=B4me=20Pouiller?= Date: Thu, 17 Oct 2019 09:40:06 +0000 Subject: [PATCH] staging: wfx: fix setting MAC address from DT MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit MAC address read from chip is unconditionally used even if a MAC address is configured in device tree. Reported-by: Marc Dorval Signed-off-by: Jérôme Pouiller Link: https://lore.kernel.org/r/20191017093954.657-5-Jerome.Pouiller@silabs.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/wfx/main.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/staging/wfx/main.c b/drivers/staging/wfx/main.c index 205b5bc8872e..18f07f7ad347 100644 --- a/drivers/staging/wfx/main.c +++ b/drivers/staging/wfx/main.c @@ -410,8 +410,9 @@ int wfx_probe(struct wfx_dev *wdev) if (!IS_ERR_OR_NULL(macaddr)) { ether_addr_copy(wdev->addresses[i].addr, macaddr); wdev->addresses[i].addr[ETH_ALEN - 1] += i; + } else { + ether_addr_copy(wdev->addresses[i].addr, wdev->hw_caps.mac_addr[i]); } - ether_addr_copy(wdev->addresses[i].addr, wdev->hw_caps.mac_addr[i]); if (!is_valid_ether_addr(wdev->addresses[i].addr)) { dev_warn(wdev->dev, "using random MAC address\n"); eth_random_addr(wdev->addresses[i].addr); -- 2.11.0