* Regression in 6.8 from "ACPI: OSL: Use a threaded interrupt handler for SCI"
@ 2024-07-08 8:07 Stefan Seyfried
2024-07-08 13:50 ` Wysocki, Rafael J
0 siblings, 1 reply; 5+ messages in thread
From: Stefan Seyfried @ 2024-07-08 8:07 UTC (permalink / raw)
To: LKML, Rafael J. Wysocki
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@intel.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 :-)
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.
The machine has an old Pentium M (Dothan):
toughbook:~ # cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 13
model name : Intel(R) Pentium(R) M processor 1.60GHz
stepping : 6
microcode : 0x18
cpu MHz : 1600.000
cache size : 2048 KB
fdiv_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 2
wp : yes
flags : fpu vme de pse tsc msr mce cx8 sep mtrr pge mca cmov clflush
dts acpi mmx fxsr sse sse2 ss tm pbe bts cpuid est tm2
bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds
swapgs itlb_multihit mmio_unknown
bogomips : 3193.05
clflush size : 32
cache_alignment : 32
address sizes : 36 bits physical, 32 bits virtual
power management:
and is running an i686 pae kernel:
toughbook:~ # uname -a
Linux toughbook 6.10.0-rc5-pae-seife+ #17 PREEMPT_DYNAMIC Sat Jul 6
07:36:41 CEST 2024 i686 i686 i386 GNU/Linux
I can provide more information on request
Best regards
--
Stefan Seyfried
"For a successful technology, reality must take precedence over
public relations, for nature cannot be fooled." -- Richard Feynman
^ permalink raw reply [flat|nested] 5+ messages in thread* Re: Regression in 6.8 from "ACPI: OSL: Use a threaded interrupt handler for SCI" 2024-07-08 8:07 Regression in 6.8 from "ACPI: OSL: Use a threaded interrupt handler for SCI" Stefan Seyfried @ 2024-07-08 13:50 ` Wysocki, Rafael J 2024-07-10 13:13 ` Rafael J. Wysocki 0 siblings, 1 reply; 5+ messages in thread From: Wysocki, Rafael J @ 2024-07-08 13:50 UTC (permalink / raw) To: Stefan Seyfried; +Cc: LKML, linux-acpi@vger.kernel.org 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@intel.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! ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Regression in 6.8 from "ACPI: OSL: Use a threaded interrupt handler for SCI" 2024-07-08 13:50 ` Wysocki, Rafael J @ 2024-07-10 13:13 ` Rafael J. Wysocki 2024-07-11 5:04 ` Stefan Seyfried 0 siblings, 1 reply; 5+ messages in thread From: Rafael J. Wysocki @ 2024-07-10 13:13 UTC (permalink / raw) To: Stefan Seyfried Cc: LKML, linux-acpi@vger.kernel.org, Wysocki, Rafael J, Thomas Gleixner [-- Attachment #1: Type: text/plain, Size: 2563 bytes --] On Mon, Jul 8, 2024 at 3:51 PM Wysocki, Rafael J <rafael.j.wysocki@intel.com> wrote: > > 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@intel.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! So can you please check if the attached patch helps? [-- Attachment #2: irq-flags-mismatch-fixes.patch --] [-- Type: text/x-patch, Size: 645 bytes --] --- include/linux/interrupt.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) Index: linux-pm/include/linux/interrupt.h =================================================================== --- linux-pm.orig/include/linux/interrupt.h +++ linux-pm/include/linux/interrupt.h @@ -168,7 +168,8 @@ static inline int __must_check request_irq(unsigned int irq, irq_handler_t handler, unsigned long flags, const char *name, void *dev) { - return request_threaded_irq(irq, handler, NULL, flags, name, dev); + return request_threaded_irq(irq, handler, NULL, + flags | IRQF_COND_ONESHOT, name, dev); } extern int __must_check ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Regression in 6.8 from "ACPI: OSL: Use a threaded interrupt handler for SCI" 2024-07-10 13:13 ` Rafael J. Wysocki @ 2024-07-11 5:04 ` Stefan Seyfried 2024-07-11 10:21 ` Rafael J. Wysocki 0 siblings, 1 reply; 5+ messages in thread From: Stefan Seyfried @ 2024-07-11 5:04 UTC (permalink / raw) To: Rafael J. Wysocki Cc: LKML, linux-acpi@vger.kernel.org, Wysocki, Rafael J, Thomas Gleixner Hi Rafael, Am 10.07.24 um 15:13 schrieb Rafael J. Wysocki: > On Mon, Jul 8, 2024 at 3:51 PM Wysocki, Rafael J > <rafael.j.wysocki@intel.com> wrote: >> > > So can you please check if the attached patch helps? Yes, everything works perfectly fine with that applied. Thanks and best regards, Stefan -- Stefan Seyfried "For a successful technology, reality must take precedence over public relations, for nature cannot be fooled." -- Richard Feynman ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Regression in 6.8 from "ACPI: OSL: Use a threaded interrupt handler for SCI" 2024-07-11 5:04 ` Stefan Seyfried @ 2024-07-11 10:21 ` Rafael J. Wysocki 0 siblings, 0 replies; 5+ messages in thread From: Rafael J. Wysocki @ 2024-07-11 10:21 UTC (permalink / raw) To: Stefan Seyfried Cc: Rafael J. Wysocki, LKML, linux-acpi@vger.kernel.org, Wysocki, Rafael J, Thomas Gleixner Hi Stefan, On Thu, Jul 11, 2024 at 7:04 AM Stefan Seyfried <stefan.seyfried@googlemail.com> wrote: > > Hi Rafael, > > Am 10.07.24 um 15:13 schrieb Rafael J. Wysocki: > > On Mon, Jul 8, 2024 at 3:51 PM Wysocki, Rafael J > > <rafael.j.wysocki@intel.com> wrote: > >> > > > > So can you please check if the attached patch helps? > > Yes, everything works perfectly fine with that applied. > > Thanks and best regards, > Thanks for testing! Patch submitted, let's see what Thomas has to say about it. Cheers, Rafael ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2024-07-11 10:21 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2024-07-08 8:07 Regression in 6.8 from "ACPI: OSL: Use a threaded interrupt handler for SCI" Stefan Seyfried 2024-07-08 13:50 ` Wysocki, Rafael J 2024-07-10 13:13 ` Rafael J. Wysocki 2024-07-11 5:04 ` Stefan Seyfried 2024-07-11 10:21 ` Rafael J. Wysocki
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox