Patchwork [V3] bgmac: validate (and random if needed) MAC addr

login
register
mail settings
Submitter Rafał Miłecki
Date Feb. 7, 2013, 10:27 a.m.
Message ID <1360232837-29696-1-git-send-email-zajec5@gmail.com>
Download mbox | patch
Permalink /patch/218883/
State Accepted
Delegated to: David Miller
Headers show

Comments

Rafał Miłecki - Feb. 7, 2013, 10:27 a.m.
This adds check for a valid Ethernet MAC address and in case it is not,
it will generate a valid random one, such that the adapter is still
usable.

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
---
V2: generate random addr
V3: update commit message
---
 drivers/net/ethernet/broadcom/bgmac.c |    6 ++++++
 1 file changed, 6 insertions(+)
David Miller - Feb. 8, 2013, 10:42 p.m.
From: Rafał Miłecki <zajec5@gmail.com>
Date: Thu,  7 Feb 2013 11:27:17 +0100

> This adds check for a valid Ethernet MAC address and in case it is not,
> it will generate a valid random one, such that the adapter is still
> usable.
> 
> Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

Applied, thanks.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch

diff --git a/drivers/net/ethernet/broadcom/bgmac.c b/drivers/net/ethernet/broadcom/bgmac.c
index d08a4af..f90d1dc 100644
--- a/drivers/net/ethernet/broadcom/bgmac.c
+++ b/drivers/net/ethernet/broadcom/bgmac.c
@@ -1318,6 +1318,12 @@  static int bgmac_probe(struct bcma_device *core)
 		return -ENOTSUPP;
 	}
 
+	if (!is_valid_ether_addr(mac)) {
+		dev_err(&core->dev, "Invalid MAC addr: %pM\n", mac);
+		eth_random_addr(mac);
+		dev_warn(&core->dev, "Using random MAC: %pM\n", mac);
+	}
+
 	/* Allocation and references */
 	net_dev = alloc_etherdev(sizeof(*bgmac));
 	if (!net_dev)