IB/hfi1: Fix initialization failure for debug firmware
authorByczkowski, Jakub <jakub.byczkowski@intel.com>
Mon, 24 Jul 2017 14:46:24 +0000 (07:46 -0700)
committerDoug Ledford <dledford@redhat.com>
Mon, 31 Jul 2017 19:17:55 +0000 (15:17 -0400)
Loading debug signed firmware fails if started immediately after
failed attempt to load production firmware. A short delay is
required so add about a 100us delay after RSA check failure.

Reviewed-by: Dennis Dalessandro <dennis.dalessandro@intel.com>
Reviewed-by: Easwar Hariharan <easwar.hariharan@intel.com>
Reviewed-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
Signed-off-by: Jakub Byczkowski <jakub.byczkowski@intel.com>
Signed-off-by: Dennis Dalessandro <dennis.dalessandro@intel.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
drivers/infiniband/hw/hfi1/firmware.c

index 4042c11b2742b7f9e689be4aa595961ba6a2f0d1..83efd6bec65722b5ca10fd1fd2fd04ced7e20993 100644 (file)
@@ -615,6 +615,14 @@ retry:
                fw_fabric_serdes_name = ALT_FW_FABRIC_NAME;
                fw_sbus_name = ALT_FW_SBUS_NAME;
                fw_pcie_serdes_name = ALT_FW_PCIE_NAME;
+
+               /*
+                * Add a delay before obtaining and loading debug firmware.
+                * Authorization will fail if the delay between firmware
+                * authorization events is shorter than 50us. Add 100us to
+                * make a delay time safe.
+                */
+               usleep_range(100, 120);
        }
 
        if (fw_sbus_load) {