mpt3sas driver looping in synchronize_irq() may lead to hangs, soft or hard lockup panics

Solution Verified - Updated -

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.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content