1
linux/drivers/scsi/isci
Jeff Skirvin 61aaff49e2 isci: filter broadcast change notifications during SMP phy resets
When resetting a sata device in the domain we have seen occasions where
libsas prematurely marks a device gone in the time it takes for the
device to re-establish the link.  This plays badly with software raid
arrays.  Other libsas drivers have non-uniform delays in their reset
handlers to try to cover this condition, but not sufficient to close the
hole.  Given that a sata device can take many seconds to recover we
filter bcns and poll for the device reattach state before notifying
libsas that the port needs the domain to be rediscovered.  Once this has
been proven out at the lldd level we can think about uplevelling this
feature to a common implementation in libsas.

Signed-off-by: Jeff Skirvin <jeffrey.d.skirvin@intel.com>
[ use kzalloc instead of kmem_cache ]
Signed-off-by: Dave Jiang <dave.jiang@intel.com>
[ use eventq and time macros ]
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
2011-07-03 04:04:50 -07:00
..
firmware isci: Added support for C0 to SCU Driver 2011-07-03 04:04:50 -07:00
host.c isci: remove 'min memory' infrastructure 2011-07-03 04:04:50 -07:00
host.h isci: remove 'min memory' infrastructure 2011-07-03 04:04:50 -07:00
init.c isci: Added support for C0 to SCU Driver 2011-07-03 04:04:50 -07:00
isci.h isci: remove 'min memory' infrastructure 2011-07-03 04:04:50 -07:00
Makefile isci: additional state machine cleanup 2011-07-03 04:04:50 -07:00
phy.c isci: additional state machine cleanup 2011-07-03 04:04:50 -07:00
phy.h isci: additional state machine cleanup 2011-07-03 04:04:50 -07:00
pool.h isci: move core/controller to host 2011-07-03 04:04:47 -07:00
port_config.c isci: state machine cleanup 2011-07-03 04:04:50 -07:00
port.c isci: filter broadcast change notifications during SMP phy resets 2011-07-03 04:04:50 -07:00
port.h isci: filter broadcast change notifications during SMP phy resets 2011-07-03 04:04:50 -07:00
probe_roms.c isci: Added support for C0 to SCU Driver 2011-07-03 04:04:50 -07:00
probe_roms.h isci: Retrieve the EFI variable for OEM parameter 2011-07-03 04:04:50 -07:00
registers.h isci: uplevel register hardware data structures and unsolicited frame handling 2011-07-03 04:04:47 -07:00
remote_device.c isci: additional state machine cleanup 2011-07-03 04:04:50 -07:00
remote_device.h isci: state machine cleanup 2011-07-03 04:04:50 -07:00
remote_node_context.c isci: additional state machine cleanup 2011-07-03 04:04:50 -07:00
remote_node_context.h isci: additional state machine cleanup 2011-07-03 04:04:50 -07:00
remote_node_table.c isci: uplevel request infrastructure 2011-07-03 04:04:47 -07:00
remote_node_table.h isci: unify constants 2011-07-03 04:04:47 -07:00
request.c isci: additional state machine cleanup 2011-07-03 04:04:50 -07:00
request.h isci: remove 'min memory' infrastructure 2011-07-03 04:04:50 -07:00
sas.h isci: removing intel_*.h headers 2011-07-03 04:04:46 -07:00
sata.c isci: uplevel request infrastructure 2011-07-03 04:04:47 -07:00
sata.h isci: Convert ATA defines to Linux native defines 2011-07-03 04:04:46 -07:00
scu_completion_codes.h isci: uplevel register hardware data structures and unsolicited frame handling 2011-07-03 04:04:47 -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 isci: uplevel register hardware data structures and unsolicited frame handling 2011-07-03 04:04:47 -07:00
scu_unsolicited_frame.h isci: uplevel register hardware data structures and unsolicited frame handling 2011-07-03 04:04:47 -07:00
task.c isci: filter broadcast change notifications during SMP phy resets 2011-07-03 04:04:50 -07:00
task.h isci: Remove tmf timeout_timer 2011-07-03 04:04:50 -07:00
unsolicited_frame_control.c isci: remove 'min memory' infrastructure 2011-07-03 04:04:50 -07:00
unsolicited_frame_control.h isci: remove 'min memory' infrastructure 2011-07-03 04:04:50 -07:00