All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/8] scsi: Drop struct Scsi_Host->host_lock around SHT->queuecommand()
@ 2010-09-16 22:35 ` Nicholas A. Bellinger
  0 siblings, 0 replies; 14+ messages in thread
From: Nicholas A. Bellinger @ 2010-09-16 22:35 UTC (permalink / raw)
  To: linux-scsi, linux-kernel, Vasu Dev, Tim Chen, Andi Kleen,
	Matthew Wilcox, James Bottomley, Mike Christie
  Cc: James Smart, Andrew Vasquez, FUJITA Tomonori, Hannes Reinecke,
	Joe Eykholt, Christoph Hellwig, Nicholas Bellinger

From: Nicholas Bellinger <nab@linux-iscsi.org>

This patch converts scsi_dispatch_cmd() to only hold struct Scsi_Host->host_lock
for scsi_cmd_get_serial(), and drops the lock because the call into
the LLD with host->hostt->queuecommand().

Signed-off-by: Nicholas A. Bellinger <nab@linux-iscsi.org>
---
 drivers/scsi/scsi.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/drivers/scsi/scsi.c b/drivers/scsi/scsi.c
index ad0ed21..06e5b3a 100644
--- a/drivers/scsi/scsi.c
+++ b/drivers/scsi/scsi.c
@@ -745,6 +745,7 @@ int scsi_dispatch_cmd(struct scsi_cmnd *cmd)
 	 * TODO: kill serial or move to blk layer
 	 */
 	scsi_cmd_get_serial(host, cmd); 
+	spin_unlock_irqrestore(host->host_lock, flags);
 
 	if (unlikely(host->shost_state == SHOST_DEL)) {
 		cmd->result = (DID_NO_CONNECT << 16);
@@ -753,7 +754,7 @@ int scsi_dispatch_cmd(struct scsi_cmnd *cmd)
 		trace_scsi_dispatch_cmd_start(cmd);
 		rtn = host->hostt->queuecommand(cmd, scsi_done);
 	}
-	spin_unlock_irqrestore(host->host_lock, flags);
+
 	if (rtn) {
 		trace_scsi_dispatch_cmd_error(cmd, rtn);
 		if (rtn != SCSI_MLQUEUE_DEVICE_BUSY &&
-- 
1.7.2.3


^ permalink raw reply related	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2010-09-17 18:25 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-09-16 22:35 [PATCH 1/8] scsi: Drop struct Scsi_Host->host_lock around SHT->queuecommand() Nicholas A. Bellinger
2010-09-16 22:35 ` Nicholas A. Bellinger
2010-09-17  2:46 ` James Bottomley
2010-09-17  3:02   ` Nicholas A. Bellinger
2010-09-17  3:20   ` Christoph Hellwig
2010-09-17  7:20   ` Andi Kleen
2010-09-17 12:13     ` James Bottomley
2010-09-17 14:22       ` Andi Kleen
2010-09-17 14:57         ` James Bottomley
2010-09-17 16:37           ` Nicholas A. Bellinger
2010-09-17 16:41             ` Nicholas A. Bellinger
2010-09-17 17:49               ` Tim Chen
2010-09-17 18:21                 ` Nicholas A. Bellinger
2010-09-17 17:24             ` Joe Eykholt

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.