Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 94c4fcec authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge branch 'irq-core-for-linus' of...

Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip

* 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  genirq: Force MSI irq handlers to run with interrupts disabled
parents 14e71e4f 753649db
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -757,6 +757,16 @@ __setup_irq(unsigned int irq, struct irq_desc *desc, struct irqaction *new)
		if (new->flags & IRQF_ONESHOT)
			desc->status |= IRQ_ONESHOT;

		/*
		 * Force MSI interrupts to run with interrupts
		 * disabled. The multi vector cards can cause stack
		 * overflows due to nested interrupts when enough of
		 * them are directed to a core and fire at the same
		 * time.
		 */
		if (desc->msi_desc)
			new->flags |= IRQF_DISABLED;

		if (!(desc->status & IRQ_NOAUTOEN)) {
			desc->depth = 0;
			desc->status &= ~IRQ_DISABLED;