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

Pull irq fixes from Borislav Petkov:

- Restore the original buslock locking in a couple of places in the irq
core subsystem after a rework

* tag 'irq_urgent_for_v6.18_rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
genirq/manage: Add buslock back in to enable_irq()
genirq/manage: Add buslock back in to __disable_irq_nosync()
genirq/chip: Add buslock back in to irq_set_handler()

+3 -3
+1 -1
kernel/irq/chip.c
··· 1030 1030 void __irq_set_handler(unsigned int irq, irq_flow_handler_t handle, int is_chained, 1031 1031 const char *name) 1032 1032 { 1033 - scoped_irqdesc_get_and_lock(irq, 0) 1033 + scoped_irqdesc_get_and_buslock(irq, 0) 1034 1034 __irq_do_set_handler(scoped_irqdesc, handle, is_chained, name); 1035 1035 } 1036 1036 EXPORT_SYMBOL_GPL(__irq_set_handler);
+2 -2
kernel/irq/manage.c
··· 659 659 660 660 static int __disable_irq_nosync(unsigned int irq) 661 661 { 662 - scoped_irqdesc_get_and_lock(irq, IRQ_GET_DESC_CHECK_GLOBAL) { 662 + scoped_irqdesc_get_and_buslock(irq, IRQ_GET_DESC_CHECK_GLOBAL) { 663 663 __disable_irq(scoped_irqdesc); 664 664 return 0; 665 665 } ··· 789 789 */ 790 790 void enable_irq(unsigned int irq) 791 791 { 792 - scoped_irqdesc_get_and_lock(irq, IRQ_GET_DESC_CHECK_GLOBAL) { 792 + scoped_irqdesc_get_and_buslock(irq, IRQ_GET_DESC_CHECK_GLOBAL) { 793 793 struct irq_desc *desc = scoped_irqdesc; 794 794 795 795 if (WARN(!desc->irq_data.chip, "enable_irq before setup/request_irq: irq %u\n", irq))