On 01/22/2012 08:01 PM, Bruce Ashfield wrote:
> On 12-01-19 4:34 PM, Darren Hart wrote:
>> Bruce, please apply to linux-yocto-3.0/yocto/standard/base
> 
> Queued.

I don't see this in the repository yet, is it still pending? I'm trying
to write a BSP that is dependent on it.

Thanks,

Darren

> 
> Bruce
> 
>>
>> Upstream-Status: Accepted (Linux 3.3)
>>
>> If the MAC is invalid or not implemented, do not abort the probe. Issue
>> a warning and prevent bringing the interface up until a MAC is set manually
>> (via ifconfig $IFACE hw ether $MAC).
>>
>> Tested on two platforms, one with a valid MAC, the other without a MAC. The 
>> real
>> MAC is used if present, the interface fails to come up until the MAC is set 
>> on
>> the other. They successfully get an IP over DHCP and pass a simple ping and
>> login over ssh test.
>>
>> This is meant to allow the Inforce SYS940X development board:
>> http://www.inforcecomputing.com/SYS940X_ECX.html
>> (and others suffering from a missing MAC) to work with the mainline kernel.
>> Without this patch, the probe will fail and the interface will not be 
>> created,
>> preventing the user from configuring the MAC manually.
>>
>> This does not make any attempt to address a missing or invalid MAC for the
>> pch_phub driver.
>>
>> Signed-off-by: Darren Hart<dvh...@linux.intel.com>
>> CC: Arjan van de Ven<ar...@linux.intel.com>
>> CC: Alan Cox<a...@linux.intel.com>
>> CC: Tomoya MORINAGA<tomoya.r...@gmail.com>
>> CC: Jeff Kirsher<jeffrey.t.kirs...@intel.com>
>> CC: "David S. Miller"<da...@davemloft.net>
>> CC: Paul Gortmaker<paul.gortma...@windriver.com>
>> CC: Jon Mason<jdma...@kudzu.us>
>> CC: net...@vger.kernel.org
>> CC: Mark Brown<broo...@opensource.wolfsonmicro.com>
>> CC: David Laight<david.lai...@aculab.com>
>> CC: Joe Perches<j...@perches.com>
>> ---
>>   drivers/net/pch_gbe/pch_gbe_main.c |   17 ++++++++++++++---
>>   1 files changed, 14 insertions(+), 3 deletions(-)
>>
>> diff --git a/drivers/net/pch_gbe/pch_gbe_main.c 
>> b/drivers/net/pch_gbe/pch_gbe_main.c
>> index eac3c5c..e7412f2 100644
>> --- a/drivers/net/pch_gbe/pch_gbe_main.c
>> +++ b/drivers/net/pch_gbe/pch_gbe_main.c
>> @@ -1701,6 +1701,12 @@ int pch_gbe_up(struct pch_gbe_adapter *adapter)
>>      struct pch_gbe_rx_ring *rx_ring = adapter->rx_ring;
>>      int err;
>>
>> +    /* Ensure we have a valid MAC */
>> +    if (!is_valid_ether_addr(adapter->hw.mac.addr)) {
>> +            pr_err("Error: Invalid MAC address\n");
>> +            return -EINVAL;
>> +    }
>> +
>>      /* hardware has been reset, we need to reload some things */
>>      pch_gbe_set_multi(netdev);
>>
>> @@ -2392,9 +2398,14 @@ static int pch_gbe_probe(struct pci_dev *pdev,
>>
>>      memcpy(netdev->dev_addr, adapter->hw.mac.addr, netdev->addr_len);
>>      if (!is_valid_ether_addr(netdev->dev_addr)) {
>> -            dev_err(&pdev->dev, "Invalid MAC Address\n");
>> -            ret = -EIO;
>> -            goto err_free_adapter;
>> +            /*
>> +             * If the MAC is invalid (or just missing), display a warning
>> +             * but do not abort setting up the device. pch_gbe_up will
>> +             * prevent the interface from being brought up until a valid MAC
>> +             * is set.
>> +             */
>> +            dev_err(&pdev->dev, "Invalid MAC address, "
>> +                                "interface disabled.\n");
>>      }
>>      setup_timer(&adapter->watchdog_timer, pch_gbe_watchdog,
>>                  (unsigned long)adapter);
> 
> _______________________________________________
> yocto mailing list
> yocto@yoctoproject.org
> https://lists.yoctoproject.org/listinfo/yocto

-- 
Darren Hart
Intel Open Source Technology Center
Yocto Project - Linux Kernel
_______________________________________________
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto

Reply via email to