Re: [PATCH v3] ahci: libahci: clear pending interrupt status

From: Niklas Cassel
Date: Wed Sep 06 2023 - 09:28:49 EST


On Wed, Sep 06, 2023 at 08:56:08PM +0900, Damien Le Moal wrote:
> On 9/6/23 18:53, Szuying Chen wrote:
> > Cleared PxIS and PxIE with error recovery when ISR handle interface fatal.
> > Then a SDB FIS with ERR (set PxIS.TFES) is received
> > before PxCMD.ST is set to 0.
> > When error recovery was finish and PxCMD.ST is set to 1.
> > The HBA can't issue any new commands.
> > Because the PxIS.TFES bit is not cleared.
> > To avoid this,
> > we adds the function to clear pending interrupt before COMRESET.
> > It follows the AHCI 1.3.1 - section 6.2.2.2 specification.
> >
> > Signed-off-by: Szuying Chen <Chloe_Chen@xxxxxxxxxxxxxx>
>
> Fixes tag ?

The ata code has not been clearing PxIS after stopping the engine
(the AHCI spec states that PxIS should be cleared after stopping the
engine, and before issuing COMRESET), since the introduction of the
code that stops the engine (when ahci was still living under drivers/scsi).

If you really do want a fixes tag:
Fixes: e0bfd149973d ("[PATCH] ahci: stop engine during hard reset")


Kind regards,
Niklas