linux/drivers/irqchip
Marc Zyngier 82f499c881 irqchip/gic-v3-its: Fix reprogramming of redistributors on CPU hotplug
Enabling LPIs was made a lot stricter recently, by checking that they are
disabled before enabling them. By doing so, the CPU hotplug case was missed
altogether, which leaves LPIs enabled on hotplug off (expecting the CPU to
eventually come back), and won't write a different value anyway on hotplug
on.

So skip that check if that particular case is detected

Fixes: 6eb486b66a ("irqchip/gic-v3: Ensure GICR_CTLR.EnableLPI=0 is observed before enabling")
Reported-by: Sumit Garg <sumit.garg@linaro.org>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Tested-by: Sumit Garg <sumit.garg@linaro.org>
Cc: Jason Cooper <jason@lakedaemon.net>
Cc: Alexandre Belloni <alexandre.belloni@bootlin.com>
Cc: Yang Yingliang <yangyingliang@huawei.com>
Link: https://lkml.kernel.org/r/20180622095254.5906-8-marc.zyngier@arm.com
2018-06-22 14:22:02 +02:00
..
Kconfig Staging/IIO patches for 4.17-rc1 2018-04-04 18:56:27 -07:00
Makefile irqchip/gic-v3: Add support for Message Based Interrupts as an MSI controller 2018-05-13 15:59:01 +02:00
alphascale_asm9260-icoll.h
exynos-combiner.c
irq-alpine-msi.c treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
irq-armada-370-xp.c
irq-aspeed-i2c-ic.c
irq-aspeed-vic.c
irq-ath79-cpu.c
irq-ath79-misc.c
irq-ativic32.c irqchip: Andestech Internal Vector Interrupt Controller driver 2018-02-22 10:44:36 +08:00
irq-atmel-aic-common.c
irq-atmel-aic-common.h
irq-atmel-aic.c
irq-atmel-aic5.c
irq-bcm2835.c
irq-bcm2836.c irqchip/irq-bcm2836: Add support for DT interrupt polarity 2018-01-04 11:12:39 +00:00
irq-bcm6345-l1.c
irq-bcm7038-l1.c irqchip/bcm: Remove hashed address printing 2018-02-16 14:22:16 +00:00
irq-bcm7120-l2.c irqchip/bcm: Remove hashed address printing 2018-02-16 14:22:16 +00:00
irq-brcmstb-l2.c irqchip/bcm: Remove hashed address printing 2018-02-16 14:22:16 +00:00
irq-clps711x.c
irq-crossbar.c
irq-digicolor.c
irq-dw-apb-ictl.c
irq-eznps.c
irq-ftintc010.c
irq-gic-common.c irqchip/gic: Take lock when updating irq type 2018-03-29 11:47:50 +01:00
irq-gic-common.h
irq-gic-pm.c
irq-gic-realview.c
irq-gic-v2m.c irqchip/gic-v2m: Fix SPI release on error path 2018-06-22 14:22:00 +02:00
irq-gic-v3-its-fsl-mc-msi.c Merge 4.16-rc3 into staging-next 2018-02-26 15:32:00 +01:00
irq-gic-v3-its-pci-msi.c irqchip/gic-v3: Ignore disabled ITS nodes 2018-02-16 13:47:58 +00:00
irq-gic-v3-its-platform-msi.c irqchip/gic-v3: Ignore disabled ITS nodes 2018-02-16 13:47:58 +00:00
irq-gic-v3-its.c irqchip/gic-v3-its: Fix reprogramming of redistributors on CPU hotplug 2018-06-22 14:22:02 +02:00
irq-gic-v3-mbi.c irqchip/gic-v3: Add PCI/MSI support to the GICv3 MBI sub-driver 2018-05-13 15:59:01 +02:00
irq-gic-v3.c treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
irq-gic-v4.c irqchip/gic-v4: Clear IRQ_DISABLE_UNLAZY again if mapping fails 2017-11-10 09:50:36 +00:00
irq-gic.c irqchip/gic: Update supports_deactivate static key to modern api 2018-03-28 15:24:15 +01:00
irq-goldfish-pic.c irqchip/irq-goldfish-pic: Add Goldfish PIC driver 2018-01-04 11:14:04 +00:00
irq-hip04.c
irq-i8259.c irqchip/i8259: Set I/O port resource types correctly 2017-12-18 23:07:46 -06:00
irq-imgpdc.c treewide: devm_kzalloc() -> devm_kcalloc() 2018-06-12 16:19:22 -07:00
irq-imx-gpcv2.c irqchip/irq-imx-gpcv2: Remove unused function 2018-03-11 13:27:12 +00:00
irq-ingenic.c
irq-jcore-aic.c
irq-keystone.c
irq-lpc32xx.c
irq-ls-scfg-msi.c irqchip/ls-scfg-msi: Fix MSI affinity handling 2018-06-22 14:22:00 +02:00
irq-mbigen.c
irq-meson-gpio.c irqchip/meson-gpio: Add support for Meson-AXG SoCs 2018-05-24 12:34:18 +01:00
irq-mips-cpu.c
irq-mips-gic.c irqchip/mips-gic: Avoid spuriously handling masked interrupts 2018-02-16 13:47:58 +00:00
irq-mmp.c
irq-mscc-ocelot.c irqchip: Add a driver for the Microsemi Ocelot controller 2018-03-22 15:52:27 +00:00
irq-mtk-cirq.c
irq-mtk-sysirq.c
irq-mvebu-gicp.c treewide: devm_kzalloc() -> devm_kcalloc() 2018-06-12 16:19:22 -07:00
irq-mvebu-icu.c irqchip/mvebu-gicp: Use level-triggered MSIs between ICU and GICP 2018-05-13 15:59:00 +02:00
irq-mvebu-odmi.c
irq-mvebu-pic.c
irq-mxs.c
irq-nvic.c
irq-omap-intc.c
irq-ompic.c irqchip/ompic: fix return value check in ompic_of_init() 2018-01-04 11:13:22 +00:00
irq-or1k-pic.c
irq-orion.c
irq-partition-percpu.c treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
irq-pic32-evic.c
irq-renesas-h8s.c
irq-renesas-h8300h.c
irq-renesas-intc-irqpin.c irqchip/renesas-intc-irqpin: Use wakeup_path i.s.o. explicit clock handling 2018-03-14 11:11:15 +00:00
irq-renesas-irqc.c irqchip/renesas-irqc: Use wakeup_path i.s.o. explicit clock handling 2018-03-14 11:11:21 +00:00
irq-s3c24xx.c treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
irq-sa11x0.c
irq-sirfsoc.c
irq-sni-exiu.c irqchip/exiu: Fix return value check in exiu_init() 2017-11-14 11:27:22 +01:00
irq-st.c
irq-stm32-exti.c irqchip/stm32: Fix non-SMP build warning 2018-06-06 12:05:19 +02:00
irq-sun4i.c
irq-sunxi-nmi.c
irq-tango.c
irq-tb10x.c
irq-tegra.c
irq-ts4800.c
irq-uniphier-aidet.c
irq-versatile-fpga.c
irq-vf610-mscm-ir.c
irq-vic.c
irq-vt8500.c
irq-xilinx-intc.c
irq-xtensa-mx.c
irq-xtensa-pic.c
irq-zevio.c
irqchip.c
qcom-irq-combiner.c irqchip/qcom: Fix check for spurious interrupts 2018-05-02 15:56:10 +02:00
qcom-pdc.c irqchip/pdc: Add PDC interrupt controller for QCOM SoCs 2018-03-14 11:11:27 +00:00
spear-shirq.c