Patch "sh: mach-r2d: Handle virq offset in cascaded IRL demux" has been added to the 6.1-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    sh: mach-r2d: Handle virq offset in cascaded IRL demux

to the 6.1-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     sh-mach-r2d-handle-virq-offset-in-cascaded-irl-demux.patch
and it can be found in the queue-6.1 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.


>From ab8aa4f0956d2e0fb8344deadb823ef743581795 Mon Sep 17 00:00:00 2001
From: Geert Uytterhoeven <geert+renesas@xxxxxxxxx>
Date: Sun, 9 Jul 2023 13:15:49 +0200
Subject: sh: mach-r2d: Handle virq offset in cascaded IRL demux

From: Geert Uytterhoeven <geert+renesas@xxxxxxxxx>

commit ab8aa4f0956d2e0fb8344deadb823ef743581795 upstream.

When booting rts7751r2dplus_defconfig on QEMU, the system hangs due to
an interrupt storm on IRQ 20.  IRQ 20 aka event 0x280 is a cascaded IRL
interrupt, which maps to IRQ_VOYAGER, the interrupt used by the Silicon
Motion SM501 multimedia companion chip.  As rts7751r2d_irq_demux() does
not take into account the new virq offset, the interrupt is no longer
translated, leading to an unhandled interrupt.

Fix this by taking into account the virq offset when translating
cascaded IRL interrupts.

Fixes: a8ac2961148e8c72 ("sh: Avoid using IRQ0 on SH3 and SH4")
Reported-by: Guenter Roeck <linux@xxxxxxxxxxxx>
Closes: https://lore.kernel.org/r/fbfea3ad-d327-4ad5-ac9c-648c7ca3fe1f@xxxxxxxxxxxx
Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx>
Reviewed-by: John Paul Adrian Glaubitz <glaubitz@xxxxxxxxxxxxxxxxxxx>
Tested-by: John Paul Adrian Glaubitz <glaubitz@xxxxxxxxxxxxxxxxxxx>
Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx>
Link: https://lore.kernel.org/r/2c99d5df41c40691f6c407b7b6a040d406bc81ac.1688901306.git.geert+renesas@xxxxxxxxx
Signed-off-by: John Paul Adrian Glaubitz <glaubitz@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
---
 arch/sh/boards/mach-r2d/irq.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

--- a/arch/sh/boards/mach-r2d/irq.c
+++ b/arch/sh/boards/mach-r2d/irq.c
@@ -117,10 +117,10 @@ static unsigned char irl2irq[R2D_NR_IRL]
 
 int rts7751r2d_irq_demux(int irq)
 {
-	if (irq >= R2D_NR_IRL || irq < 0 || !irl2irq[irq])
+	if (irq >= R2D_NR_IRL + 16 || irq < 16 || !irl2irq[irq - 16])
 		return irq;
 
-	return irl2irq[irq];
+	return irl2irq[irq - 16];
 }
 
 /*


Patches currently in stable-queue which might be from geert+renesas@xxxxxxxxx are

queue-6.1/clk-rs9-fix-.driver_data-content-in-i2c_device_id.patch
queue-6.1/sh-dma-fix-dma-channel-offset-calculation.patch
queue-6.1/clk-vc7-fix-.driver_data-content-in-i2c_device_id.patch
queue-6.1/hid-uclogic-modular-kunit-tests-should-not-depend-on.patch
queue-6.1/clk-vc5-fix-.driver_data-content-in-i2c_device_id.patch
queue-6.1/sh-mach-dreamcast-handle-virq-offset-in-cascaded-irq-demux.patch
queue-6.1/regulator-core-fix-more-error-checking-for-debugfs_c.patch
queue-6.1/regulator-core-streamline-debugfs-operations.patch
queue-6.1/clk-renesas-rzg2l-fix-cpg_sipll5_clk1-register-write.patch
queue-6.1/sh-mach-r2d-handle-virq-offset-in-cascaded-irl-demux.patch
queue-6.1/sh-mach-highlander-handle-virq-offset-in-cascaded-irl-demux.patch
queue-6.1/arm-dts-iwg20d-q7-common-fix-backlight-pwm-specifier.patch
queue-6.1/sh-j2-use-ioremap-to-translate-device-tree-address-i.patch
queue-6.1/arm64-dts-renesas-ulcb-kf-remove-flow-control-for-sc.patch
queue-6.1/sh-hd64461-handle-virq-offset-for-offchip-irq-base-and-hd64461-irq.patch
queue-6.1/sh-avoid-using-irq0-on-sh3-and-sh4.patch



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux