aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/scsi/qla2xxx/qla_bsg.c7
-rw-r--r--drivers/scsi/qla2xxx/qla_init.c3
2 files changed, 6 insertions, 4 deletions
diff --git a/drivers/scsi/qla2xxx/qla_bsg.c b/drivers/scsi/qla2xxx/qla_bsg.c
index 9067629817ea..fdfbf83a6330 100644
--- a/drivers/scsi/qla2xxx/qla_bsg.c
+++ b/drivers/scsi/qla2xxx/qla_bsg.c
@@ -1254,10 +1254,9 @@ qla24xx_iidma(struct fc_bsg_job *bsg_job)
1254 return -EINVAL; 1254 return -EINVAL;
1255 } 1255 }
1256 1256
1257 if (fcport->loop_id == FC_NO_LOOP_ID) { 1257 if (atomic_read(&fcport->state) != FCS_ONLINE) {
1258 DEBUG2(printk(KERN_ERR "%s(%ld): Invalid port loop id, " 1258 DEBUG2(printk(KERN_ERR "%s(%ld): Port not online\n",
1259 "loop_id = 0x%x\n", 1259 __func__, vha->host_no));
1260 __func__, vha->host_no, fcport->loop_id));
1261 return -EINVAL; 1260 return -EINVAL;
1262 } 1261 }
1263 1262
diff --git a/drivers/scsi/qla2xxx/qla_init.c b/drivers/scsi/qla2xxx/qla_init.c
index d863ed2619b5..9f71226e0a3e 100644
--- a/drivers/scsi/qla2xxx/qla_init.c
+++ b/drivers/scsi/qla2xxx/qla_init.c
@@ -2785,6 +2785,9 @@ qla2x00_iidma_fcport(scsi_qla_host_t *vha, fc_port_t *fcport)
2785 if (!IS_IIDMA_CAPABLE(ha)) 2785 if (!IS_IIDMA_CAPABLE(ha))
2786 return; 2786 return;
2787 2787
2788 if (atomic_read(&fcport->state) != FCS_ONLINE)
2789 return;
2790
2788 if (fcport->fp_speed == PORT_SPEED_UNKNOWN || 2791 if (fcport->fp_speed == PORT_SPEED_UNKNOWN ||
2789 fcport->fp_speed > ha->link_data_rate) 2792 fcport->fp_speed > ha->link_data_rate)
2790 return; 2793 return;