[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20190501203000.GA47079@google.com>
Date: Wed, 1 May 2019 15:30:00 -0500
From: Bjorn Helgaas <helgaas@...nel.org>
To: Alex Williamson <alex.williamson@...hat.com>
Cc: mr.nuke.me@...il.com, linux-pci@...r.kernel.org,
austin_bolen@...l.com, alex_gagniuc@...lteam.com,
keith.busch@...el.com, Shyam_Iyer@...l.com, lukas@...ner.de,
okaya@...nel.org, torvalds@...ux-foundation.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH] PCI/LINK: Account for BW notification in vector
calculation
On Mon, Apr 22, 2019 at 04:43:30PM -0600, Alex Williamson wrote:
> On systems that don't support any PCIe services other than bandwidth
> notification, pcie_message_numbers() can return zero vectors, causing
> the vector reallocation in pcie_port_enable_irq_vec() to retry with
> zero, which fails, resulting in fallback to INTx (which might be
> broken) for the bandwidth notification service. This can resolve
> spurious interrupt faults due to this service on some systems.
>
> Fixes: e8303bb7a75c ("PCI/LINK: Report degraded links via link bandwidth notification")
> Signed-off-by: Alex Williamson <alex.williamson@...hat.com>
Applied for (hopefully) v5.1, thanks!
> drivers/pci/pcie/portdrv_core.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/pci/pcie/portdrv_core.c b/drivers/pci/pcie/portdrv_core.c
> index 7d04f9d087a6..1b330129089f 100644
> --- a/drivers/pci/pcie/portdrv_core.c
> +++ b/drivers/pci/pcie/portdrv_core.c
> @@ -55,7 +55,8 @@ static int pcie_message_numbers(struct pci_dev *dev, int mask,
> * 7.8.2, 7.10.10, 7.31.2.
> */
>
> - if (mask & (PCIE_PORT_SERVICE_PME | PCIE_PORT_SERVICE_HP)) {
> + if (mask & (PCIE_PORT_SERVICE_PME | PCIE_PORT_SERVICE_HP |
> + PCIE_PORT_SERVICE_BWNOTIF)) {
> pcie_capability_read_word(dev, PCI_EXP_FLAGS, ®16);
> *pme = (reg16 & PCI_EXP_FLAGS_IRQ) >> 9;
> nvec = *pme + 1;
>
Powered by blists - more mailing lists