|
@@ -2974,9 +2974,11 @@ static int srp_abort(struct scsi_cmnd *scmnd)
|
|
|
ret = FAST_IO_FAIL;
|
|
|
else
|
|
|
ret = FAILED;
|
|
|
- srp_free_req(ch, req, scmnd, 0);
|
|
|
- scmnd->result = DID_ABORT << 16;
|
|
|
- scmnd->scsi_done(scmnd);
|
|
|
+ if (ret == SUCCESS) {
|
|
|
+ srp_free_req(ch, req, scmnd, 0);
|
|
|
+ scmnd->result = DID_ABORT << 16;
|
|
|
+ scmnd->scsi_done(scmnd);
|
|
|
+ }
|
|
|
|
|
|
return ret;
|
|
|
}
|