[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <67d74985-7be5-4e29-aab2-97a08208ca3f@intel.com>
Date: Mon, 8 Jul 2024 15:50:16 +0200
From: "Wysocki, Rafael J" <rafael.j.wysocki@...el.com>
To: Stefan Seyfried <stefan.seyfried@...glemail.com>
CC: LKML <linux-kernel@...r.kernel.org>, "linux-acpi@...r.kernel.org"
<linux-acpi@...r.kernel.org>
Subject: Re: Regression in 6.8 from "ACPI: OSL: Use a threaded interrupt
handler for SCI"
Hi,
On 7/8/2024 10:07 AM, Stefan Seyfried wrote:
> Hi all,
>
> any kernels after 6.7 break my trusty old Toughbook CF-51 by rendering
> many PCI devices unusable.
>
> I did first notice that i915 did no longer work and filed
> https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11437, there I
> was pointed to commit
>
> commit 7a36b901a6eb0e9945341db71ed3c45c7721cfa9
> Author: Rafael J. Wysocki <rafael.j.wysocki@...el.com>
> Date: Mon Nov 27 20:57:43 2023 +0100
>
> ACPI: OSL: Use a threaded interrupt handler for SCI
>
> which I verified with a week-long bisecting from 6.7 to 6.8 (just for
> fun :-)
>
Thanks for reporting this, although it would be nice to put linux-acpi
on the CC.
> Just reverting this commit top of 6.10-rc5 (sorry, this machine is not
> very powerful so I did not try the latest git master) makes everything
> work fine again.
>
> I get these messages in dmesg when running the broken kernels:
>
> [ T308] genirq: Flags mismatch irq 9. 00000080 (yenta) vs. 00002080
> (acpi)
> [ T305] genirq: Flags mismatch irq 9. 00000080 (uhci_hcd:usb1) vs.
> 00002080 (acpi)
> [ T305] genirq: Flags mismatch irq 9. 00000080 (uhci_hcd:usb1) vs.
> 00002080 (acpi)
> [ T46] genirq: Flags mismatch irq 9. 00000080 (ehci_hcd:usb1) vs.
> 00002080 (acpi)
> [ T312] genirq: Flags mismatch irq 9. 00000080 (firewire_ohci) vs.
> 00002080 (acpi)
> [ T305] genirq: Flags mismatch irq 9. 00000080 (uhci_hcd:usb1) vs.
> 00002080 (acpi)
> [ T308] genirq: Flags mismatch irq 9. 00000080 (yenta) vs. 00002080
> (acpi)
> [ T592] genirq: Flags mismatch irq 9. 00000080 (snd_intel8x0) vs.
> 00002080 (acpi)
> [ T581] genirq: Flags mismatch irq 9. 00000080 (i915) vs. 00002080
> (acpi)
> [ T874] genirq: Flags mismatch irq 9. 00000080 (enp2s1) vs. 00002080
> (acpi)
>
> These are not present with that commit reverted.
>
So all of the drivers above attempt to share the IRQ with the SCI and
they don't use IRQF_ONESHOT and because they all are threaded, there is
a flags conflict.
They all need to be made pass IRQF_COND_ONESHOT when requesting
interrupts and it will all work again.
I'll send you a patch for this (hopefully later today), but I guess it
will take a while until it gets absorbed.
Thanks!
Powered by blists - more mailing lists