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

Commit cd06b9ba authored by Jeff Skirvin's avatar Jeff Skirvin Committed by James Bottomley
Browse files

[SCSI] isci: SATA/STP I/O is only returned in the normal path to libsas



Since libsas has it's own means to escalate SATA/STP device error
handling depending on task status codes, return all SATA/STP I/O
on the normal path.

i.e. skip sas_task_abort() and let sas_ata_task_done() disposition the
qc.  Longer term we want to audit non-essential calls to
sas_task_abort().

Signed-off-by: default avatarJeff Skirvin <jeffrey.d.skirvin@intel.com>
Signed-off-by: default avatarDan Williams <dan.j.williams@intel.com>
Signed-off-by: default avatarJames Bottomley <JBottomley@Parallels.com>
parent b50102d3
Loading
Loading
Loading
Loading
+19 −0
Original line number Diff line number Diff line
@@ -286,6 +286,25 @@ isci_task_set_completion_status(
	task->task_status.resp = response;
	task->task_status.stat = status;

	switch (task->task_proto) {

	case SAS_PROTOCOL_SATA:
	case SAS_PROTOCOL_STP:
	case SAS_PROTOCOL_SATA | SAS_PROTOCOL_STP:

		if (task_notification_selection
		    == isci_perform_error_io_completion) {
			/* SATA/STP I/O has it's own means of scheduling device
			* error handling on the normal path.
			*/
			task_notification_selection
				= isci_perform_normal_io_completion;
		}
		break;
	default:
		break;
	}

	switch (task_notification_selection) {

	case isci_perform_error_io_completion: