[U-Boot] [PATCH v2 1/3] net: eth: Clear MAC address in eth_pre_remove()

Bin Meng bmeng.cn at gmail.com
Fri Sep 11 02:49:55 CEST 2015


Hi Joe,

On Fri, Sep 11, 2015 at 6:32 AM, Joe Hershberger
<joe.hershberger at gmail.com> wrote:
> Hi Bin,
>
> On Thu, Sep 10, 2015 at 4:29 AM, Bin Meng <bmeng.cn at gmail.com> wrote:
>> When removing an Ethernet device, the MAC address saved in the dev's
>> platdata should be cleared.
>
> Why is this important to do?  Test case?

platdata->enetaddr was assigned to a value in last dev_probe(). If we
don't clear it, for dev_probe() the second time, dm eth will end up
treating it as a MAC address from ROM no matter where it came from
originally (maybe env, ROM, or even random)

I don't think we need a test case to test this, but I can update
commit message to include the reason above.

>
>> Signed-off-by: Bin Meng <bmeng.cn at gmail.com>
>>
>> ---
>>
>> Changes in v2:
>> - New patch to clear MAC address in eth_pre_remove()
>>
>>  net/eth.c | 5 +++++
>>  1 file changed, 5 insertions(+)
>>
>> diff --git a/net/eth.c b/net/eth.c
>> index 26520d3..35f9641 100644
>> --- a/net/eth.c
>> +++ b/net/eth.c
>> @@ -564,8 +564,13 @@ static int eth_post_probe(struct udevice *dev)
>>
>>  static int eth_pre_remove(struct udevice *dev)
>>  {
>> +       struct eth_pdata *pdata = dev->platdata;
>> +
>>         eth_get_ops(dev)->stop(dev);
>>
>> +       /* clear the MAC address */
>> +       memset(pdata->enetaddr, 0, 6);
>> +
>>         return 0;
>>  }
>>

Regards,
Bin


More information about the U-Boot mailing list