diff mbox series

[v2,2/2] igb_main: Assign random MAC address instead of fail in case of invalid one

Message ID 20220512093918.86084-1-lianglixue@greatwall.com.cn
State Changes Requested
Headers show
Series None | expand

Commit Message

lixue liang May 12, 2022, 9:39 a.m. UTC
In some cases, when the user uses igb_set_eeprom to modify the MAC
address to be invalid, the igb driver will fail to load. If there is no
network card device, the user must modify it to a valid MAC address by
other means.

Since the MAC address can be modified ,then add a random valid MAC address
to replace the invalid MAC address in the driver can be workable, it can
continue to finish the loading ,and output the relevant log reminder.

Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: lixue liang <lianglixue@greatwall.com.cn>
---
 drivers/net/ethernet/intel/igb/igb_main.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

Comments

Paul Menzel May 12, 2022, 1:55 p.m. UTC | #1
Dear Lixue,


Thank you for sending version 2. Some more minor nits.

Am 12.05.22 um 11:39 schrieb lixue liang:
> In some cases, when the user uses igb_set_eeprom to modify the MAC
> address to be invalid, the igb driver will fail to load. If there is no
> network card device, the user must modify it to a valid MAC address by
> other means.
> 
> Since the MAC address can be modified ,then add a random valid MAC address
> to replace the invalid MAC address in the driver can be workable, it can
> continue to finish the loading ,and output the relevant log reminder.

Please add the space after the comma.

> Reported-by: kernel test robot <lkp@intel.com>

This line is confusing. Maybe add that to the version change-log below 
the `---`.

> Signed-off-by: lixue liang <lianglixue@greatwall.com.cn>
> ---
>   drivers/net/ethernet/intel/igb/igb_main.c | 8 ++++----
>   1 file changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/net/ethernet/intel/igb/igb_main.c b/drivers/net/ethernet/intel/igb/igb_main.c
> index a513570c2ad6..746233befade 100644
> --- a/drivers/net/ethernet/intel/igb/igb_main.c
> +++ b/drivers/net/ethernet/intel/igb/igb_main.c
> @@ -3359,10 +3359,10 @@ static int igb_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
>   	eth_hw_addr_set(netdev, hw->mac.addr);
>   
>   	if (!is_valid_ether_addr(netdev->dev_addr)) {
> -		eth_random_addr(netdev->dev_addr);
> -		memcpy(hw->mac.addr, netdev->dev_addr, netdev->addr_len);
> -		dev_info(&pdev->dev,
> -			 "Invalid Mac Address, already got random Mac Address\n");
> +		eth_hw_addr_random(netdev);
> +		ether_addr_copy(hw->mac.addr, netdev->dev_addr);
> +		dev_err(&pdev->dev,
> +			"Invalid MAC Address, already assigned random MAC Address\n");

Please spell it MAC address.

>   	}
>   
>   	igb_set_default_mac_filter(adapter);


Kind regards,

