]> git.baikalelectronics.ru Git - kernel.git/commit
scsi: target: core: Replace in_interrupt() usage in target_submit_cmd_map_sgls()
authorSebastian Andrzej Siewior <bigeasy@linutronix.de>
Sun, 20 Dec 2020 20:36:37 +0000 (21:36 +0100)
committerMartin K. Petersen <martin.petersen@oracle.com>
Sat, 23 Jan 2021 01:25:25 +0000 (20:25 -0500)
commitaf57f7d556dedda0dcb75d2e68606b1480f75470
treec08fbb216c552524f539331582205fd76fa56d55
parent6037ff288db11260a441b77666d0d19b338c5033
scsi: target: core: Replace in_interrupt() usage in target_submit_cmd_map_sgls()

target_submit_cmd_map_sgls() uses in_interrupt() to crash if it returns
true.

The usage of in_interrupt() in drivers is phased out and Linus clearly
requested that code which changes behaviour depending on context should
either be separated or the context be conveyed in an argument passed by the
caller, which usually knows the context.

The usage of in_interrupt() is clearly for debugging. might_sleep() is
better at this because it also detects other contexts in which it is not
allowed to sleep, like preempt-disabled section.

Replace BUG_ON(in_interrupt) with might_sleep().

Link: https://lore.kernel.org/r/20201220203638.43615-6-bigeasy@linutronix.de
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/target/target_core_transport.c