diff options
Diffstat (limited to 'drivers/scsi/qla4xxx/ql4_iocb.c')
-rw-r--r-- | drivers/scsi/qla4xxx/ql4_iocb.c | 14 |
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 | **/ |
69 | static int qla4xxx_send_marker_iocb(struct scsi_qla_host *ha, | 69 | int 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 */ |