Re: [PATCH] PCI/portdrv: Remove "pcie_hp=nomsi" kernel parameter

From: Lukas Wunner
Date: Sun Feb 11 2018 - 04:24:15 EST


On Sat, Feb 10, 2018 at 08:48:15PM -0600, Bjorn Helgaas wrote:
> 7570a333d8b0 ("PCI: Add pcie_hp=nomsi to disable MSI/MSI-X for pciehp
> driver") added the "pcie_hp=nomsi" kernel parameter to work around this
> error on shutdown:
>
> irq 16: nobody cared (try booting with the "irqpoll" option)
> Pid: 1081, comm: reboot Not tainted 3.2.0 #1
> ...
> Disabling IRQ #16
>
> This happened on an unspecified system (possibly involving the Integrated
> Device Technology, Inc. Device 807f bridge). There is no automated way to
> set this parameter, so it's not very useful for distributions or end users.
>
> I suspect the root cause of the underlying "irq 16: nobody cared" issue was
> fixed by Prarit Bhargava <prarit@xxxxxxxxxx> with fda78d7a0ead ("PCI/MSI:
> Stop disabling MSI/MSI-X in pci_device_shutdown()") and we probably don't
> need "pcie_hp=nomsi" any more.
>
> Revert 7570a333d8b0 to remove the "pcie_hp=nomsi" parameter.

This has been useful when bringing up broken hardware which claims to
support MSI but really doesn't, such as in commit 19bf4d4f909d
("thunderbolt: Support 1st gen Light Ridge controller"). In this case
I didn't know why the controller wasn't sending interrupts, on a hunch
I tried "pcie_hp=nomsi" and that worked, and looking in the macOS source
code I was able to verify that they disable MSI for this particular
hardware as well. So please leave it in to ease developers' lives.

Thanks,

Lukas