On Wed, 2010-10-27 at 13:23 -0500, Mike Christie wrote: > On 10/26/2010 07:32 PM, Nicholas A. Bellinger wrote: > > diff --git a/drivers/scsi/iscsi_tcp.c b/drivers/scsi/iscsi_tcp.c > > index fec47de..f5933dd 100644 > > --- a/drivers/scsi/iscsi_tcp.c > > +++ b/drivers/scsi/iscsi_tcp.c > > @@ -882,6 +882,7 @@ static struct scsi_host_template iscsi_sw_tcp_sht = { > > .target_alloc = iscsi_target_alloc, > > .proc_name = "iscsi_tcp", > > .this_id = -1, > > + .unlocked_qcmd = 1, > > }; > > > > static struct iscsi_transport iscsi_sw_tcp_transport = { > > diff --git a/drivers/scsi/libiscsi.c b/drivers/scsi/libiscsi.c > > index 633e090..7e4134e 100644 > > --- a/drivers/scsi/libiscsi.c > > +++ b/drivers/scsi/libiscsi.c > > @@ -1615,7 +1615,6 @@ int iscsi_queuecommand(struct scsi_cmnd *sc, void (*done)(struct scsi_cmnd *)) > > > > host = sc->device->host; > > ihost = shost_priv(host); > > - spin_unlock(host->host_lock); > > > > cls_session = starget_to_session(scsi_target(sc->device)); > > session = cls_session->dd_data; > > @@ -1706,7 +1705,6 @@ int iscsi_queuecommand(struct scsi_cmnd *sc, void (*done)(struct scsi_cmnd *)) > > > > session->queued_cmdsn++; > > spin_unlock(&session->lock); > > - spin_lock(host->host_lock); > > return 0; > > > > prepd_reject: > > @@ -1716,7 +1714,6 @@ reject: > > spin_unlock(&session->lock); > > ISCSI_DBG_SESSION(session, "cmd 0x%x rejected (%d)\n", > > sc->cmnd[0], reason); > > - spin_lock(host->host_lock); > > return SCSI_MLQUEUE_TARGET_BUSY; > > > > prepd_fault: > > @@ -1733,7 +1730,6 @@ fault: > > scsi_in(sc)->resid = scsi_in(sc)->length; > > } > > done(sc); > > - spin_lock(host->host_lock); > > return 0; > > } > > EXPORT_SYMBOL_GPL(iscsi_queuecommand); > > > Hey, > > iscsi_tcp, drivers/infiniband/ulp/iser/ib_iser, drivers/scsi/cxgb3i, > drivers/scsi/bnx2i, and drivers/scsi/be2iscsi use libiscsi's > iscsi_queuecommand function, so they should all use the same setting > unlocked_qcmd=1. Hmmm, that is what I was thinking too.. Thanks for confirming this. Respinning again to include this LLDs w/ the new SHT->queuecommad_unlocked() usage. Thanks Mike! --nab -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html