ibmvnic: fix firmware version when no firmware level has been provided by the VIOS...
authorDesnes Augusto Nunes do Rosario <desnesn@linux.vnet.ibm.com>
Thu, 1 Feb 2018 18:04:30 +0000 (16:04 -0200)
committerDavid S. Miller <davem@davemloft.net>
Thu, 1 Feb 2018 19:57:33 +0000 (14:57 -0500)
Older versions of VIOS servers do not send the firmware level in the VPD
buffer for the ibmvnic driver. Thus, not only the current message is mis-
leading but the firmware version in the ethtool will be NULL. Therefore,
this patch fixes the firmware string and its warning.

Fixes: 4e6759be28e4 ("ibmvnic: Feature implementation of VPD for the ibmvnic driver")
Signed-off-by: Desnes A. Nunes do Rosario <desnesn@linux.vnet.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/ibm/ibmvnic.c

index 8c3058d5d19180897be0755f78c63336bbcf6ad0..7f0bea2104abe99279187b7910c9bb4b89cb3bf9 100644 (file)
@@ -3305,7 +3305,11 @@ static void handle_vpd_rsp(union ibmvnic_crq *crq,
         */
        substr = strnstr(adapter->vpd->buff, "RM", adapter->vpd->len);
        if (!substr) {
-               dev_info(dev, "No FW level provided by VPD\n");
+               dev_info(dev, "Warning - No FW level has been provided in the VPD buffer by the VIOS Server\n");
+               ptr = strncpy((char *)adapter->fw_version, "N/A",
+                             3 * sizeof(char));
+               if (!ptr)
+                       dev_err(dev, "Failed to inform that firmware version is unavailable to the adapter\n");
                goto complete;
        }