diff options
author | Maurizio Lombardi <[email protected]> | 2023-12-19 17:48:23 +0100 |
---|---|---|
committer | Keith Busch <[email protected]> | 2023-12-19 12:41:05 -0800 |
commit | f6fe0b2d35457c10ec37acc209d19726bdc16dbd (patch) | |
tree | 4ac5d05d775f0b0d9aeae6cd4c17e008731a0997 /net/unix | |
parent | d3e8b1858734bf46cda495be4165787b9a3981a6 (diff) |
nvme-pci: fix sleeping function called from interrupt context
the nvme_handle_cqe() interrupt handler calls nvme_complete_async_event()
but the latter may call nvme_auth_stop() which is a blocking function.
Sleeping functions can't be called in interrupt context
BUG: sleeping function called from invalid context
in_atomic(): 1, irqs_disabled(): 1, non_block: 0, pid: 0, name: swapper/15
Call Trace:
<IRQ>
__cancel_work_timer+0x31e/0x460
? nvme_change_ctrl_state+0xcf/0x3c0 [nvme_core]
? nvme_change_ctrl_state+0xcf/0x3c0 [nvme_core]
nvme_complete_async_event+0x365/0x480 [nvme_core]
nvme_poll_cq+0x262/0xe50 [nvme]
Fix the bug by moving nvme_auth_stop() to fw_act_work
(executed by the nvme_wq workqueue)
Fixes: f50fff73d620 ("nvme: implement In-Band authentication")
Signed-off-by: Maurizio Lombardi <[email protected]>
Reviewed-by: Jens Axboe <[email protected]>
Reviewed-by: Sagi Grimberg <[email protected]>
Signed-off-by: Keith Busch <[email protected]>
Diffstat (limited to 'net/unix')
0 files changed, 0 insertions, 0 deletions