From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751444AbdFFKaC (ORCPT ); Tue, 6 Jun 2017 06:30:02 -0400 Received: from Galois.linutronix.de ([146.0.238.70]:56393 "EHLO Galois.linutronix.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751384AbdFFKaB (ORCPT ); Tue, 6 Jun 2017 06:30:01 -0400 Date: Tue, 6 Jun 2017 12:29:57 +0200 (CEST) From: Thomas Gleixner To: Mason cc: Marc Zyngier , Jason Cooper , Mark Rutland , Arnd Bergmann , Linux ARM , LKML Subject: Re: Design of interrupt controller driver In-Reply-To: Message-ID: References: <8bce8bdd-5801-f0c3-ada3-e1c68acc8913@free.fr> <025780ef-06e6-1e85-58da-4ce8f6c93536@free.fr> <6e4da485-42cc-9b70-1b4a-9729f646e014@free.fr> <77a6e423-5c6a-9e5a-d679-c2576074fe6d@free.fr> User-Agent: Alpine 2.20 (DEB 67 2015-01-07) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, 6 Jun 2017, Mason wrote: > On 06/06/2017 09:39, Thomas Gleixner wrote: > What about disable_irq(virq); > That function /is/ exported API, and eventually calls mask_irq. > > disable_irq -> __disable_irq_nosync -> __disable_irq -> irq_disable -> mask_irq What you can call from an ISR is disable_irq_nosync(). disable_irq() will deadlock. Thanks, tglx