linux-mips
[Top] [All Lists]

Re: [patch 01/38] mips; Convert alchemy to new irq chip functions

To: Manuel Lauss <manuel.lauss@googlemail.com>
Subject: Re: [patch 01/38] mips; Convert alchemy to new irq chip functions
From: Thomas Gleixner <tglx@linutronix.de>
Date: Thu, 24 Mar 2011 09:14:06 +0100 (CET)
Cc: linux-mips@linux-mips.org, Ralf Baechle <ralf@linux-mips.org>
In-reply-to: <AANLkTimkSzuTu6AWij=T_J7W6KTTjB6BBTOyTLcxi_Kq@mail.gmail.com>
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <20110323210437.398062704@linutronix.de> <20110323210534.669706549@linutronix.de> <AANLkTimkSzuTu6AWij=T_J7W6KTTjB6BBTOyTLcxi_Kq@mail.gmail.com>
Sender: linux-mips-bounce@linux-mips.org
User-agent: Alpine 2.00 (LFD 1167 2008-08-23)
On Thu, 24 Mar 2011, Manuel Lauss wrote:

> On Wed, Mar 23, 2011 at 10:08 PM, Thomas Gleixner <tglx@linutronix.de> wrote:
> > Fix the deadlock in set_type() while at it.
> >
> > Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
> > ---
> >  arch/mips/alchemy/common/irq.c     |   98 
> > ++++++++++++++++++-------------------
> >  arch/mips/alchemy/devboards/bcsr.c |   18 +++---
> >  2 files changed, 59 insertions(+), 57 deletions(-)
> 
> Tested on the db1200, works fine.
> 
> I'm curious though: could you please elaborate on where the deadlock came 
> from?
> Is it not safe to call set_irq_type() at all times?

The code called set_irq_chip_and_handler_name() resp. set_irq_chip()
from the set_type() callback. That only works on UP and lock debugging
disabled. Otherwise it would dead lock on desc->lock.

__irq_set_chip_handler_name_locked() avoids that.

Thanks,

        tglx
<Prev in Thread] Current Thread [Next in Thread>