From patchwork Thu Aug 22 14:07:53 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Li Frank-B20596 X-Patchwork-Id: 269081 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 677932C00A7 for ; Fri, 23 Aug 2013 00:08:23 +1000 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752957Ab3HVOIT (ORCPT ); Thu, 22 Aug 2013 10:08:19 -0400 Received: from ch1ehsobe006.messaging.microsoft.com ([216.32.181.186]:45677 "EHLO ch1outboundpool.messaging.microsoft.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752560Ab3HVOIS convert rfc822-to-8bit (ORCPT ); Thu, 22 Aug 2013 10:08:18 -0400 Received: from mail96-ch1-R.bigfish.com (10.43.68.228) by CH1EHSOBE017.bigfish.com (10.43.70.67) with Microsoft SMTP Server id 14.1.225.22; Thu, 22 Aug 2013 14:08:15 +0000 Received: from mail96-ch1 (localhost [127.0.0.1]) by mail96-ch1-R.bigfish.com (Postfix) with ESMTP id 0B6A61E036A; Thu, 22 Aug 2013 14:08:15 +0000 (UTC) X-Forefront-Antispam-Report: CIP:70.37.183.190; KIP:(null); UIP:(null); IPV:NLI; H:mail.freescale.net; RD:none; EFVD:NLI X-SpamScore: -1 X-BigFish: VS-1(zz9371I542Izz1f42h208ch1ee6h1de0h1fdah2073h1202h1e76h1d1ah1d2ah1fc6hzz8275ch1de098h8275bh8275dh1de097hz2dh2a8h839h8e2h8e3h944hd25hf0ah1220h1288h12a5h12a9h12bdh137ah13b6h1441h1504h1537h153bh15d0h162dh1631h1758h18e1h1946h19b5h1ad9h1b0ah1b2fh1fb3h1d0ch1d2eh1d3fh1dfeh1dffh1e1dh1fe8h1ff5hbe9i1155h) Received: from mail96-ch1 (localhost.localdomain [127.0.0.1]) by mail96-ch1 (MessageSwitch) id 137718047667278_24077; Thu, 22 Aug 2013 14:07:56 +0000 (UTC) Received: from CH1EHSMHS011.bigfish.com (snatpool1.int.messaging.microsoft.com [10.43.68.252]) by mail96-ch1.bigfish.com (Postfix) with ESMTP id 00DC010004D; Thu, 22 Aug 2013 14:07:56 +0000 (UTC) Received: from mail.freescale.net (70.37.183.190) by CH1EHSMHS011.bigfish.com (10.43.70.11) with Microsoft SMTP Server (TLS) id 14.16.227.3; Thu, 22 Aug 2013 14:07:55 +0000 Received: from 039-SN1MPN1-002.039d.mgd.msft.net ([169.254.2.168]) by 039-SN1MMR1-001.039d.mgd.msft.net ([10.84.1.13]) with mapi id 14.03.0146.002; Thu, 22 Aug 2013 14:07:54 +0000 From: Li Frank-B20596 To: Duan Fugang-B38611 , Zhou Luwei-B45643 , "davem@davemloft.net" CC: "netdev@vger.kernel.org" , "shawn.guo@linaro.org" , "bhutchings@solarflare.com" , Estevam Fabio-R49496 , "stephen@networkplumber.org" Subject: RE: [PATCH] net: fec: add the initial to set the physical mac address Thread-Topic: [PATCH] net: fec: add the initial to set the physical mac address Thread-Index: AQHOnynJQ59WWZJRD0+EjV34Hd4zgZmhQ36Q Date: Thu, 22 Aug 2013 14:07:53 +0000 Message-ID: <1F990F8245A4214A8CC4BFFBD9F790F908B16A25@039-SN1MPN1-002.039d.mgd.msft.net> References: <1377170269-8988-1-git-send-email-B38611@freescale.com> In-Reply-To: <1377170269-8988-1-git-send-email-B38611@freescale.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.81.17.68] MIME-Version: 1.0 X-OriginatorOrg: freescale.com X-FOPE-CONNECTOR: Id%0$Dn%*$RO%0$TLS%0$FQDN%$TlsDn% Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org I remember community have patch to set random mac if there are not validate mac address -----Original Message----- From: Duan Fugang-B38611 Sent: Thursday, August 22, 2013 6:18 AM To: Li Frank-B20596; Zhou Luwei-B45643; davem@davemloft.net Cc: netdev@vger.kernel.org; shawn.guo@linaro.org; bhutchings@solarflare.com; Estevam Fabio-R49496; stephen@networkplumber.org Subject: [PATCH] net: fec: add the initial to set the physical mac address For imx6slx evk platform, the fec driver cannot work since there have no valid mac address set in physical mac registers. For imx serial platform, fec/enet IPs both need the physical MAC address initial, otherwise it cannot work. After acquiring the valid MAC address from devices tree/pfuse/ kernel command line/random mac address, and then set it to the physical MAC address registers. Signed-off-by: Fugang Duan --- drivers/net/ethernet/freescale/fec_main.c | 9 ++++++--- 1 files changed, 6 insertions(+), 3 deletions(-) /* Get the Ethernet address */ fec_get_mac(ndev); + fec_set_mac_address(ndev, NULL); /* Set receive and transmit descriptor base. */ fep->rx_bd_base = cbd_base; -- 1.7.1 -- 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 diff --git a/drivers/net/ethernet/freescale/fec_main.c b/drivers/net/ethernet/freescale/fec_main.c index 4349a9e..9b5e08c 100644 --- a/drivers/net/ethernet/freescale/fec_main.c +++ b/drivers/net/ethernet/freescale/fec_main.c @@ -1867,10 +1867,12 @@ fec_set_mac_address(struct net_device *ndev, void *p) struct fec_enet_private *fep = netdev_priv(ndev); struct sockaddr *addr = p; - if (!is_valid_ether_addr(addr->sa_data)) - return -EADDRNOTAVAIL; + if (p) { + if (!is_valid_ether_addr(addr->sa_data)) + return -EADDRNOTAVAIL; - memcpy(ndev->dev_addr, addr->sa_data, ndev->addr_len); + memcpy(ndev->dev_addr, addr->sa_data, ndev->addr_len); + } writel(ndev->dev_addr[3] | (ndev->dev_addr[2] << 8) | (ndev->dev_addr[1] << 16) | (ndev->dev_addr[0] << 24), @@ -1969,6 +1971,7 @@ static int fec_enet_init(struct net_device *ndev)