scsi: mpi3mr: Improve wait logic while controller transitions to READY state
authorRanjan Kumar <ranjan.kumar@broadcom.com>
Thu, 5 Sep 2024 10:27:52 +0000 (15:57 +0530)
committerMartin K. Petersen <martin.petersen@oracle.com>
Fri, 13 Sep 2024 01:10:13 +0000 (21:10 -0400)
commit4616a4b3cb8aa736882f8dc392cf146365ead2a4
treee2da6c3efeb388d39db9a55c084f529fede8977b
parent6e4c825f267ed151596fe2554cfa457b9aaa7edf
scsi: mpi3mr: Improve wait logic while controller transitions to READY state

During controller transitioning to READY state, if the controller is found
in transient states ("becoming ready" or "reset requested"), driver waits
for 510 secs even if the controller transitions out of these states
early. This causes an unnecessary delay of 510 secs in the overall firmware
initialization sequence.

Poll the controller state periodically (every 100 milliseconds) while
waiting for the controller to come out of the mentioned transient
states. Once the controller transits out of the transient states, come out
of the wait loop.

Signed-off-by: Sumit Saxena <sumit.saxena@broadcom.com>
Signed-off-by: Ranjan Kumar <ranjan.kumar@broadcom.com>
Link: https://lore.kernel.org/r/20240905102753.105310-5-ranjan.kumar@broadcom.com
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/mpi3mr/mpi3mr_fw.c