[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <aJdmGwFU6b9zh1BO@linux.gnuweeb.org>
Date: Sat, 9 Aug 2025 22:15:39 +0700
From: Ammar Faizi <ammarfaizi2@...weeb.org>
To: Nam Cao <namcao@...utronix.de>
Cc: Thomas Gleixner <tglx@...utronix.de>, Lukas Wunner <lukas@...ner.de>,
Bjorn Helgaas <helgaas@...nel.org>,
Linus Torvalds <torvalds@...ux-foundation.org>,
Linux PCI Mailing List <linux-pci@...r.kernel.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Rob Herring <robh@...nel.org>,
Lorenzo Pieralisi <lorenzo.pieralisi@....com>,
Manivannan Sadhasivam <mani@...nel.org>,
Krzysztof Wilczynski <kwilczynski@...nel.org>,
Armando Budianto <sprite@...weeb.org>,
Alviro Iskandar Setiawan <alviro.iskandar@...weeb.org>,
gwml@...r.gnuweeb.org, namcaov@...il.com
Subject: Re: [GIT PULL v2] PCI changes for v6.17
On Sat, Aug 09, 2025 at 04:49:27PM +0200, Nam Cao wrote:
> Thanks! Here's the problem:
>
> [ 1.037223] pcieport 10000:e0:1d.0: __pci_enable_msix_range:840 err=hwsize
>
> The PCIe port driver enables interrupt, trying MSI-X first. However, the
> device does not support MSI-X, so it tries MSI instead, which triggers
> the WARN_ON() in VMD driver.
>
> What's strange is that, the VMD doc says:
>
> "Intel VMD only supports MSIx Interrupts from child devices and
> therefore the BIOS must enable PCIe Hot Plug and MSIx interrups"
>
> Is it lying to us?
>
> Can you please try:
>
> Revert d5c647b08ee0 ("PCI: vmd: Fix wrong kfree() in vmd_msi_free()")
> Revert d7d8ab87e3e7 ("PCI: vmd: Switch to msi_create_parent_irq_domain()")
>
> So that the driver is back to the original state before I touched it.
>
> And apply the diff below. This will tell us if my commit breaks the driver
> somehow, or VMD has been allowing MSI all this time.
Here's the result after reverting those two commits and applied the diff.
https://gist.github.com/ammarfaizi2/03c7a9c0fec2a11f206931f1b7790709#file-dmesg_pci_debug_002-txt
Let's see if this one is enough for you to diagnose the problem.
Note that the previous printk() diff has to be discarded to avoid
conflict in the reverts. If that's still needed, send me a fixed
diff after clean reverts.
--
Ammar Faizi
Powered by blists - more mailing lists