Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1205180
| From | Liviu Dudau <Liviu.Dudau@arm.com> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | [PATCH v2 net-next] sky2: use random address if EEPROM is bad |
| Date | 2015-08-11 16:40 +0200 |
| Message-ID | <pWiSB-7UI-3@gated-at.bofh.it> (permalink) |
| References | <pUhnY-N8-17@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
On some embedded systems the EEPROM does not contain a valid MAC address.
In that case it is better to fallback to a generated mac address and
let init scripts fix the value later.
Reported-by: Liviu Dudau <Liviu.Dudau@arm.com>
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
[Changed handcoded setup to use eth_hw_addr_random() instead]
Signed-off-by: Liviu Dudau <Liviu.Dudau@arm.com>
---
I have tested this on my Juno platform and I can successfully do an nfsroot boot.
Best regards,
Liviu
drivers/net/ethernet/marvell/sky2.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/drivers/net/ethernet/marvell/sky2.c b/drivers/net/ethernet/marvell/sky2.c
index d9f4498..c309879 100644
--- a/drivers/net/ethernet/marvell/sky2.c
+++ b/drivers/net/ethernet/marvell/sky2.c
@@ -4819,6 +4819,13 @@ static struct net_device *sky2_init_netdev(struct sky2_hw *hw, unsigned port,
memcpy_fromio(dev->dev_addr, hw->regs + B2_MAC_1 + port * 8,
ETH_ALEN);
+ /* if the address is invalid, use a random value */
+ if (!is_valid_ether_addr(dev->dev_addr)) {
+ netdev_warn(dev,
+ "Invalid MAC address, defaulting to random\n");
+ eth_hw_addr_random(dev);
+ }
+
return dev;
}
--
2.4.6
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
[PATCH] sky2: Add module parameter for passing the MAC address Liviu Dudau <Liviu.Dudau@arm.com> - 2015-08-05 18:00 +0200
Re: [PATCH] sky2: Add module parameter for passing the MAC address Stephen Hemminger <stephen@networkplumber.org> - 2015-08-05 18:50 +0200
Re: [PATCH] sky2: Add module parameter for passing the MAC address Liviu Dudau <Liviu.Dudau@arm.com> - 2015-08-05 19:20 +0200
Re: [PATCH] sky2: Add module parameter for passing the MAC address Francois Romieu <romieu@fr.zoreil.com> - 2015-08-05 22:40 +0200
Re: [PATCH] sky2: Add module parameter for passing the MAC address Stephen Hemminger <stephen@networkplumber.org> - 2015-08-06 01:20 +0200
Re: [PATCH] sky2: Add module parameter for passing the MAC address Florian Fainelli <f.fainelli@gmail.com> - 2015-08-06 02:40 +0200
[PATCH v2 net-next] sky2: use random address if EEPROM is bad Liviu Dudau <Liviu.Dudau@arm.com> - 2015-08-11 16:40 +0200
Re: [PATCH v2 net-next] sky2: use random address if EEPROM is bad Stephen Hemminger <stephen@networkplumber.org> - 2015-08-11 19:10 +0200
Re: [PATCH v2 net-next] sky2: use random address if EEPROM is bad Liviu Dudau <Liviu.Dudau@arm.com> - 2015-08-12 11:40 +0200
Re: [PATCH v2 net-next] sky2: use random address if EEPROM is bad Stephen Hemminger <stephen@networkplumber.org> - 2015-08-12 17:30 +0200
Re: [PATCH v2 net-next] sky2: use random address if EEPROM is bad Liviu Dudau <Liviu.Dudau@arm.com> - 2015-08-12 18:10 +0200
Re: [PATCH v2 net-next] sky2: use random address if EEPROM is bad Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> - 2015-08-11 21:00 +0200
Re: [PATCH v2 net-next] sky2: use random address if EEPROM is bad Liviu Dudau <Liviu.Dudau@arm.com> - 2015-08-12 11:20 +0200
Re: [PATCH] sky2: Add module parameter for passing the MAC address Liviu Dudau <Liviu.Dudau@arm.com> - 2015-08-05 19:20 +0200
Re: [PATCH] sky2: Add module parameter for passing the MAC address David Miller <davem@davemloft.net> - 2015-08-06 02:20 +0200
Re: [PATCH] sky2: Add module parameter for passing the MAC address Liviu Dudau <Liviu.Dudau@arm.com> - 2015-08-06 12:40 +0200
csiph-web