diff options
Diffstat (limited to 'drivers/scsi/qla2xxx/qla_os.c')
-rw-r--r-- | drivers/scsi/qla2xxx/qla_os.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/scsi/qla2xxx/qla_os.c b/drivers/scsi/qla2xxx/qla_os.c index 15ce69eaaf4d..47208984903d 100644 --- a/drivers/scsi/qla2xxx/qla_os.c +++ b/drivers/scsi/qla2xxx/qla_os.c | |||
@@ -2513,6 +2513,7 @@ qla2x00_schedule_rport_del(struct scsi_qla_host *vha, fc_port_t *fcport, | |||
2513 | { | 2513 | { |
2514 | struct fc_rport *rport; | 2514 | struct fc_rport *rport; |
2515 | scsi_qla_host_t *base_vha; | 2515 | scsi_qla_host_t *base_vha; |
2516 | unsigned long flags; | ||
2516 | 2517 | ||
2517 | if (!fcport->rport) | 2518 | if (!fcport->rport) |
2518 | return; | 2519 | return; |
@@ -2520,9 +2521,9 @@ qla2x00_schedule_rport_del(struct scsi_qla_host *vha, fc_port_t *fcport, | |||
2520 | rport = fcport->rport; | 2521 | rport = fcport->rport; |
2521 | if (defer) { | 2522 | if (defer) { |
2522 | base_vha = pci_get_drvdata(vha->hw->pdev); | 2523 | base_vha = pci_get_drvdata(vha->hw->pdev); |
2523 | spin_lock_irq(vha->host->host_lock); | 2524 | spin_lock_irqsave(vha->host->host_lock, flags); |
2524 | fcport->drport = rport; | 2525 | fcport->drport = rport; |
2525 | spin_unlock_irq(vha->host->host_lock); | 2526 | spin_unlock_irqrestore(vha->host->host_lock, flags); |
2526 | set_bit(FCPORT_UPDATE_NEEDED, &base_vha->dpc_flags); | 2527 | set_bit(FCPORT_UPDATE_NEEDED, &base_vha->dpc_flags); |
2527 | qla2xxx_wake_dpc(base_vha); | 2528 | qla2xxx_wake_dpc(base_vha); |
2528 | } else | 2529 | } else |