IB/srp: Complete correct SCSI commands on device reset
authorIshai Rabinovitz <ishai@mellanox.co.il>
Wed, 17 May 2006 16:20:48 +0000 (09:20 -0700)
committerRoland Dreier <rolandd@cisco.com>
Wed, 17 May 2006 16:20:48 +0000 (09:20 -0700)
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>
drivers/infiniband/ulp/srp/ib_srp.c

index 0f24f04cb60e3d98393a70c32b4076e1e2b96a0f..9cbdffa08dc2bca6da821638efc0078b24792374 100644 (file)
@@ -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);
                }