Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f619fffb authored by Dan Williams's avatar Dan Williams
Browse files

isci: fix remote_device start_io regressions



While reducing indentation commits 7ab92c9e "isci: make a
remote_node_context a proper member of a remote_device", 0879e6a6 "isci:
merge remote_device substates into a single state machine" broke
handling of situations where i/o's successfully started at the port
level need to terminated when the remote_node declines to start the i/o.

Signed-off-by: default avatarDan Williams <dan.j.williams@intel.com>
parent 8f304c36
Loading
Loading
Loading
Loading
+5 −6
Original line number Diff line number Diff line
@@ -1157,9 +1157,7 @@ static enum sci_status scic_sds_stp_remote_device_ready_ncq_substate_start_io_ha
			return status;

		status = scic_sds_remote_node_context_start_io(&sci_dev->rnc, request);
		if (status != SCI_SUCCESS)
			return status;

		if (status == SCI_SUCCESS)
			status = request->state_handlers->start_handler(request);

		scic_sds_remote_device_start_request(sci_dev, request, status);
@@ -1302,16 +1300,17 @@ static enum sci_status scic_sds_smp_remote_device_ready_idle_substate_start_io_h

	status = scic_sds_remote_node_context_start_io(&sci_dev->rnc, sci_req);
	if (status != SCI_SUCCESS)
		return status;
		goto out;

	status = scic_sds_request_start(sci_req);
	if (status != SCI_SUCCESS)
		return status;
		goto out;

	sci_dev->working_request = sci_req;
	sci_base_state_machine_change_state(&sci_dev->state_machine,
					    SCIC_SDS_SMP_REMOTE_DEVICE_READY_SUBSTATE_CMD);

 out:
	scic_sds_remote_device_start_request(sci_dev, sci_req, status);

	return status;