From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753344AbbHKS4N (ORCPT ); Tue, 11 Aug 2015 14:56:13 -0400 Received: from mail-la0-f50.google.com ([209.85.215.50]:33933 "EHLO mail-la0-f50.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752615AbbHKS4K (ORCPT ); Tue, 11 Aug 2015 14:56:10 -0400 Subject: Re: [PATCH v2 net-next] sky2: use random address if EEPROM is bad To: Liviu Dudau , Stephen Hemminger , Florian Fainelli References: <55C2AB51.1040409@gmail.com> <1439303756-30333-1-git-send-email-Liviu.Dudau@arm.com> Cc: Mirko Lindner , Ryan Harkin , netdev , lkml From: Sergei Shtylyov Organization: Cogent Embedded Message-ID: <55CA4546.40904@cogentembedded.com> Date: Tue, 11 Aug 2015 21:56:06 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.1.0 MIME-Version: 1.0 In-Reply-To: <1439303756-30333-1-git-send-email-Liviu.Dudau@arm.com> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hello. On 08/11/2015 05:35 PM, Liviu Dudau wrote: > 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 > Signed-off-by: Stephen Hemminger > [Changed handcoded setup to use eth_hw_addr_random() instead] > Signed-off-by: Liviu Dudau > --- > 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"); Please start the continuation line right under 'dev' on the borken up line. > + eth_hw_addr_random(dev); > + } > + > return dev; > } MBR, Sergei