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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, 24 Mar 2011, Manuel Lauss wrote:

> On Wed, Mar 23, 2011 at 10:08 PM, Thomas Gleixner <tglx@xxxxxxxxxxxxx> wrote:
> > Fix the deadlock in set_type() while at it.
> >
> > Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
> > ---
> >  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

[Index of Archives]     [Linux MIPS Home]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Linux]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux