diff options
author | Byczkowski, Jakub | 2017-07-24 16:46:24 +0200 |
---|---|---|
committer | Doug Ledford | 2017-07-31 21:17:55 +0200 |
commit | a156abb3cf14112d3aa3f3a9ba880d48cf064cef (patch) | |
tree | 798624801e66e7d62fe232e20b8ef0a33deadec5 /drivers/infiniband/hw/hfi1/firmware.c | |
parent | IB/hfi1: Fix code consistency for if/else blocks in chip.c (diff) | |
download | kernel-qcow2-linux-a156abb3cf14112d3aa3f3a9ba880d48cf064cef.tar.gz kernel-qcow2-linux-a156abb3cf14112d3aa3f3a9ba880d48cf064cef.tar.xz kernel-qcow2-linux-a156abb3cf14112d3aa3f3a9ba880d48cf064cef.zip |
IB/hfi1: Fix initialization failure for debug firmware
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>
Diffstat (limited to 'drivers/infiniband/hw/hfi1/firmware.c')
-rw-r--r-- | drivers/infiniband/hw/hfi1/firmware.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/infiniband/hw/hfi1/firmware.c b/drivers/infiniband/hw/hfi1/firmware.c index 4042c11b2742..83efd6bec657 100644 --- a/drivers/infiniband/hw/hfi1/firmware.c +++ b/drivers/infiniband/hw/hfi1/firmware.c @@ -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) { |