[Linux-kernel-mentees] [PATCH v3] net: usb: rtl8150: set random MAC address when set_ethernet_addr() fails

Anant Thazhemadam anant.thazhemadam at gmail.com
Sat Oct 3 21:45:29 UTC 2020


On 04/10/20 3:05 am, Joe Perches wrote:
> On Sun, 2020-10-04 at 02:49 +0530, Anant Thazhemadam wrote:
>> When get_registers() fails, in set_ethernet_addr(),the uninitialized
>> value of node_id gets copied as the address. This can be considered as
>> set_ethernet_addr() itself failing.
> []
>> diff --git a/drivers/net/usb/rtl8150.c b/drivers/net/usb/rtl8150.c
> []
>> @@ -909,7 +914,10 @@ static int rtl8150_probe(struct usb_interface *intf,
>>  		goto out1;
>>  	}
>>  	fill_skb_pool(dev);
>> -	set_ethernet_addr(dev);
>> +	if (!set_ethernet_addr(dev)) {
>> +		dev_err(&intf->dev, "assigining a random MAC address\n");
>> +		eth_hw_addr_random(dev->netdev);
> 4 things:
> .
> o Typo for assigning
Oh no. I'm sorry about that.
> o Reverse the assignment and message to show the new random MAC
Ah, okay. That would be more informative.
> o This should use netdev_<level>
Understood.
> o Is this better as error or notification?
>
> 	if (!set_ethernet_addr(dev)) {
> 		eth_hw_addr_random(dev->netdev);
> 		netdev_notice(dev->netdev, "Assigned a random MAC: %pM\n",
> 			      dev->netdev->dev_addr);
> 	}
I thought it might be an error since set_ethernet_addr() did fail after
all.  But making it info seems like a better idea, since technically speaking,
the device is still made accessible.

I'll wait for a day or two, to see if anybody else has any other comments,
and send in a v4 incorporating these changes.

Thanks,
Anant


More information about the Linux-kernel-mentees mailing list