From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Nicholas A. Bellinger" Subject: [RFC v4 11/19] qla4xxx: Remove host_lock unlock() + lock() from qla4xxx_queuecommand() Date: Mon, 27 Sep 2010 19:07:03 -0700 Message-ID: <1285639623-7425-1-git-send-email-nab@linux-iscsi.org> Return-path: Sender: linux-kernel-owner@vger.kernel.org To: linux-scsi , linux-kernel , Vasu Dev , Tim Chen , Andi Kleen Cc: James Smart , Andrew Vasquez , FUJITA Tomonori , Hannes Reinecke , Joe Eykholt , Christoph Hellwig , Jon Hawley , MPTFusionLinux , "eata.c maintainer" , Luben Tuikov , mvsas maintainer , pm8001 maintainer Jack Wang , Nicholas Bellinger List-Id: linux-scsi@vger.kernel.org From: Nicholas Bellinger 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. Signed-off-by: Nicholas A. Bellinger --- drivers/scsi/qla4xxx/ql4_os.c | 9 ++------- 1 files changed, 2 insertions(+), 7 deletions(-) diff --git a/drivers/scsi/qla4xxx/ql4_os.c b/drivers/scsi/qla4xxx/ql4_os.c index 370d40f..b14bc71 100644 --- a/drivers/scsi/qla4xxx/ql4_os.c +++ b/drivers/scsi/qla4xxx/ql4_os.c @@ -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; -- 1.7.3