Re: [PATCH v3] ata: ahci: work around lost interrupts on Marvell 88SE61xx

From: Niklas Cassel

Date: Mon Sep 07 2026 - 05:50:38 EST


Hello Hajo,

On Sat, Sep 05, 2026 at 02:30:14PM +0200, Hajo Noerenberg wrote:
> On 04.09.2026 at 16:45 Niklas Cassel wrote:
> > On Mon, Aug 31, 2026 at 04:27:24PM +0200, Niklas Cassel wrote:
> >> On Mon, 31 Aug 2026 14:43:03 +0200, Hajo Noerenberg wrote:
> >>> ahci_single_level_irq_intr() services the ports first and clears the
> >>> global HOST_IRQ_STAT afterwards, as recommended by AHCI 1.1 section
> >>> 10.6.2. The Marvell 88SE6111/6121/6145 family stops reporting interrupts
> >>> for a port when HOST_IRQ_STAT is cleared while PxIS still holds bits:
> >>> PxIS keeps its content, HOST_IRQ_STAT reads back as 0, the port is never
> >>> looked at again, and the command in flight only ends in a timeout.
> >>>
> >>> [...]
> >>
> >> Applied to libata/linux.git (for-7.4), thanks!
> >>
> >> [1/1] ata: ahci: work around lost interrupts on Marvell 88SE61xx
> >> https://git.kernel.org/libata/linux/c/22f2ba34
> >
> > Decided to send this for 7.3-rc2 instead:
> > https://lore.kernel.org/linux-ide/20260904144228.1473602-1-cassel@xxxxxxxxxx/T/#u
> >
> Niklas,
>
> thanks for moving it to 7.3-rc2.
>
> I spent a lot of time on this bug, mostly because I did not know what I was
> looking for. Now that it has a name, searching for it actually works - and
> out of idle curiosity I went looking a moment ago, only to find that FreeBSD
> has been carrying the same workaround for years.
>
> In FreeBSD's sys/dev/ahci/ahci_pci.c all four chips of the family are tagged
> AHCI_Q_EDGEIS:
>
> {0x611111ab, ... "Marvell 88SE6111", ... AHCI_Q_1CH | AHCI_Q_EDGEIS},
> {0x612111ab, ... "Marvell 88SE6121", ... AHCI_Q_2CH | AHCI_Q_EDGEIS | ...},
> {0x614111ab, ... "Marvell 88SE6141", ... AHCI_Q_4CH | AHCI_Q_EDGEIS | ...},
> {0x614511ab, ... "Marvell 88SE6145", ... AHCI_Q_4CH | AHCI_Q_EDGEIS | ...},

Thank you for the information.

If Marvell (or anyone in the community) cares about these controllers,
patches are more than welcome.


Kind regards,
Niklas