summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorRoland Dreier <roland@purestorage.com>2011-08-16 09:40:01 -0700
committerNicholas Bellinger <nab@linux-iscsi.org>2011-08-22 19:28:36 +0000
commit28638887f351d11867562322b7abaa014dd5528a (patch)
tree6540c800b66ef3045e942125e57b756053fc84b5 /lib
parente63a8e1933a2218cf801e46dd01bd8cca4a555ec (diff)
downloadblackbird-op-linux-28638887f351d11867562322b7abaa014dd5528a.tar.gz
blackbird-op-linux-28638887f351d11867562322b7abaa014dd5528a.zip
target: Convert acl_node_lock to be IRQ-disabling
With qla2xxx, acl_node_lock is taken inside qla2xxx's hardware_lock, which is taken in hardirq context. This means acl_node_lock must become an IRQ-disabling lock; in particular this fixes lockdep warnings along the lines of ====================================================== [ INFO: HARDIRQ-safe -> HARDIRQ-unsafe lock order detected ] (&(&se_tpg->acl_node_lock)->rlock){+.....}, at: [<ffffffffa026f872>] transport_deregister_session+0x92/0x140 [target_core_mod] and this task is already holding: (&(&ha->hardware_lock)->rlock){-.-...}, at: [<ffffffffa017c5e7>] qla_tgt_stop_phase1+0x57/0x2c0 [qla2xxx] which would create a new lock dependency: (&(&ha->hardware_lock)->rlock){-.-...} -> (&(&se_tpg->acl_node_lock)->rlock){+.....} but this new dependency connects a HARDIRQ-irq-safe lock: (&(&ha->hardware_lock)->rlock){-.-...} to a HARDIRQ-irq-unsafe lock: (&(&se_tpg->acl_node_lock)->rlock){+.....} Signed-off-by: Roland Dreier <roland@purestorage.com> Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
Diffstat (limited to 'lib')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud