Re: [REGRESSION][BISECTED] 5.15-rc1: Broken AHCI on NVIDIA ION (MCP79)

From: Rui Salvaterra
Date: Thu Oct 07 2021 - 08:03:44 EST


Hi again, Marc,

On Thu, 7 Oct 2021 at 09:52, Marc Zyngier <maz@xxxxxxxxxx> wrote:
>
[snipped]
>
> I guess this is the relevant device?

Pretty much, yes.

> It is interesting that it
> advertises not supporting interrupt masking... Can you, you, out of
> curiosity, give the following hack a go? I would expect things to
> behave badly too (and maybe be even worse). But one way or another, it
> may give us a hint.
>
> Thanks,
>
> M.
>
> diff --git a/drivers/pci/msi.c b/drivers/pci/msi.c
> index 0099a00af361..b3c0b9d07f17 100644
> --- a/drivers/pci/msi.c
> +++ b/drivers/pci/msi.c
> @@ -205,7 +205,7 @@ static void __pci_msi_mask_desc(struct msi_desc *desc, u32 mask)
>
> if (desc->msi_attrib.is_msix)
> pci_msix_mask(desc);
> - else if (desc->msi_attrib.maskbit)
> + else //if (desc->msi_attrib.maskbit)
> pci_msi_mask(desc, mask);
> }
>
> @@ -216,7 +216,7 @@ static void __pci_msi_unmask_desc(struct msi_desc *desc, u32 mask)
>
> if (desc->msi_attrib.is_msix)
> pci_msix_unmask(desc);
> - else if (desc->msi_attrib.maskbit)
> + else //if (desc->msi_attrib.maskbit)
> pci_msi_unmask(desc, mask);
> }

Hm. You belive the controller is lying? :) Sure thing, I'll give it a
spin and let you know the result.

Thanks,
Rui