]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/commitdiff
irqchip/realtek-rtl: Map control data to virq
authorSander Vanheule <sander@svanheule.net>
Sun, 9 Jan 2022 14:54:32 +0000 (15:54 +0100)
committerPaolo Pisati <paolo.pisati@canonical.com>
Thu, 3 Feb 2022 09:28:55 +0000 (10:28 +0100)
BugLink: https://bugs.launchpad.net/bugs/1959879
commit 291e79c7e2eb6fdc016453597b78482e06199d0f upstream.

The driver assigned the irqchip and irq handler to the hardware irq,
instead of the virq. This is incorrect, and only worked because these
irq numbers happened to be the same on the devices used for testing the
original driver.

Fixes: 9f3a0f34b84a ("irqchip: Add support for Realtek RTL838x/RTL839x interrupt controller")
Signed-off-by: Sander Vanheule <sander@svanheule.net>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/4b4936606480265db47df152f00bc2ed46340599.1641739718.git.sander@svanheule.net
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com>
drivers/irqchip/irq-realtek-rtl.c

index fd9f275592d296a71ea981f931d2c877d8983743..d6788dd93c7bb3b70ae3fa67891612d4d50f5572 100644 (file)
@@ -62,7 +62,7 @@ static struct irq_chip realtek_ictl_irq = {
 
 static int intc_map(struct irq_domain *d, unsigned int irq, irq_hw_number_t hw)
 {
-       irq_set_chip_and_handler(hw, &realtek_ictl_irq, handle_level_irq);
+       irq_set_chip_and_handler(irq, &realtek_ictl_irq, handle_level_irq);
 
        return 0;
 }