Patchwork [BUG-FIX] igbvf: fix the bug when initializing the igbvf

login
register
mail settings
Submitter Shan Wei
Date April 27, 2012, 8:58 a.m.
Message ID <4F9A5FBC.1060607@gmail.com>
Download mbox | patch
Permalink /patch/155397/
State Awaiting Upstream
Delegated to: David Miller
Headers show

Comments

Shan Wei - April 27, 2012, 8:58 a.m.
From: Samuel Liao <samuelliao@tencent.com>


Maybe it's a typo, but it cause that igbvf can't be initialized successfully.
Set perm_addr value using valid dev_addr, although which is equal to hw.mac.addr.


Signed-off-by: Samuel Liao <samuelliao@tencent.com>
Signed-off-by: Shan Wei <davidshan@tencent.com>
---
 drivers/net/ethernet/intel/igbvf/netdev.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)
Jeff Kirsher - April 27, 2012, 9:05 a.m.
On Fri, 2012-04-27 at 16:58 +0800, Shan Wei wrote:
> 
> From: Samuel Liao <samuelliao@tencent.com>
> 
> 
> Maybe it's a typo, but it cause that igbvf can't be initialized
> successfully.
> Set perm_addr value using valid dev_addr, although which is equal to
> hw.mac.addr.
> 
> 
> Signed-off-by: Samuel Liao <samuelliao@tencent.com>
> Signed-off-by: Shan Wei <davidshan@tencent.com>
> ---
>  drivers/net/ethernet/intel/igbvf/netdev.c |    4 ++--
>  1 files changed, 2 insertions(+), 2 deletions(-) 

Thanks Samuel, I will add the patch to my queue.

Patch

diff --git a/drivers/net/ethernet/intel/igbvf/netdev.c b/drivers/net/ethernet/intel/igbvf/netdev.c
index d61ca2a..8ec74b0 100644
--- a/drivers/net/ethernet/intel/igbvf/netdev.c
+++ b/drivers/net/ethernet/intel/igbvf/netdev.c
@@ -2731,14 +2731,14 @@  static int __devinit igbvf_probe(struct pci_dev *pdev,
 			netdev->addr_len);
 	}
 
-	if (!is_valid_ether_addr(netdev->perm_addr)) {
+	if (!is_valid_ether_addr(netdev->dev_addr)) {
 		dev_err(&pdev->dev, "Invalid MAC Address: %pM\n",
 		        netdev->dev_addr);
 		err = -EIO;
 		goto err_hw_init;
 	}
 
-	memcpy(netdev->perm_addr, adapter->hw.mac.addr, netdev->addr_len);
+	memcpy(netdev->perm_addr, netdev->dev_addr, netdev->addr_len);
 
 	setup_timer(&adapter->watchdog_timer, &igbvf_watchdog,
 	            (unsigned long) adapter);