Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'irq_urgent_for_v6.18_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull irq fixes from Borislav Petkov:

- Skip interrupt ID 0 in sifive-plic during suspend/resume because
ID 0 is reserved and accessing reserved register space could result
in undefined behavior

- Fix a function's retval check in aspeed-scu-ic

* tag 'irq_urgent_for_v6.18_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
irqchip/sifive-plic: Avoid interrupt ID 0 handling during suspend/resume
irqchip/aspeed-scu-ic: Fix an IS_ERR() vs NULL check

+6 -4
+2 -2
drivers/irqchip/irq-aspeed-scu-ic.c
··· 215 215 int irq, rc = 0; 216 216 217 217 scu_ic->base = of_iomap(node, 0); 218 - if (IS_ERR(scu_ic->base)) { 219 - rc = PTR_ERR(scu_ic->base); 218 + if (!scu_ic->base) { 219 + rc = -ENOMEM; 220 220 goto err; 221 221 } 222 222
+4 -2
drivers/irqchip/irq-sifive-plic.c
··· 254 254 255 255 priv = per_cpu_ptr(&plic_handlers, smp_processor_id())->priv; 256 256 257 - for (i = 0; i < priv->nr_irqs; i++) { 257 + /* irq ID 0 is reserved */ 258 + for (i = 1; i < priv->nr_irqs; i++) { 258 259 __assign_bit(i, priv->prio_save, 259 260 readl(priv->regs + PRIORITY_BASE + i * PRIORITY_PER_ID)); 260 261 } ··· 286 285 287 286 priv = per_cpu_ptr(&plic_handlers, smp_processor_id())->priv; 288 287 289 - for (i = 0; i < priv->nr_irqs; i++) { 288 + /* irq ID 0 is reserved */ 289 + for (i = 1; i < priv->nr_irqs; i++) { 290 290 index = BIT_WORD(i); 291 291 writel((priv->prio_save[index] & BIT_MASK(i)) ? 1 : 0, 292 292 priv->regs + PRIORITY_BASE + i * PRIORITY_PER_ID);