linux/drivers/scsi/isci
Jeff Skirvin 397497dd61 isci: Check IDEV_GONE before performing abort path operations.
In the link fail path, set IDEV_GONE for every device on the domain
when the last link in the port fails.

In the abort path functions like isci_reset_device, make sure that
there has not already been a detected domain failure with the device
by checking IDEV_GONE, before performing any kind of hard reset, SMP
phy control, or TMF operation.

The check for IDEV_GONE makes sure that the device in the abort path
really has control of the port with which it is associated.  This
prevents starting hard resets at incorrect times and scheduling
unnecessary LUN resets for SATA devices.

Signed-off-by: Jeff Skirvin <jeffrey.d.skirvin@intel.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
2012-05-17 14:33:43 -07:00
..
host.c isci: Manage tag releases differently when aborting tasks. 2012-05-17 14:33:41 -07:00
host.h isci: Redesign device suspension, abort, cleanup. 2012-05-17 14:33:38 -07:00
init.c isci: Remove isci_device reqs_in_process and dev_node from isci_device. 2012-05-17 14:33:39 -07:00
isci.h [SCSI] isci: oem parameter format v1.3 (cable select) 2012-01-16 11:43:04 +04:00
Makefile isci: merge sata.[ch] into request.c 2011-07-03 04:04:52 -07:00
phy.c isci: Change the phy control and link reset interface for HW reasons. 2012-05-17 14:33:42 -07:00
phy.h isci: kill sci_phy_protocol and sci_request_protocol 2012-05-17 12:27:11 -07:00
port_config.c isci: fix 'link-up' events occur after 'start-complete' 2012-05-17 12:27:12 -07:00
port.c isci: Check IDEV_GONE before performing abort path operations. 2012-05-17 14:33:43 -07:00
port.h isci: Manage the link layer hang detect timer for RNC suspensions. 2012-05-17 14:33:36 -07:00
probe_roms.c isci: refactor initialization for S3/S4 2012-05-17 12:27:12 -07:00
probe_roms.h isci: refactor initialization for S3/S4 2012-05-17 12:27:12 -07:00
registers.h isci: Changes in COMSAS timings enabling ISCI to detect buggy disc drives. 2012-05-17 12:27:28 -07:00
remote_device.c isci: Restore the ATAPI device RNC management code. 2012-05-17 14:33:43 -07:00
remote_device.h isci: Restore the ATAPI device RNC management code. 2012-05-17 14:33:43 -07:00
remote_node_context.c isci: Don't wait for an RNC suspend if it's being destroyed. 2012-05-17 14:33:43 -07:00
remote_node_context.h isci: Don't wait for an RNC suspend if it's being destroyed. 2012-05-17 14:33:43 -07:00
remote_node_table.c isci: retire scic_sds_ and scic_ prefixes 2011-07-03 04:04:52 -07:00
remote_node_table.h isci: retire scic_sds_ and scic_ prefixes 2011-07-03 04:04:52 -07:00
request.c isci: Restore the ATAPI device RNC management code. 2012-05-17 14:33:43 -07:00
request.h isci: Manage tag releases differently when aborting tasks. 2012-05-17 14:33:41 -07:00
sas.h [SCSI] isci: fix support for large smp requests 2011-10-02 13:07:17 -05:00
scu_completion_codes.h isci: Handle all suspending TC completions 2012-05-17 14:33:37 -07:00
scu_event_codes.h isci: uplevel register hardware data structures and unsolicited frame handling 2011-07-03 04:04:47 -07:00
scu_remote_node_context.h isci: move remote_device handling out of the core 2011-07-03 04:00:38 -07:00
scu_task_context.h [SCSI] isci: T10 DIF support 2012-02-19 09:14:24 -06:00
task.c isci: Check IDEV_GONE before performing abort path operations. 2012-05-17 14:33:43 -07:00
task.h isci: Redesign device suspension, abort, cleanup. 2012-05-17 14:33:38 -07:00
unsolicited_frame_control.c isci: refactor initialization for S3/S4 2012-05-17 12:27:12 -07:00
unsolicited_frame_control.h isci: refactor initialization for S3/S4 2012-05-17 12:27:12 -07:00