[RFC v4 15/19] mpt2sas: Add scsi_cmd_get_serial() call

From: Nicholas A. Bellinger
Date: Mon Sep 27 2010 - 22:08:03 EST


From: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>

This patch adds a scsi_cmd_get_serial() call in _scsih_qcmd() to setup a
valid struct scsi_cmnd->serial_number because mpt2sas_scsih_issue_tm()
still depends upon this being set.

This also includes setting the SHT->unlocked_qcmd=1 for host_lock less mpt2sas
_scsih_qcmd() operation.

Signed-off-by: Nicholas A. Bellinger <nab@xxxxxxxxxxxxxxx>
---
drivers/scsi/mpt2sas/mpt2sas_scsih.c | 6 ++++++
1 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/drivers/scsi/mpt2sas/mpt2sas_scsih.c b/drivers/scsi/mpt2sas/mpt2sas_scsih.c
index 16e99b6..4bedbf2 100644
--- a/drivers/scsi/mpt2sas/mpt2sas_scsih.c
+++ b/drivers/scsi/mpt2sas/mpt2sas_scsih.c
@@ -3325,6 +3325,11 @@ _scsih_qcmd(struct scsi_cmnd *scmd, void (*done)(struct scsi_cmnd *))
u16 smid;

scmd->scsi_done = done;
+ /*
+ * Call scsi_cmd_get_serial() because we need a valid serial number
+ * in mpt2sas_scsih_issue_tm()
+ */
+ scsi_cmd_get_serial(scmd);
sas_device_priv_data = scmd->device->hostdata;
if (!sas_device_priv_data || !sas_device_priv_data->sas_target) {
scmd->result = DID_NO_CONNECT << 16;
@@ -6464,6 +6469,7 @@ static struct scsi_host_template scsih_driver_template = {
.eh_host_reset_handler = _scsih_host_reset,
.bios_param = _scsih_bios_param,
.can_queue = 1,
+ .unlocked_qcmd = 1,
.this_id = -1,
.sg_tablesize = MPT2SAS_SG_DEPTH,
.max_sectors = 8192,
--
1.7.3

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/