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@xxxxxxxxx>
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!