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

+10
+10
kernel/irq/manage.c
··· 757 757 if (new->flags & IRQF_ONESHOT) 758 758 desc->status |= IRQ_ONESHOT; 759 759 760 + /* 761 + * Force MSI interrupts to run with interrupts 762 + * disabled. The multi vector cards can cause stack 763 + * overflows due to nested interrupts when enough of 764 + * them are directed to a core and fire at the same 765 + * time. 766 + */ 767 + if (desc->msi_desc) 768 + new->flags |= IRQF_DISABLED; 769 + 760 770 if (!(desc->status & IRQ_NOAUTOEN)) { 761 771 desc->depth = 0; 762 772 desc->status &= ~IRQ_DISABLED;