IB/hfi1: Disambiguate corruption and uninitialized error cases
authorJan Sokolowski <jan.sokolowski@intel.com>
Sat, 29 Jul 2017 15:43:37 +0000 (08:43 -0700)
committerDoug Ledford <dledford@redhat.com>
Mon, 31 Jul 2017 19:18:38 +0000 (15:18 -0400)
The error messages when checksum validation of the platform
configuration fields populated into the ASIC scratch registers fails are
ambiguous. Disambiguate them.

Reviewed-by: Jakub Byczkowski <jakub.byczkowski@intel.com>
Signed-off-by: Easwar Hariharan <easwar.hariharan@intel.com>
Signed-off-by: Jan Sokolowski <jan.sokolowski@intel.com>
Signed-off-by: Dennis Dalessandro <dennis.dalessandro@intel.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
drivers/infiniband/hw/hfi1/platform.c

index 41307e4..5c38a24 100644 (file)
@@ -58,8 +58,13 @@ static int validate_scratch_checksum(struct hfi1_devdata *dd)
        version = (temp_scratch & BITMAP_VERSION_SMASK) >> BITMAP_VERSION_SHIFT;
 
        /* Prevent power on default of all zeroes from passing checksum */
-       if (!version)
+       if (!version) {
+               dd_dev_err(dd, "%s: Config bitmap uninitialized\n", __func__);
+               dd_dev_err(dd,
+                          "%s: Please update your BIOS to support active channels\n",
+                          __func__);
                return 0;
+       }
 
        /*
         * ASIC scratch 0 only contains the checksum and bitmap version as
@@ -84,6 +89,8 @@ static int validate_scratch_checksum(struct hfi1_devdata *dd)
 
        if (checksum + temp_scratch == 0xFFFF)
                return 1;
+
+       dd_dev_err(dd, "%s: Configuration bitmap corrupted\n", __func__);
        return 0;
 }
 
@@ -144,11 +151,6 @@ void get_platform_config(struct hfi1_devdata *dd)
                        save_platform_config_fields(dd);
                        return;
                }
-               dd_dev_err(dd, "%s: Config bitmap corrupted/uninitialized\n",
-                          __func__);
-               dd_dev_err(dd,
-                          "%s: Please update your BIOS to support active channels\n",
-                          __func__);
        } else {
                ret = eprom_read_platform_config(dd,
                                                 (void **)&temp_platform_config,