Hi Anant,
>>
>> +static int aqc111_set_mac_addr(struct net_device *net, void *p)
>> +{
>> + struct usbnet *dev = netdev_priv(net);
>> + int ret = 0;
>> +
>> + ret = eth_mac_addr(net, p);
>> + if (ret < 0)
>> + return ret;
>> +
>
> When eth_mac_addr() fails, from what I can see, it returns either -EBUSY, or
> -EADDRNOTAVAIL.
> Wouldn't it be a better idea to set a random MAC address instead, when
> -EADDRNOTAVAIL is returned, so that the interface still comes up and is
> usable?
>
> I'm only asking because this feels similar to the discussion that can be
> found here.
>
> https://urldefense.proofpoint.com/v2/url?u=https-3A__lkml.org_lkml_2020_10_2_305&d=DwIDaQ&c=nKjWec2b6R0mOyPaz7xtfQ&r=3kUjVPjrPMvlbd3rzgP63W0eewvCq4D-kzQRqaXHOqU&m=aJdSTt0SmQpKGqrsMm9TQ2mCWDH1Vc7arUp0xq-v6Ac&s=n-tXDyWIR5tPvrQ4DUasDgrocxKU3e_A-mh3Nv5JC5A&e=
Here in set_mac_addr driver is being asked to SET the specified mac.
If it fails - device will most probably drop the packets designated for it.
So I think no, you can't put here some random MAC.
Regards,
Igor