]> www.infradead.org Git - users/jedix/linux-maple.git/commit
mpt3sas: Used "synchronize_irq()"API to synchronize timed-out IO & TMs
authorChaitra P B <chaitra.basappa@broadcom.com>
Fri, 6 May 2016 08:59:31 +0000 (14:29 +0530)
committerChuck Anderson <chuck.anderson@oracle.com>
Wed, 13 Jul 2016 07:37:07 +0000 (00:37 -0700)
commitf6c752623bd28e67fd616076dca9793ce194ee48
treec90caaf648abfe53819355b8598c05c684cb4192
parent74684ad61e1bfb1743c8f67fbbc3e46edcdffbed
mpt3sas: Used "synchronize_irq()"API to synchronize timed-out IO & TMs

Replaced mpt3sas_base_flush_reply_queues() with
mpt3sas_base_sync_reply_irqs(),as mpt3sas_base_flush_reply_queues()
skips over reply queues that are currently busy (i.e. being handled by
interrupt processing in another core). If a reply queue is busy, then
call to synchronize_irq()in mpt3sas_base_sync_reply_irqs()make sures the
other core has finished flushing the queue and completed any calls to
the mid-layer scsi_done() routine.

Signed-off-by: Chaitra P B <chaitra.basappa@broadcom.com>
Reviewed-by: Tomas Henzl <thenzl@redhat.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Orabug: 22529571
(cherry picked from commit 5f0dfb7a9bcc8139958f59ecb9bbd7e738ae702d)
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/mpt3sas/mpt3sas_base.c
drivers/scsi/mpt3sas/mpt3sas_base.h
drivers/scsi/mpt3sas/mpt3sas_scsih.c