scsi: mpt3sas: Fix timeouts observed while reenabling IRQ
authorSreekanth Reddy <sreekanth.reddy@broadcom.com>
Mon, 2 Nov 2020 07:27:46 +0000 (12:57 +0530)
committerMartin K. Petersen <martin.petersen@oracle.com>
Mon, 2 Nov 2020 23:10:41 +0000 (18:10 -0500)
commit5feed64f9199ff90c4239971733f23f30aeb2484
tree3bd09b0b379001ada0ba1702e977bb361b6ff8bc
parent5faf50e9e9fdc2117c61ff7e20da49cd6a29e0ca
scsi: mpt3sas: Fix timeouts observed while reenabling IRQ

While reenabling the IRQ after irq poll there may be small time window
where HBA firmware has posted some replies and raise the interrupts but
driver has not received the interrupts. So we may observe I/O timeouts as
the driver has not processed the replies as interrupts got missed while
reenabling the IRQ.

To fix this issue the driver has to go for one more round of processing the
reply descriptors from reply descriptor post queue after enabling the IRQ.

Link: https://lore.kernel.org/r/20201102072746.27410-1-sreekanth.reddy@broadcom.com
Reported-by: Tomas Henzl <thenzl@redhat.com>
Reviewed-by: Tomas Henzl <thenzl@redhat.com>
Signed-off-by: Sreekanth Reddy <sreekanth.reddy@broadcom.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/mpt3sas/mpt3sas_base.c