Hello, For the first I/O request after boot that is sent to a disk attached to an mpt3sas adapter I see the below complaint appearing in the kernel log. This occurs at least with kernels v4.16-rc4 and v4.16-rc5. What I see in the mpt3sas source code is that _scsih_get_enclosure_logicalid_chassis_slot() is called with interrupts disabled and also that a function called by that function, namely _config_request(), calls mutex_lock(). Can someone who is more familiar than I with the mpt3sas adapter have a look at this and propose a fix? Thanks, Bart. BUG: sleeping function called from invalid context at kernel/locking/mutex.c:747 in_atomic(): 1, irqs_disabled(): 1, pid: 2389, name: kworker/u64:1 INFO: lockdep is turned off. irq event stamp: 278 hardirqs last enabled at (277): [<0000000032c577ec>] _raw_spin_unlock_irq+0x24/0x50 hardirqs last disabled at (278): [<000000006082e2fa>] __schedule+0x120/0x1010 softirqs last enabled at (0): [<000000008c2eb285>] copy_process.part.45+0x930/0x3470 softirqs last disabled at (0): [< (null)>] (null) Preemption disabled at: [<0000000000000000>] (null) CPU: 3 PID: 2389 Comm: kworker/u64:1 Tainted: G W 4.16.0-rc5-dbg+ #1 Workqueue: poll_mpt3sas0_statu _base_fault_reset_work [mpt3sas] Call Trace: dump_stack+0x67/0x90 ___might_sleep+0x1da/0x2c0 __mutex_lock+0xb9/0xbb0 _config_request.constprop.5+0xa3/0xe70 [mpt3sas] mpt3sas_config_get_enclosure_pg0+0xb3/0x110 [mpt3sas] _scsih_get_enclosure_logicalid_chassis_slot+0xf8/0x160 [mpt3sas] mpt3sas_scsih_reset_handler+0x3f6/0xb30 [mpt3sas] mpt3sas_base_hard_reset_handler+0x49a/0x7c0 [mpt3sas] _base_fault_reset_work+0x1bb/0x260 [mpt3sas] process_one_work+0x441/0xa50 worker_thread+0x76/0x6c0 kthread+0x1b2/0x1d0 ret_from_fork+0x24/0x30