[lkml]   [2020]   [Mar]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
Patch in this message
SubjectRe: [PATCH v4] MIPS: Replace setup_irq() by request_irq()

On Tue, Mar 10, 2020 at 10:31:26PM -0700, Nathan Chancellor wrote:

> This patch regresses booting malta_defconfig with both GCC and clang
> with this rootfs and QEMU 4.2.0:

On a quick debug, Diff at the end seems to fix the issue. i realize that
all the execution sequences that can alter the earlier statically
defined struct irqaction fields needs to be taken care carefully,let me
recheck the resolution here as well as other instances where this kind
of issue can happen. i will sent a proper patch later.

> $ timeout 2m qemu-system-mipsel -machine malta -cpu 24Kf -initrd rootfs.cpio -kernel vmlinux -m 512m -display none -serial mon:stdio
> just hangs. I have not done further debugging past the initial bisect.

Thanks for the reproducer.


diff --git a/arch/mips/kernel/cevt-r4k.c b/arch/mips/kernel/cevt-r4k.c
index 64e917dfe6b2..d24e4f2985c3 100644
--- a/arch/mips/kernel/cevt-r4k.c
+++ b/arch/mips/kernel/cevt-r4k.c
@@ -252,7 +252,7 @@ unsigned int __weak get_c0_compare_int(void)

int r4k_clockevent_init(void)
- unsigned long flags = IRQF_PERCPU | IRQF_TIMER | IRQF_SHARED;
+ unsigned long flags = IRQF_PERCPU | IRQF_TIMER;
unsigned int cpu = smp_processor_id();
struct clock_event_device *cd;
unsigned int irq, min_delta;
 \ /
  Last update: 2020-03-11 10:03    [W:0.178 / U:0.396 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site