Skip to contentSkip to conversation

qla2xxx: Remove host_lock unlock() + lock() from qla2xxx_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 12/19 qla2xxx: Remove host_lock unlock() + lock() from qla2xxx_queuecommand()

From: Nicholas Bellinger <[email protected]>

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

---
 drivers/scsi/qla2xxx/qla_os.c |    8 +++-----
 1 files changed, 3 insertions(+), 5 deletions(-)
drivers/scsi/qla2xxx/qla_os.c +3 -5
index 1e4bff6..5654f1b 100644
@@ -204,6 +204,7 @@ struct scsi_host_template qla2xxx_driver_template = {
 	.scan_start		= qla2xxx_scan_start,
 	.change_queue_depth	= qla2x00_change_queue_depth,
 	.change_queue_type	= qla2x00_change_queue_type,
+	.unlocked_qcmd		= 1,
 	.this_id		= -1,
 	.cmd_per_lun		= 3,
 	.use_clustering		= ENABLE_CLUSTERING,
@@ -574,11 +575,9 @@ qla2xxx_queuecommand(struct scsi_cmnd *cmd, void (*done)(struct scsi_cmnd *))
 		goto qc24_target_busy;
 	}
 
-	spin_unlock_irq(vha->host->host_lock);
-
 	sp = qla2x00_get_new_sp(base_vha, fcport, cmd, done);
 	if (!sp)
-		goto qc24_host_busy_lock;
+		goto qc24_host_busy;
 
 	rval = ha->isp_ops->start_scsi(sp);
 	if (rval != QLA_SUCCESS)
@@ -592,8 +591,7 @@ qc24_host_busy_free_sp:
 	qla2x00_sp_free_dma(sp);
 	mempool_free(sp, ha->srb_mempool);
 
-qc24_host_busy_lock:
-	spin_lock_irq(vha->host->host_lock);
+qc24_host_busy:
 	return SCSI_MLQUEUE_HOST_BUSY;
 
 qc24_target_busy:
Signature · 1 line
1.7.3