From: shmulik.hen@intel.com Date: Thu, 27 Mar 2003 15:32:02 +0200 (IST) Further more, holding a lock_irq doesn't mean bottom halves are disabled too, it just means interrupts are disabled and no *new* softirq can be queued. Consider the following situation: I think local_bh_enable() should check irqs_disabled() and honour that. What you are showing here, that BH's can run via local_bh_enable() even when IRQs are disabled, is a BUG(). IRQ disabling is meant to be stronger than softint disabling. Ingo/Linus? - : send the line "unsubscribe linux-net" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html