diff options
Diffstat (limited to 'drivers/scsi/qla2xxx')
-rw-r--r-- | drivers/scsi/qla2xxx/qla_attr.c | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/drivers/scsi/qla2xxx/qla_attr.c b/drivers/scsi/qla2xxx/qla_attr.c index 560641aa3a5c..c9781050c9ed 100644 --- a/drivers/scsi/qla2xxx/qla_attr.c +++ b/drivers/scsi/qla2xxx/qla_attr.c | |||
@@ -1547,22 +1547,22 @@ qla2x00_dev_loss_tmo_callbk(struct fc_rport *rport) | |||
1547 | if (!fcport) | 1547 | if (!fcport) |
1548 | return; | 1548 | return; |
1549 | 1549 | ||
1550 | if (test_bit(ABORT_ISP_ACTIVE, &fcport->vha->dpc_flags)) | ||
1551 | return; | ||
1552 | |||
1553 | if (unlikely(pci_channel_offline(fcport->vha->hw->pdev))) { | ||
1554 | qla2x00_abort_all_cmds(fcport->vha, DID_NO_CONNECT << 16); | ||
1555 | return; | ||
1556 | } | ||
1557 | |||
1558 | /* | 1550 | /* |
1559 | * Transport has effectively 'deleted' the rport, clear | 1551 | * Transport has effectively 'deleted' the rport, clear |
1560 | * all local references. | 1552 | * all local references. |
1561 | */ | 1553 | */ |
1562 | spin_lock_irq(host->host_lock); | 1554 | spin_lock_irq(host->host_lock); |
1563 | fcport->rport = NULL; | 1555 | fcport->rport = fcport->drport = NULL; |
1564 | *((fc_port_t **)rport->dd_data) = NULL; | 1556 | *((fc_port_t **)rport->dd_data) = NULL; |
1565 | spin_unlock_irq(host->host_lock); | 1557 | spin_unlock_irq(host->host_lock); |
1558 | |||
1559 | if (test_bit(ABORT_ISP_ACTIVE, &fcport->vha->dpc_flags)) | ||
1560 | return; | ||
1561 | |||
1562 | if (unlikely(pci_channel_offline(fcport->vha->hw->pdev))) { | ||
1563 | qla2x00_abort_all_cmds(fcport->vha, DID_NO_CONNECT << 16); | ||
1564 | return; | ||
1565 | } | ||
1566 | } | 1566 | } |
1567 | 1567 | ||
1568 | static void | 1568 | static void |