On Mon, Jun 6, 2011 at 5:53 AM, Thomas Gleixner <tglx@xxxxxxxxxxxxx> wrote: > On Sun, 5 Jun 2011, Matt Turner wrote: > >> Hi Thomas, >> >> Commit d6d5d5c4afd4c8bb4c5e3753a2141e9c3a874629 breaks boot-up on my >> Broadcom BCM91250A. Reverting it solves the problem. >> >> I looked at the commit but nothing obviously wrong jumped out at me. > > The below should fix it. > > -----------------> > Subject: MIPS: sb1250: Restore dropped irq_mask function > From: Thomas Gleixner <tglx@xxxxxxxxxxxxx> > Date: Mon, 06 Jun 2011 11:51:43 +0200 > > Commit d6d5d5c4a (MIPS: Sibyte: Convert to new irq_chip functions) > removed the mask function which breaks irq_shutdown(). Restore it. > > Reported-by: Matt Turner <mattst88@xxxxxxxxx> > Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> > > --- > diff --git a/arch/mips/sibyte/sb1250/irq.c b/arch/mips/sibyte/sb1250/irq.c > index be4460a..76ee045 100644 > --- a/arch/mips/sibyte/sb1250/irq.c > +++ b/arch/mips/sibyte/sb1250/irq.c > @@ -123,6 +123,13 @@ static int sb1250_set_affinity(struct irq_data *d, const struct cpumask *mask, > } > #endif > > +static void disable_sb1250_irq(struct irq_data *d) > +{ > + unsigned int irq = d->irq; > + > + sb1250_mask_irq(sb1250_irq_owner[irq], irq); > +} > + > static void enable_sb1250_irq(struct irq_data *d) > { > unsigned int irq = d->irq; > @@ -180,6 +187,7 @@ static struct irq_chip sb1250_irq_type = { > .name = "SB1250-IMR", > .irq_mask_ack = ack_sb1250_irq, > .irq_unmask = enable_sb1250_irq, > + .irq_mask = disable_sb1250_irq, > #ifdef CONFIG_SMP > .irq_set_affinity = sb1250_set_affinity > #endif Yep, this fixes it. Have a Tested-by: Matt Turner <mattst88@xxxxxxxxx> Thanks! Matt