summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIshai Rabinovitz <ishai@mellanox.co.il>2006-05-17 18:20:48 +0200
committerRoland Dreier <rolandd@cisco.com>2006-05-17 18:20:48 +0200
commit093beac189e4295d968f0d38787b46f76cb0eaaa (patch)
treed5d5c476dd06b3ba6a5a7fc4787a3bbdc9d4ba63
parentIB/srp: Get rid of extra scsi_host_put()s if reconnection fails (diff)
downloadlinux-093beac189e4295d968f0d38787b46f76cb0eaaa.tar.xz
linux-093beac189e4295d968f0d38787b46f76cb0eaaa.zip
IB/srp: Complete correct SCSI commands on device reset
When flushing out queued commands after a successful device reset, make sure that SRP completes the right commands, instead of calling scsi_done on the command passed into the device reset handler over and over. Signed-off-by: Ishai Rabinovitz <ishai@mellanox.co.il> Signed-off-by: Roland Dreier <rolandd@cisco.com>
-rw-r--r--drivers/infiniband/ulp/srp/ib_srp.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/infiniband/ulp/srp/ib_srp.c b/drivers/infiniband/ulp/srp/ib_srp.c
index 0f24f04cb60e..9cbdffa08dc2 100644
--- a/drivers/infiniband/ulp/srp/ib_srp.c
+++ b/drivers/infiniband/ulp/srp/ib_srp.c
@@ -1241,7 +1241,7 @@ static int srp_reset_device(struct scsi_cmnd *scmnd)
list_for_each_entry_safe(req, tmp, &target->req_queue, list)
if (req->scmnd->device == scmnd->device) {
req->scmnd->result = DID_RESET << 16;
- scmnd->scsi_done(scmnd);
+ req->scmnd->scsi_done(req->scmnd);
srp_remove_req(target, req);
}