Hi Andrew,

>> +    if (ret < 0)
>> +            goto out;
>> +
>> +    memcpy(dev->net->dev_addr, buf, ETH_ALEN);
>> +    memcpy(dev->net->perm_addr, dev->net->dev_addr, ETH_ALEN);
> 
> Is this really the permanent address? If i call aqc111_set_mac_addr()
> followed by aqc111_get_mac() i still get what is in the OTP EEPROM?

Thats actually a confusion with function name here.
Think its better to name it aqc111_init_mac() since it gets called
only once on bind.

It really initializes perm_addr once, thus standard ndev callback will give
the perm mac you want.

> 
> You initialized it above as {0}. You don't need to memset it here.
> 
>> +    ret = aqc111_get_mac(dev, buf);
> 
> Do you even need to zero it? If aqc111_get_mac() fails, it will be
> left undefined, but you fail the bind anyway.

We even don't need this `buf` here at all. We'll move it into
above init_mac function.

BR, Igor

Reply via email to