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.17_rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull irq fixes from Borislav Petkov:

- Remove unnecessary and noisy WARN_ONs in gic-v5's init path

- Avoid a kmemleak false positive for the gic-v5's L2 IST table entries

- Fix a retval check in mvebu-gicp's probe function

- Fix a wrong conversion to guards in atmel-aic[5] irqchip

* tag 'irq_urgent_for_v6.17_rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
irqchip/gic-v5: Remove undue WARN_ON()s in the IRS affinity parsing
irqchip/gic-v5: Fix kmemleak L2 IST table entries false positives
irqchip/mvebu-gicp: Fix an IS_ERR() vs NULL check in probe()
irqchip/atmel-aic[5]: Fix incorrect lock guard conversion

+10 -5
+1 -1
drivers/irqchip/irq-atmel-aic.c
··· 188 188 189 189 gc = dgc->gc[idx]; 190 190 191 - guard(raw_spinlock_irq)(&gc->lock); 191 + guard(raw_spinlock_irqsave)(&gc->lock); 192 192 smr = irq_reg_readl(gc, AT91_AIC_SMR(*out_hwirq)); 193 193 aic_common_set_priority(intspec[2], &smr); 194 194 irq_reg_writel(gc, smr, AT91_AIC_SMR(*out_hwirq));
+1 -1
drivers/irqchip/irq-atmel-aic5.c
··· 279 279 if (ret) 280 280 return ret; 281 281 282 - guard(raw_spinlock_irq)(&bgc->lock); 282 + guard(raw_spinlock_irqsave)(&bgc->lock); 283 283 irq_reg_writel(bgc, *out_hwirq, AT91_AIC5_SSR); 284 284 smr = irq_reg_readl(bgc, AT91_AIC5_SMR); 285 285 aic_common_set_priority(intspec[2], &smr);
+7 -2
drivers/irqchip/irq-gic-v5-irs.c
··· 5 5 6 6 #define pr_fmt(fmt) "GICv5 IRS: " fmt 7 7 8 + #include <linux/kmemleak.h> 8 9 #include <linux/log2.h> 9 10 #include <linux/of.h> 10 11 #include <linux/of_address.h> ··· 118 117 kfree(ist); 119 118 return ret; 120 119 } 120 + kmemleak_ignore(ist); 121 121 122 122 return 0; 123 123 } ··· 234 232 kfree(l2ist); 235 233 return ret; 236 234 } 235 + kmemleak_ignore(l2ist); 237 236 238 237 /* 239 238 * Make sure we invalidate the cache line pulled before the IRS ··· 626 623 int cpu; 627 624 628 625 cpu_node = of_parse_phandle(node, "cpus", i); 629 - if (WARN_ON(!cpu_node)) 626 + if (!cpu_node) { 627 + pr_warn(FW_BUG "Erroneous CPU node phandle\n"); 630 628 continue; 629 + } 631 630 632 631 cpu = of_cpu_node_to_id(cpu_node); 633 632 of_node_put(cpu_node); 634 - if (WARN_ON(cpu < 0)) 633 + if (cpu < 0) 635 634 continue; 636 635 637 636 if (iaffids[i] & ~iaffid_mask) {
+1 -1
drivers/irqchip/irq-mvebu-gicp.c
··· 238 238 } 239 239 240 240 base = ioremap(gicp->res->start, resource_size(gicp->res)); 241 - if (IS_ERR(base)) { 241 + if (!base) { 242 242 dev_err(&pdev->dev, "ioremap() failed. Unable to clear pending interrupts.\n"); 243 243 } else { 244 244 for (i = 0; i < 64; i++)