[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