Skip to contentSkip to conversation

qla4xxx: Remove host_lock unlock() + lock() from qla4xxx_queuecommand()

RFC In review Nicholas A. Bellinger 1 participant 1 message Sep 28, 2010

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

RFC v4 11/19 qla4xxx: Remove host_lock unlock() + lock() from qla4xxx_queuecommand()

From: Nicholas Bellinger <[email protected]>

This patch removes the now legacy host_lock unlock() + lock() optimization from ql4_os.c:qla4xxx_queuecommand(). This also includes setting the SHT->unlocked_qcmd=1 for host_lock less qla4xxx qla4xxx_queuecommand operation.

---
 drivers/scsi/qla4xxx/ql4_os.c |    9 ++-------
 1 files changed, 2 insertions(+), 7 deletions(-)
drivers/scsi/qla4xxx/ql4_os.c +2 -7
index 370d40f..b14bc71 100644
@@ -113,6 +113,7 @@ static struct scsi_host_template qla4xxx_driver_template = {
 	.scan_start		= qla4xxx_scan_start,
 
 	.this_id		= -1,
+	.unlocked_qcmd		= 1,
 	.cmd_per_lun		= 3,
 	.use_clustering		= ENABLE_CLUSTERING,
 	.sg_tablesize		= SG_ALL,
@@ -511,26 +512,20 @@ static int qla4xxx_queuecommand(struct scsi_cmnd *cmd,
 	    test_bit(DPC_RESET_HA_FW_CONTEXT, &ha->dpc_flags))
 		goto qc_host_busy;
 
-	spin_unlock_irq(ha->host->host_lock);
-
 	srb = qla4xxx_get_new_srb(ha, ddb_entry, cmd, done);
 	if (!srb)
-		goto qc_host_busy_lock;
+		goto qc_host_busy;
 
 	rval = qla4xxx_send_command_to_isp(ha, srb);
 	if (rval != QLA_SUCCESS)
 		goto qc_host_busy_free_sp;
 
-	spin_lock_irq(ha->host->host_lock);
 	return 0;
 
 qc_host_busy_free_sp:
 	qla4xxx_srb_free_dma(ha, srb);
 	mempool_free(srb, ha->srb_mempool);
 
-qc_host_busy_lock:
-	spin_lock_irq(ha->host->host_lock);
-
 qc_host_busy:
 	return SCSI_MLQUEUE_HOST_BUSY;
 
Signature · 1 line
1.7.3