scsi: mpt3sas: Don't call disable_irq from IRQ poll handler
[ Upstream commitb614d55b97
] disable_irq() might sleep, replace it with disable_irq_nosync(). For synchronisation 'irq_poll_scheduled' is sufficient Fixes:320e77acb3
scsi: mpt3sas: Irq poll to avoid CPU hard lockups Link: https://lore.kernel.org/r/20200901145026.12174-1-thenzl@redhat.com Signed-off-by: Tomas Henzl <thenzl@redhat.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
aa204e20f4
commit
122cdbd501
|
@ -1632,7 +1632,7 @@ _base_irqpoll(struct irq_poll *irqpoll, int budget)
|
||||||
reply_q = container_of(irqpoll, struct adapter_reply_queue,
|
reply_q = container_of(irqpoll, struct adapter_reply_queue,
|
||||||
irqpoll);
|
irqpoll);
|
||||||
if (reply_q->irq_line_enable) {
|
if (reply_q->irq_line_enable) {
|
||||||
disable_irq(reply_q->os_irq);
|
disable_irq_nosync(reply_q->os_irq);
|
||||||
reply_q->irq_line_enable = false;
|
reply_q->irq_line_enable = false;
|
||||||
}
|
}
|
||||||
num_entries = _base_process_reply_queue(reply_q);
|
num_entries = _base_process_reply_queue(reply_q);
|
||||||
|
|
Loading…
Reference in New Issue