diff options
author | Bart Van Assche <bvanassche@acm.org> | 2012-08-24 12:29:11 +0200 |
---|---|---|
committer | Roland Dreier <roland@purestorage.com> | 2012-10-01 05:36:48 +0200 |
commit | d8536670916a685df116b5c2cb256573fd25e4e3 (patch) | |
tree | 5b5bf699030e19d41108f08a2fe79263a32a1904 /drivers/infiniband | |
parent | IB/srp: Fix use-after-free in srp_reset_req() (diff) | |
download | linux-d8536670916a685df116b5c2cb256573fd25e4e3.tar.xz linux-d8536670916a685df116b5c2cb256573fd25e4e3.zip |
IB/srp: Avoid having aborted requests hang
We need to call scsi_done() for commands after we abort them.
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
Acked-by: David Dillow <dillowda@ornl.gov>
Cc: <stable@vger.kernel.org>
Signed-off-by: Roland Dreier <roland@purestorage.com>
Diffstat (limited to 'drivers/infiniband')
-rw-r--r-- | drivers/infiniband/ulp/srp/ib_srp.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/infiniband/ulp/srp/ib_srp.c b/drivers/infiniband/ulp/srp/ib_srp.c index ac66e6b43ee2..922d845f76b0 100644 --- a/drivers/infiniband/ulp/srp/ib_srp.c +++ b/drivers/infiniband/ulp/srp/ib_srp.c @@ -1687,6 +1687,7 @@ static int srp_abort(struct scsi_cmnd *scmnd) SRP_TSK_ABORT_TASK); srp_free_req(target, req, scmnd, 0); scmnd->result = DID_ABORT << 16; + scmnd->scsi_done(scmnd); return SUCCESS; } |