target: use save/restore lock primitive in core_dec_lacl_count()
authorSebastian Andrzej Siewior <bigeasy@linutronix.de>
Tue, 10 Jan 2012 13:16:58 +0000 (14:16 +0100)
committerNicholas Bellinger <nab@linux-iscsi.org>
Wed, 18 Jan 2012 08:30:39 +0000 (08:30 +0000)
commit1dd0a0674530da61cdbfadd88c96949b483a7c19
tree5e47fe019fb7961883b3104a043eff71392c0ff2
parente59a41b69a8e116d5ac8c95c4222f5a971f66bbd
target: use save/restore lock primitive in core_dec_lacl_count()

It may happen that uasp will free the request in irq conntext, the
callchain:

 uasp_cmd_release() -> transport_generic_free_cmd() -> core_dec_lacl_count()

where the last function enables the IRQ. Those irqs are re-disabled
later (due to the spin.*irq_restore) but in between we could get hurt.

Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
drivers/target/target_core_device.c