Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S268382AbUI2NQD (ORCPT ); Wed, 29 Sep 2004 09:16:03 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S268392AbUI2NQC (ORCPT ); Wed, 29 Sep 2004 09:16:02 -0400 Received: from clock-tower.bc.nu ([81.2.110.250]:62857 "EHLO localhost.localdomain") by vger.kernel.org with ESMTP id S268382AbUI2NPu (ORCPT ); Wed, 29 Sep 2004 09:15:50 -0400 Subject: RE: 2.6.9-rc2-mm4 e100 enable_irq unbalanced from From: Alan Cox To: Paul Fulghum Cc: "Feldman, Scott" , "Venkatesan, Ganesh" , Linux Kernel Mailing List In-Reply-To: <1096427180.6003.49.camel@at2.pipehead.org> References: <1096427180.6003.49.camel@at2.pipehead.org> Content-Type: text/plain Content-Transfer-Encoding: 7bit Message-Id: <1096460004.15905.9.camel@localhost.localdomain> Mime-Version: 1.0 X-Mailer: Ximian Evolution 1.4.6 (1.4.6-2) Date: Wed, 29 Sep 2004 13:13:26 +0100 Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1206 Lines: 33 On Mer, 2004-09-29 at 04:06, Paul Fulghum wrote: > It is interesting behavior for request_irq. > I don't know if it was planned that way, > or is an unexpected artifact. > It makes the effect of the disable_irq call > indeterminate (to the driver) if made > before registering with the interrupt. Essentially the code believes that you cannot use disable_irq() until you've requested it. You can however in 2.6 call request_irq with local interrupts disabled. We have a fundamental API design problem going back to day one. The API IMHO should really be struct irq *irq; irq = allocate_irq(5, ...) enable_irq(irq); That would fix - Drivers failing to load/init under freak low memory situations - How to cleanly report irqs (because each irq can now have ->name) - How to tell which shared irq users are disabled/enabled for the irq poll/recovery code I posted (and is testing in -mm). Unfortunately it would require changes to rather a lot of code. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/