]> git.baikalelectronics.ru Git - kernel.git/commit
[SCSI] libsas: convert to libata new error handler
authorJames Bottomley <James.Bottomley@suse.de>
Sun, 23 Jan 2011 15:44:12 +0000 (09:44 -0600)
committerJames Bottomley <James.Bottomley@suse.de>
Sun, 13 Feb 2011 19:17:46 +0000 (13:17 -0600)
commitb07c11b6e6e2ac08e9c8216ba690e80856e0c939
tree30f46808bbffe80699c97a7d3b393c4109a05cb6
parent8b695fcaf592a7218502b375e7b72b26b791bd6c
[SCSI] libsas: convert to libata new error handler

The conversion is quite complex given that the libata new error
handler has to be hooked into the current libsas timeout and error
handling.  The way this is done is to process all the failed commands
via libsas first, but if they have no underlying sas task (and they're
on a sata device) assume they are destined for the libata error
handler and send them accordingly.

Finally, activate the port recovery of the libata error handler for
each port known to the host.  This is somewhat suboptimal, since that
port may not need recovering, but given the current architecture of
the libata error handler, it's the only way; and the spurious
activation is harmless.

Signed-off-by: James Bottomley <James.Bottomley@suse.de>
drivers/scsi/libsas/sas_ata.c
drivers/scsi/libsas/sas_scsi_host.c
include/scsi/sas_ata.h