Re: [PATCH 2/5] aic94xx: plumb in I_T_nexus_reset task management function

Jeff Garzik
2008-02-24T05:51:57Z

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@HansenPartnership.com>
> ---
> 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