RE: [PATCH] PCI: amd-mdb: fix incorrect IRQ number in INTx error message

From: Musham, Sai Krishna

Date: Sat Jan 24 2026 - 09:03:19 EST


[AMD Official Use Only - AMD Internal Distribution Only]

Hi Rakuram,

> -----Original Message-----
> From: Rakuram Eswaran <rakuram.e96@xxxxxxxxx>
> Sent: Wednesday, December 24, 2025 12:10 AM
> To: lpieralisi@xxxxxxxxxx; kwilczynski@xxxxxxxxxx; mani@xxxxxxxxxx;
> robh@xxxxxxxxxx; bhelgaas@xxxxxxxxxx
> Cc: lkp@xxxxxxxxx; error27@xxxxxxxxx; Musham, Sai Krishna
> <sai.krishna.musham@xxxxxxx>; tglx@xxxxxxxxxxxxx; jirislaby@xxxxxxxxxx;
> Havalige, Thippeswamy <thippeswamy.havalige@xxxxxxx>; linux-
> pci@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; Rakuram Eswaran
> <rakuram.e96@xxxxxxxxx>; Dan Carpenter <dan.carpenter@xxxxxxxxxx>
> Subject: [PATCH] PCI: amd-mdb: fix incorrect IRQ number in INTx error message
>
> Caution: This message originated from an External Source. Use proper caution
> when opening attachments, clicking links, or responding.
>
>
> The INTx devm_request_irq() failure path logs an incorrect IRQ
> number. The printed 'irq' variable refers to a previous MDB
> interrupt mapping and does not correspond to the INTx IRQ being
> requested.
>
> Fix the error message to report pcie->intx_irq, which is the IRQ
> associated with the failing request.
>
> Reported-by: kernel test robot <lkp@xxxxxxxxx>
> Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
> Closes: https://lore.kernel.org/r/202512230112.AaiGqMWM-lkp@xxxxxxxxx/
> Signed-off-by: Rakuram Eswaran <rakuram.e96@xxxxxxxxx>
> ---
> Testing note:
> Compile-tested only.
>
> Static analysis was performed with Smatch to ensure the reported warning
> no longer reproduces after applying this fix.
>
> Command using for testing:
> ~/project/smatch/smatch_scripts/kchecker ./drivers/pci/controller/dwc/pcie-amd-
> mdb.c
>
> drivers/pci/controller/dwc/pcie-amd-mdb.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/pci/controller/dwc/pcie-amd-mdb.c b/drivers/pci/controller/dwc/pcie-
> amd-mdb.c
> index 3c6e837465bb..7e50e11fbffd 100644
> --- a/drivers/pci/controller/dwc/pcie-amd-mdb.c
> +++ b/drivers/pci/controller/dwc/pcie-amd-mdb.c
> @@ -389,7 +389,7 @@ static int amd_mdb_setup_irq(struct amd_mdb_pcie *pcie,
> IRQF_NO_THREAD, NULL, pcie);
> if (err) {
> dev_err(dev, "Failed to request INTx IRQ %d, err=%d\n",
> - irq, err);
> + pcie->intx_irq, err);

The fix is correct. The `irq` variable at that point contains the last
IRQ mapped in the preceding for loop (an MDB event IRQ), not the INTx
IRQ being requested via devm_request_irq(). Using `pcie->intx_irq`
accurately reports the failing IRQ number.

Thanks,
Sai Krishna