i40e: warn on newer/older firmware API rev
authorShannon Nelson <shannon.nelson@intel.com>
Wed, 4 Jun 2014 01:41:03 +0000 (01:41 +0000)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Wed, 25 Jun 2014 01:18:47 +0000 (18:18 -0700)
If the firmware's API minor number is larger than the one expected, log
a warning and recommend driver SW update.
If the firmware's API major or minor number is smaller then the one expected
(n for major, n or n-1 for minor), log a warning and recommend NVM update.

Change-ID: If0b887e055478f8e435ba7fa28113b63a6f1bb35
Signed-off-by: Shannon Nelson <shannon.nelson@intel.com>
Signed-off-by: Catherine Sullivan <catherine.sullivan@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/i40e/i40e_main.c

index 80c5d55cf50b9d1610b78b8a35f8e7ac85503ca2..4289ff1e84ef7d6a7b89f8d6407740805c9c5e04 100644 (file)
@@ -8633,6 +8633,20 @@ static int i40e_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
                goto err_pf_reset;
        }
 
+       if (hw->aq.api_min_ver > I40E_FW_API_VERSION_MINOR)
+               dev_info(&pdev->dev,
+                        "Note: FW API version %02x.%02x newer than expected %02x.%02x, recommend driver update.\n",
+                        hw->aq.api_maj_ver, hw->aq.api_min_ver,
+                        I40E_FW_API_VERSION_MAJOR, I40E_FW_API_VERSION_MINOR);
+
+       if (hw->aq.api_maj_ver < I40E_FW_API_VERSION_MAJOR ||
+           hw->aq.api_min_ver < (I40E_FW_API_VERSION_MINOR-1))
+               dev_info(&pdev->dev,
+                        "Note: FW API version %02x.%02x older than expected %02x.%02x, recommend nvm update.\n",
+                        hw->aq.api_maj_ver, hw->aq.api_min_ver,
+                        I40E_FW_API_VERSION_MAJOR, I40E_FW_API_VERSION_MINOR);
+
+
        i40e_verify_eeprom(pf);
 
        /* Rev 0 hardware was never productized */