]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
irqchip/loongson-eiointc: Fix irq affinity setting during resume
authorJianmin Lv <lvjianmin@loongson.cn>
Wed, 14 Jun 2023 11:59:36 +0000 (19:59 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 11 Jul 2023 17:39:22 +0000 (19:39 +0200)
commit812652a3212a204ba975d35360be2e004a89980a
treec235d72b8772bbbc4d504dd4d3d5d595bea86c26
parent7149e57cf01184fba175589f8fbe9fbf33be02e1
irqchip/loongson-eiointc: Fix irq affinity setting during resume

[ Upstream commit fb07b8f83441febeb0daf199b5f18c6de9bbab03 ]

The hierarchy of PCH PIC, PCH PCI MSI and EIONTC is as following:

        PCH PIC ------->|
                        |---->EIOINTC
        PCH PCI MSI --->|

so the irq_data list of irq_desc for IRQs on PCH PIC and PCH PCI MSI
is like this:

irq_desc->irq_data(domain: PCH PIC)->parent_data(domain: EIOINTC)
irq_desc->irq_data(domain: PCH PCI MSI)->parent_data(domain: EIOINTC)

In eiointc_resume(), the irq_data passed into eiointc_set_irq_affinity()
should be matched to EIOINTC domain instead of PCH PIC or PCH PCI MSI
domain, so fix it.

Fixes: a90335c2dfb4 ("irqchip/loongson-eiointc: Add suspend/resume support")
Reported-by: yangqiming <yangqiming@loongson.cn>
Signed-off-by: Jianmin Lv <lvjianmin@loongson.cn>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20230614115936.5950-6-lvjianmin@loongson.cn
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/irqchip/irq-loongson-eiointc.c