scsi: pm80xx: Simultaneous poll for all FW readiness
authorBhavesh Jashnani <bjashnani@google.com>
Sat, 9 Jan 2021 12:38:47 +0000 (18:08 +0530)
committerMartin K. Petersen <martin.petersen@oracle.com>
Wed, 13 Jan 2021 05:02:01 +0000 (00:02 -0500)
commit6b2f2d05b58102f6d1b07806ff170fbcc5cdc3de
treeb49a409a999c9d104d09ff921789cf624782b78f
parentec2e7e1afff5a8a0d91b85e74a0d1e40a0cedacd
scsi: pm80xx: Simultaneous poll for all FW readiness

In check_fw_ready() we first wait for ILA to come up and then we wait for
RAAE to come up and IOPs and so on. This is a sequential check.  Because of
this, ILA image seems to be not ready in the allocated time and so the
driver marks it as "not ready" and then moves on to other FW images.

ILA does become ready eventually, but is not checked again. The driver
concludes that FW is not ready when it actually is.

Instead of sequentially polling each image, we keep polling for all images
to be ready. The timeout for the polling has been set to the sum of what
was used for each individual image.

Link: https://lore.kernel.org/r/20210109123849.17098-7-Viswas.G@microchip.com
Acked-by: Jack Wang <jinpu.wang@cloud.ionos.com>
Signed-off-by: Bhavesh Jashnani <bjashnani@google.com>
Signed-off-by: Viswas G <Viswas.G@microchip.com>
Signed-off-by: Ruksar Devadi <Ruksar.devadi@microchip.com>
Signed-off-by: Ashokkumar N <Ashokkumar.N@microchip.com>
Signed-off-by: Radha Ramachandran <radha@google.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/pm8001/pm80xx_hwi.c