scsi: mpt3sas: Fix sync irqs
authorTomas Henzl <thenzl@redhat.com>
Thu, 10 Sep 2020 14:21:26 +0000 (16:21 +0200)
committerMartin K. Petersen <martin.petersen@oracle.com>
Tue, 15 Sep 2020 22:36:50 +0000 (18:36 -0400)
commit45181eab8ba79ed7a41b549f00500c0093828521
tree4ae7cfd9b4ad622d783be89718aa209a372321fd
parentf38c43a0e9007e1f21a47a199643a16666902928
scsi: mpt3sas: Fix sync irqs

_base_process_reply_queue() called from _base_interrupt() may schedule a
new irq poll. Fix this by calling synchronize_irq() first.

Also ensure that enable_irq() is called only when necessary to avoid
"Unbalanced enable for IRQ..." errors.

Link: https://lore.kernel.org/r/20200910142126.8147-1-thenzl@redhat.com
Fixes: 320e77acb327 ("scsi: mpt3sas: Irq poll to avoid CPU hard lockups")
Acked-by: Sreekanth Reddy <sreekanth.reddy@broadcom.com>
Signed-off-by: Tomas Henzl <thenzl@redhat.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/mpt3sas/mpt3sas_base.c