Paul
Mateusz Palczewski May 25, 2022, 8:30 a.m. UTC | #2
> Dear Lixue,
> 
> 
> Thank you for sending version 2. Some more minor nits.
> 
> Am 12.05.22 um 11:39 schrieb lixue liang:
> > In some cases, when the user uses igb_set_eeprom to modify the MAC 
> > address to be invalid, the igb driver will fail to load. If there is 
> > no network card device, the user must modify it to a valid MAC address 
> > by other means.
> > 
> > Since the MAC address can be modified ,then add a random valid MAC 
> > address to replace the invalid MAC address in the driver can be 
> > workable, it can continue to finish the loading ,and output the relevant log reminder.
> 
> Please add the space after the comma.
> 
> > Reported-by: kernel test robot <lkp@intel.com>
> 
> This line is confusing. Maybe add that to the version change-log below the `---`.
> 
> > Signed-off-by: lixue liang <lianglixue@greatwall.com.cn>
> > ---
> >   drivers/net/ethernet/intel/igb/igb_main.c | 8 ++++----
> >   1 file changed, 4 insertions(+), 4 deletions(-)
> > 
> > diff --git a/drivers/net/ethernet/intel/igb/igb_main.c
> > b/drivers/net/ethernet/intel/igb/igb_main.c
> > index a513570c2ad6..746233befade 100644
> > --- a/drivers/net/ethernet/intel/igb/igb_main.c
> > +++ b/drivers/net/ethernet/intel/igb/igb_main.c
> > @@ -3359,10 +3359,10 @@ static int igb_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
> >   	eth_hw_addr_set(netdev, hw->mac.addr);
> >   
> >   	if (!is_valid_ether_addr(netdev->dev_addr)) {
> > -		eth_random_addr(netdev->dev_addr);
> > -		memcpy(hw->mac.addr, netdev->dev_addr, netdev->addr_len);
> > -		dev_info(&pdev->dev,
> > -			 "Invalid Mac Address, already got random Mac Address\n");
> > +		eth_hw_addr_random(netdev);
> > +		ether_addr_copy(hw->mac.addr, netdev->dev_addr);
> > +		dev_err(&pdev->dev,
> > +			"Invalid MAC Address, already assigned random MAC Address\n");
> 
> Please spell it MAC address.
> 
> >   	}
> >   
> >   	igb_set_default_mac_filter(adapter);
> 
> 
> Kind regards,
> 
> Paul
> 
Hi, 
Please apply the changes suggested by Paul, other than that this looks good. 

Regards,
Mateusz
Paul Menzel May 30, 2022, 7:47 a.m. UTC | #3
Dear Lixue,

Am 30.05.22 um 05:19 schrieb Lixue Liang:
> From: Lixue Liang <lianglixue@greatwall.com.cn>
> 
> In some cases, when the user uses igb_set_eeprom to modify the MAC
> address to be invalid, the igb driver will fail to load. If there is no
> network card device, the user must modify it to a valid MAC address by
> other means.
> 
> Since the MAC address can be modified, then add a random valid MAC address
> to replace the invalid MAC address in the driver can be workable, it can
> continue to finish the loading, and output the relevant log reminder.
> 
> Signed-off-by: Lixue Liang <lianglixue@greatwall.com.cn>
> ---
>   drivers/net/ethernet/intel/igb/igb_main.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/net/ethernet/intel/igb/igb_main.c b/drivers/net/ethernet/intel/igb/igb_main.c
> index 746233befade..40f43534a3af 100644
> --- a/drivers/net/ethernet/intel/igb/igb_main.c
> +++ b/drivers/net/ethernet/intel/igb/igb_main.c
> @@ -3362,7 +3362,7 @@ static int igb_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
>   		eth_hw_addr_random(netdev);
>   		ether_addr_copy(hw->mac.addr, netdev->dev_addr);
>   		dev_err(&pdev->dev,
> -			"Invalid MAC Address, already assigned random MAC Address\n");
> +			"Invalid MAC address, already assigned random MAC address\n");
>   	}
>   
>   	igb_set_default_mac_filter(adapter);

The diff does not do what is described in the commit message. I also 
just noticed, that it was spelled “MAC Address” before, so it would be 
fine for me if you send in this commit separately (but with the correct 
commit message).


Kind regards,

Paul
diff mbox series

Patch

diff --git a/drivers/net/ethernet/intel/igb/igb_main.c b/drivers/net/ethernet/intel/igb/igb_main.c
index a513570c2ad6..746233befade 100644
--- a/drivers/net/ethernet/intel/igb/igb_main.c
+++ b/drivers/net/ethernet/intel/igb/igb_main.c
@@ -3359,10 +3359,10 @@  static int igb_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
 	eth_hw_addr_set(netdev, hw->mac.addr);
 
 	if (!is_valid_ether_addr(netdev->dev_addr)) {
-		eth_random_addr(netdev->dev_addr);
-		memcpy(hw->mac.addr, netdev->dev_addr, netdev->addr_len);
-		dev_info(&pdev->dev,
-			 "Invalid Mac Address, already got random Mac Address\n");
+		eth_hw_addr_random(netdev);
+		ether_addr_copy(hw->mac.addr, netdev->dev_addr);
+		dev_err(&pdev->dev,
+			"Invalid MAC Address, already assigned random MAC Address\n");
 	}
 
 	igb_set_default_mac_filter(adapter);