Loading arch/powerpc/kernel/irq.c +19 −18 Original line number Diff line number Diff line Loading @@ -191,6 +191,25 @@ notrace unsigned int __check_irq_replay(void) return 0; } /* * This is specifically called by assembly code to re-enable interrupts * if they are currently disabled. This is typically called before * schedule() or do_signal() when returning to userspace. We do it * in C to avoid the burden of dealing with lockdep etc... * * NOTE: This is called with interrupts hard disabled but not marked * as such in paca->irq_happened, so we need to resync this. */ void notrace restore_interrupts(void) { if (irqs_disabled()) { local_paca->irq_happened |= PACA_IRQ_HARD_DIS; local_irq_enable(); } else __hard_irq_enable(); } #endif /* CONFIG_PPC_BOOK3E */ void replay_soft_interrupts(void) Loading Loading @@ -364,24 +383,6 @@ notrace void arch_local_irq_restore(unsigned long mask) } EXPORT_SYMBOL(arch_local_irq_restore); /* * This is specifically called by assembly code to re-enable interrupts * if they are currently disabled. This is typically called before * schedule() or do_signal() when returning to userspace. We do it * in C to avoid the burden of dealing with lockdep etc... * * NOTE: This is called with interrupts hard disabled but not marked * as such in paca->irq_happened, so we need to resync this. */ void notrace restore_interrupts(void) { if (irqs_disabled()) { local_paca->irq_happened |= PACA_IRQ_HARD_DIS; local_irq_enable(); } else __hard_irq_enable(); } /* * This is a helper to use when about to go into idle low-power * when the latter has the side effect of re-enabling interrupts Loading Loading
arch/powerpc/kernel/irq.c +19 −18 Original line number Diff line number Diff line Loading @@ -191,6 +191,25 @@ notrace unsigned int __check_irq_replay(void) return 0; } /* * This is specifically called by assembly code to re-enable interrupts * if they are currently disabled. This is typically called before * schedule() or do_signal() when returning to userspace. We do it * in C to avoid the burden of dealing with lockdep etc... * * NOTE: This is called with interrupts hard disabled but not marked * as such in paca->irq_happened, so we need to resync this. */ void notrace restore_interrupts(void) { if (irqs_disabled()) { local_paca->irq_happened |= PACA_IRQ_HARD_DIS; local_irq_enable(); } else __hard_irq_enable(); } #endif /* CONFIG_PPC_BOOK3E */ void replay_soft_interrupts(void) Loading Loading @@ -364,24 +383,6 @@ notrace void arch_local_irq_restore(unsigned long mask) } EXPORT_SYMBOL(arch_local_irq_restore); /* * This is specifically called by assembly code to re-enable interrupts * if they are currently disabled. This is typically called before * schedule() or do_signal() when returning to userspace. We do it * in C to avoid the burden of dealing with lockdep etc... * * NOTE: This is called with interrupts hard disabled but not marked * as such in paca->irq_happened, so we need to resync this. */ void notrace restore_interrupts(void) { if (irqs_disabled()) { local_paca->irq_happened |= PACA_IRQ_HARD_DIS; local_irq_enable(); } else __hard_irq_enable(); } /* * This is a helper to use when about to go into idle low-power * when the latter has the side effect of re-enabling interrupts Loading