]> git.karo-electronics.de Git - karo-tx-linux.git/commit
isci: Check IDEV_GONE before performing abort path operations.
authorJeff Skirvin <jeffrey.d.skirvin@intel.com>
Sat, 10 Mar 2012 05:46:46 +0000 (05:46 +0000)
committerDan Williams <dan.j.williams@intel.com>
Fri, 13 Apr 2012 07:14:36 +0000 (00:14 -0700)
commite610561f7a0fb453c770985e7632b244861faaed
treed9dc598fea17ed3a6c39cdf3ac0daf38cbd5283b
parent22663e12ab8f60673a155c7457212faec7f87aef
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>
drivers/scsi/isci/port.c
drivers/scsi/isci/task.c