mpt3sas driver looping in synchronize_irq() may lead to hangs, soft or hard lockup panics
Issue
A BUG entry is printed in the console log like:
BUG: scheduling while atomic: swapper/28/0/0x10010000
which may be followed by a hang or a soft lockup panic or hard lockup panic (depending on kernel parameters setting for lockup panics) with one of the CPUs showing following bottom of the kernel stack trace:
#27 [ffff8a8c72eebc78] synchronize_irq at ffffffff9c54e5f4
#28 [ffff8a8c72eebcc8] mpt3sas_base_sync_reply_irqs at ffffffffc04906a1 [mpt3sas]
#29 [ffff8a8c72eebcf0] mpt3sas_scsih_issue_tm at ffffffffc04a2952 [mpt3sas]
#30 [ffff8a8c72eebd50] mpt3sas_scsih_issue_locked_tm at ffffffffc04a56d6 [mpt3sas]
#31 [ffff8a8c72eebdb0] scsih_abort at ffffffffc04a5d51 [mpt3sas]
#32 [ffff8a8c72eebdf8] scmd_eh_abort_handler at ffffffff9c8e1696
#33 [ffff8a8c72eebe20] process_one_work at ffffffff9c4bd0ff
#34 [ffff8a8c72eebe68] worker_thread at ffffffff9c4be216
#35 [ffff8a8c72eebec8] kthread at ffffffff9c4c50d1
#36 [ffff8a8c72eebf50] ret_from_fork_nospec_begin at ffffffff9cb8cd1d
Environment
- Red Hat Enterprise Linux 7
- kernel version earlier than kernel-3.10.0-1127.el7
- host bus adapter(s) controlled by mpt3sas driver
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.