2019-11-26 13:21:47

by Shayne Chen

[permalink] [raw]
Subject: [PATCH] mt76: fix possible undetected invalid MAC address

Make sure the MAC address is checked before function returns.

If CONFIG_OF is set and the device node is null, the function will
return directly, and an invalid MAC address will not be checked.

Signed-off-by: Shayne Chen <[email protected]>
---
drivers/net/wireless/mediatek/mt76/eeprom.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/net/wireless/mediatek/mt76/eeprom.c b/drivers/net/wireless/mediatek/mt76/eeprom.c
index 804224e81103..358fb0a1e523 100644
--- a/drivers/net/wireless/mediatek/mt76/eeprom.c
+++ b/drivers/net/wireless/mediatek/mt76/eeprom.c
@@ -80,13 +80,14 @@ mt76_eeprom_override(struct mt76_dev *dev)
const u8 *mac;

if (!np)
- return;
+ goto out;

mac = of_get_mac_address(np);
if (!IS_ERR(mac))
ether_addr_copy(dev->macaddr, mac);
#endif

+out:
if (!is_valid_ether_addr(dev->macaddr)) {
eth_random_addr(dev->macaddr);
dev_info(dev->dev,
--
2.17.1