igb: Don't look for a PBA in the iNVM when flashless
authorTodd Fujinaka <todd.fujinaka@intel.com>
Fri, 23 Aug 2013 07:49:00 +0000 (07:49 +0000)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Wed, 4 Sep 2013 10:40:05 +0000 (03:40 -0700)
When a part is flashless, do not look for a PBA in the iNVM.

Signed-off-by: Todd Fujinaka <todd.fujinaka@intel.com>
Tested-by: Aaron Brown <aaron.f.brown@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/igb/igb_main.c

index df33c4b8fa8198846a024df90b70b37afa9c2260..78f49cf94e82da0a4d19205717795c055d92f683 100644 (file)
@@ -2367,7 +2367,14 @@ static int igb_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
                          "Width x1" : "unknown"), netdev->dev_addr);
        }
 
-       ret_val = igb_read_part_string(hw, part_str, E1000_PBANUM_LENGTH);
+       if ((hw->mac.type >= e1000_i210 ||
+            igb_get_flash_presence_i210(hw))) {
+               ret_val = igb_read_part_string(hw, part_str,
+                                              E1000_PBANUM_LENGTH);
+       } else {
+               ret_val = -E1000_ERR_INVM_VALUE_NOT_FOUND;
+       }
+
        if (ret_val)
                strcpy(part_str, "Unknown");
        dev_info(&pdev->dev, "%s: PBA No: %s\n", netdev->name, part_str);