James Bottomley wrote:
Currently aic94xx has no exported I_T_nexus_reset function. This is a
bit of a huge problem, since sas_ata relies on this function to
perform an ATA phy reset and also it means that if abort fails, we
really have no bigger hammer to hit everything with.
Plumb in the I_T_nexus_reset by quiescing the sequencer, sending the
correct phy reset (link for ATA and hard for SAS) and then carefully
resuming the sequencer again.
Signed-off-by: James Bottomley <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx>
---
drivers/scsi/aic94xx/aic94xx.h | 1 +
drivers/scsi/aic94xx/aic94xx_init.c | 2 +-
drivers/scsi/aic94xx/aic94xx_tmf.c | 58 ++++++++++++++++++++++++++++++++--
3 files changed, 56 insertions(+), 5 deletions(-)
Tangent:
Now that patches for ipr and sata_sx4 exist, libsas is the last holdout
using libata's old error handling paths.
I think Darrick was either scoping that work, or had preliminary patches?
Anyway, that's holding back removal of a lot of libata code, so I wanted
to make sure the issue remained in people's minds...
Jeff
-
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html