Unverified Commit caa1ae20 authored by openeuler-ci-bot's avatar openeuler-ci-bot Committed by Gitee
Browse files

!5156 RDMA/srp: Do not call scsi_done() from srp_abort()

parents 6c62b726 68b1eef1
Loading
Loading
Loading
Loading
+5 −11
Original line number Diff line number Diff line
@@ -2803,7 +2803,6 @@ static int srp_abort(struct scsi_cmnd *scmnd)
	u32 tag;
	u16 ch_idx;
	struct srp_rdma_ch *ch;
	int ret;

	shost_printk(KERN_ERR, target->scsi_host, "SRP abort called\n");

@@ -2819,19 +2818,14 @@ static int srp_abort(struct scsi_cmnd *scmnd)
	shost_printk(KERN_ERR, target->scsi_host,
		     "Sending SRP abort for tag %#x\n", tag);
	if (srp_send_tsk_mgmt(ch, tag, scmnd->device->lun,
			      SRP_TSK_ABORT_TASK, NULL) == 0)
		ret = SUCCESS;
	else if (target->rport->state == SRP_RPORT_LOST)
		ret = FAST_IO_FAIL;
	else
		ret = FAILED;
	if (ret == SUCCESS) {
			      SRP_TSK_ABORT_TASK, NULL) == 0) {
		srp_free_req(ch, req, scmnd, 0);
		scmnd->result = DID_ABORT << 16;
		scmnd->scsi_done(scmnd);
		return SUCCESS;
	}
	if (target->rport->state == SRP_RPORT_LOST)
		return FAST_IO_FAIL;

	return ret;
	return FAILED;
}

static int srp_reset_device(struct scsi_cmnd *scmnd)