[+cc Krzysztof] On Thu, Jun 08, 2023 at 09:57:32AM +0200, Damien Dejean wrote: > Thanks for digging into this! > > > It's also conceivable that MSI used to work in older kernels, but we > > broke something by v5.10. Do you know whether any old kernels ever > > worked without "pci=nomsi”? > > I remember trying older linux distributions (Debian oldstable, > kernel 4.19) and some older Ubuntu(s) but I don’t remember any of > them working. Plus, the Ubuntu wiki pages and various post replies > to “… Linux is not working on my x73sl laptop” are always suggesting > the pci=nomsi option, so I guess the problem exists since a while. OK, more ideas: 1) Krzysztof found a slightly newer BIOS for your system [1]. It's conceivable that could help. 2) If you happen to have Windows, AIDA64 [2] can tell us whether it uses MSI. 3) I'm inclined to add the attached quirk, which disables MSI on any machine with this chipset. Should fix your ASUS X73SL, and could also fix other platforms with the same chipset. May slow down other platforms where MSI *does* work. 4) If needed, we could make the quirk specific to ASUS X73SL. Bjorn [1] https://www.asus.com/us/supportonly/x73sl/helpdesk_bios/ [2] https://www.aida64.com/downloads commit 240bbd06303f ("PCI: Disable MSI on SiS 671") Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Thu Jun 8 10:13:11 2023 -0500 PCI: Disable MSI on SiS 671 Damien reports that MSI doesn't work on the SiS 671 chipset, at least on this platform: DMI: ASUSTeK Computer Inc. F70SL/F70SL , BIOS 211 02/18/2009 pci 0000:00:00.0: [1039:0671] type 00 class 0x060000 This prevents devices, e.g., NVIDIA GeForce 9300M GS GPU and an Atheros mini PCIe wifi adapter, from working. Disable MSI completely on any platform with this chipset. I assume MSI *does* work on Windows on this platform, so there may be a chipset driver or something that configures it. It's possible that MSI does work on different platforms with SiS 671, so if anybody cares, we *could* make this specific to the ASUS F70SL. Link: https://lore.kernel.org/r/19F46F0C-E9C8-489E-8AA5-2A16E13A6FE9@xxxxxxxxx Reported-by: Damien Dejean <dam.dejean@xxxxxxxxx> diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c index f4e2a88729fd..adc58ce82d76 100644 --- a/drivers/pci/quirks.c +++ b/drivers/pci/quirks.c @@ -2585,6 +2585,7 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_VT3336, quirk_disab DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_VT3351, quirk_disable_all_msi); DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_VT3364, quirk_disable_all_msi); DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_8380_0, quirk_disable_all_msi); +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_SI, 0x0671, quirk_disable_all_msi); DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_SI, 0x0761, quirk_disable_all_msi); DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_SAMSUNG, 0xa5e3, quirk_disable_all_msi);