aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/qla4xxx/ql4_iocb.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/scsi/qla4xxx/ql4_iocb.c')
-rw-r--r--drivers/scsi/qla4xxx/ql4_iocb.c14
1 files changed, 3 insertions, 11 deletions
diff --git a/drivers/scsi/qla4xxx/ql4_iocb.c b/drivers/scsi/qla4xxx/ql4_iocb.c
index e4461b5d767a..912a67494adf 100644
--- a/drivers/scsi/qla4xxx/ql4_iocb.c
+++ b/drivers/scsi/qla4xxx/ql4_iocb.c
@@ -66,8 +66,8 @@ static int qla4xxx_get_req_pkt(struct scsi_qla_host *ha,
66 * 66 *
67 * This routine issues a marker IOCB. 67 * This routine issues a marker IOCB.
68 **/ 68 **/
69static int qla4xxx_send_marker_iocb(struct scsi_qla_host *ha, 69int qla4xxx_send_marker_iocb(struct scsi_qla_host *ha,
70 struct ddb_entry *ddb_entry, int lun) 70 struct ddb_entry *ddb_entry, int lun, uint16_t mrkr_mod)
71{ 71{
72 struct qla4_marker_entry *marker_entry; 72 struct qla4_marker_entry *marker_entry;
73 unsigned long flags = 0; 73 unsigned long flags = 0;
@@ -87,7 +87,7 @@ static int qla4xxx_send_marker_iocb(struct scsi_qla_host *ha,
87 marker_entry->hdr.entryType = ET_MARKER; 87 marker_entry->hdr.entryType = ET_MARKER;
88 marker_entry->hdr.entryCount = 1; 88 marker_entry->hdr.entryCount = 1;
89 marker_entry->target = cpu_to_le16(ddb_entry->fw_ddb_index); 89 marker_entry->target = cpu_to_le16(ddb_entry->fw_ddb_index);
90 marker_entry->modifier = cpu_to_le16(MM_LUN_RESET); 90 marker_entry->modifier = cpu_to_le16(mrkr_mod);
91 int_to_scsilun(lun, &marker_entry->lun); 91 int_to_scsilun(lun, &marker_entry->lun);
92 wmb(); 92 wmb();
93 93
@@ -210,14 +210,6 @@ int qla4xxx_send_command_to_isp(struct scsi_qla_host *ha, struct srb * srb)
210 /* Get real lun and adapter */ 210 /* Get real lun and adapter */
211 ddb_entry = srb->ddb; 211 ddb_entry = srb->ddb;
212 212
213 /* Send marker(s) if needed. */
214 if (ha->marker_needed == 1) {
215 if (qla4xxx_send_marker_iocb(ha, ddb_entry,
216 cmd->device->lun) != QLA_SUCCESS)
217 return QLA_ERROR;
218
219 ha->marker_needed = 0;
220 }
221 tot_dsds = 0; 213 tot_dsds = 0;
222 214
223 /* Acquire hardware specific lock */ 215 /* Acquire hardware specific lock */