[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <b57a66ba-9443-4554-8d45-f5c7e13c066a@gmx.net>
Date: Fri, 15 Nov 2024 13:29:15 +0100
From: Stefan Wahren <wahrenst@....net>
To: Ilpo Järvinen <ilpo.jarvinen@...ux.intel.com>,
Florian Fainelli <florian.fainelli@...adcom.com>,
Thomas Gleixner <tglx@...utronix.de>, Bjorn Helgaas <bhelgaas@...gle.com>,
linux-pci@...r.kernel.org, linux-kernel@...r.kernel.org
Cc: Linux ARM <linux-arm-kernel@...ts.infradead.org>
Subject: Re: [PATCH 1/1] PCI/PME+pciehp: Request IRQF_ONESHOT because bwctrl
shares IRQ
Hi Ilpo,
Am 14.11.24 um 15:20 schrieb Ilpo Järvinen:
> PCIe BW controller uses IRQF_ONESHOT to solve the problem fixed by the
> commit 3e82a7f9031f ("PCI/LINK: Supply IRQ handler so level-triggered
> IRQs are acked"). The IRQ is shared with PME and PCIe hotplug. Due to
> probe order, PME and hotplug can request IRQ first without IRQF_ONESHOT
> and when BW controller requests IRQ later with IRQF_ONESHOT, the IRQ
> request fails. The problem is seen at least on Rasperry Pi 4:
>
> pcieport 0000:00:00.0: PME: Signaling with IRQ 39
> pcieport 0000:00:00.0: AER: enabled with IRQ 39
> genirq: Flags mismatch irq 39. 00002084 (PCIe bwctrl) vs.00200084 (PCIe PME)
> pcie_bwctrl 0000:00:00.0:pcie010: probe with driver pcie_bwctrl failed with error -16
>
> BW controller is always enabled so change PME and pciehp too to use
> IRQF_ONESHOT.
>
> Fixes: 470b218c2bdf ("PCI/bwctrl: Re-add BW notification portdrv as PCIe BW controller")
> Reported-by: Stefan Wahren <wahrenst@....net>
> Link: https://lore.kernel.org/linux-pci/dcd660fd-a265-4f47-8696-776a85e097a0@gmx.net/
> Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@...ux.intel.com>
> ---
>
I tested this patch on my Raspberry Pi 4B (linux-next, arm64/defconfig),
but unfortunately this doesn't fix the issue completely:
[ 6.635741] pcieport 0000:00:00.0: PME: Signaling with IRQ 39
[ 6.638845] genirq: Flags mismatch irq 39. 00000084 (aerdrv) vs.
00202084 (PCIe PME)
[ 6.638954] pcieport 0000:00:00.0: AER: request AER IRQ 39 failed
[ 6.638970] aer 0000:00:00.0:pcie002: probe with driver aer failed
with error -16
Regards
Powered by blists - more mailing lists