diff options
author | Bart Van Assche <bvanassche@acm.org> | 2023-01-18 10:05:57 -0800 |
---|---|---|
committer | Martin K. Petersen <martin.petersen@oracle.com> | 2023-01-18 19:16:02 -0500 |
commit | 0bfe63d075789456e9589457b29d6f9c279e3252 (patch) | |
tree | 8f2dcd2ee7535cf59961fd3335b8acd2f80ffb7f /drivers/clocksource/timer-tegra186.c | |
parent | f484a794e4ee2a9ce61f52a78e810ac45f3fe3b3 (diff) | |
download | linux-0bfe63d075789456e9589457b29d6f9c279e3252.tar.gz linux-0bfe63d075789456e9589457b29d6f9c279e3252.tar.bz2 linux-0bfe63d075789456e9589457b29d6f9c279e3252.zip |
scsi: device_handler: alua: Remove a might_sleep() annotation
The might_sleep() annotation in alua_rtpg_queue() is not correct since the
command completion code may call this function from atomic context.
Calling alua_rtpg_queue() from atomic context in the command completion
path is fine since request submitters must hold an sdev reference until
command execution has completed. This patch fixes the following kernel
complaint:
BUG: sleeping function called from invalid context at drivers/scsi/device_handler/scsi_dh_alua.c:992
Call Trace:
dump_stack_lvl+0xac/0x100
__might_resched+0x284/0x2c8
alua_rtpg_queue+0x3c/0x98 [scsi_dh_alua]
alua_check+0x122/0x250 [scsi_dh_alua]
alua_check_sense+0x172/0x228 [scsi_dh_alua]
scsi_check_sense+0x8a/0x2e0
scsi_decide_disposition+0x286/0x298
scsi_complete+0x6a/0x108
blk_complete_reqs+0x6e/0x88
__do_softirq+0x13e/0x6b8
__irq_exit_rcu+0x14a/0x170
irq_exit_rcu+0x22/0x50
do_ext_irq+0x10a/0x1d0
Link: https://lore.kernel.org/r/20230118180557.1212577-1-bvanassche@acm.org
Reported-by: Steffen Maier <maier@linux.ibm.com>
Reviewed-by: Martin Wilck <mwilck@suse.com>
Tested-by: Steffen Maier <maier@linux.ibm.com>
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Diffstat (limited to 'drivers/clocksource/timer-tegra186.c')
0 files changed, 0 insertions, 0 deletions