forked from Minki/linux
[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: Jeff Skirvin <jeffrey.d.skirvin@intel.com> Signed-off-by: Dan Williams <dan.j.williams@intel.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
This commit is contained in:
parent
b50102d3e9
commit
cd06b9bae1
@ -286,6 +286,25 @@ isci_task_set_completion_status(
|
|||||||
task->task_status.resp = response;
|
task->task_status.resp = response;
|
||||||
task->task_status.stat = status;
|
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) {
|
switch (task_notification_selection) {
|
||||||
|
|
||||||
case isci_perform_error_io_completion:
|
case isci_perform_error_io_completion:
|
||||||
|
Loading…
Reference in New Issue
Block a user