1. 16 3月, 2014 1 次提交
  2. 19 12月, 2013 1 次提交
  3. 03 9月, 2013 5 次提交
  4. 09 7月, 2013 1 次提交
  5. 12 4月, 2013 1 次提交
  6. 06 4月, 2013 2 次提交
  7. 22 2月, 2013 11 次提交
  8. 30 11月, 2012 6 次提交
  9. 09 10月, 2012 1 次提交
    • J
      [SCSI] qla2xxx: fix potential deadlock on ha->hardware_lock · f24b5cb8
      Jiri Kosina 提交于
      Lockdep reports:
      
      === [ cut here ] ===
       =========================================================
       [ INFO: possible irq lock inversion dependency detected ]
       3.6.0-0.0.0.28.36b5ec9-default #1 Not tainted
       ---------------------------------------------------------
       qla2xxx_1_dpc/368 just changed the state of lock:
        (&(&ha->vport_slock)->rlock){+.....}, at: [<ffffffffa009b377>] qla2x00_configure_hba+0x197/0x3c0 [qla2xxx]
       but this lock was taken by another, HARDIRQ-safe lock in the past:
        (&(&ha->hardware_lock)->rlock){-.....}
      
      and interrupts could create inverse lock ordering between them.
      
      other info that might help us debug this:
       Possible interrupt unsafe locking scenario:
      
             CPU0                    CPU1
             ----                    ----
        lock(&(&ha->vport_slock)->rlock);
                                     local_irq_disable();
                                     lock(&(&ha->hardware_lock)->rlock);
                                     lock(&(&ha->vport_slock)->rlock);
        <Interrupt>
          lock(&(&ha->hardware_lock)->rlock);
      === [ cut here ] ===
      
      Fix the potential deadlock by disabling IRQs while holding ha->vport_slock.
      Reported-and-tested-by: NSrivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com>
      Signed-off-by: NJiri Kosina <jkosina@suse.cz>
      Acked-by: NSaurav Kashyap <saurav.kashyap@qlogic.com>
      Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
      f24b5cb8
  10. 24 9月, 2012 11 次提交