* Regression: d6d5d5c breaks Broadcom BCM91250A
@ 2011-06-06 3:36 Matt Turner
2011-06-06 9:53 ` Thomas Gleixner
0 siblings, 1 reply; 4+ messages in thread
From: Matt Turner @ 2011-06-06 3:36 UTC (permalink / raw)
To: Thomas Gleixner; +Cc: Ralf Baechle, linux-mips
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset=unknown-8bit, Size: 2751 bytes --]
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.
Thanks,
Matt
CPU 1 Unable to handle kernel paging request at virtual address 0000000000000000, epc == 0000000000000000, ra == ffffffff80173888
Oops�#1�:
Cpu 1
$ 0 : 0000000000000000 0000000014001fe0 0000000000000000 ffffffff804d6e00
$ 4 : ffffffff804cce20 0000000000000000 0000000000000005 0000000000000000
$ 8 : 0000000000000000 0000000000000000 6978000000000000 0000000000000000
$12 : 0000000000000000 ffffffff80000008 ffffffff801aab00 0000000010020000
$16 : ffffffff804cce20 ffffffff804cce20 0000000000000008 ffffffff804cce9c
$20 : ffffffff8059de60 0000000014001fe1 0000000000001d4c 0000000000000000
$24 : 0000000010018348 ffffffff802e9f58
$28 : a8000000ce068000 a8000000ce06bc10 0000000000000000 ffffffff80173888
Hi : 0000000000000000
Lo : 0000000000000700
epc : 0000000000000000 (null)
Tainted: G W
ra : ffffffff80173888 irq_shutdown+0x58/0x78
Status: 14001fe2 KX SX UX KERNEL EXL
Cause : 00800008
BadVA : 0000000000000000
PrId : 03040102 (SiByte SB1)
Modules linked in:
Process init (pid: 1, threadinfo=a8000000ce068000, task=a8000000ce067718, tls=000000002b340400)
Stack : a8000000ce5d1700 ffffffff80171c28 a8000000ce46b800 ffffffff804cce20
ffffffff8059de60 0000000000000008 a8000000ce46b810 ffffffff8059de68
0000000000001d4c ffffffff80171d78 ffffffff8059de68 a8000000ce46b800
a8000000ce468000 ffffffff802ea6c8 0000000014001fe1 a8000000ce46b878
a8000000ce46b800 a8000000ce46b878 a8000000ce46b800 ffffffff802eb7c0
a8000000ce06be50 a8000000ce06bcf8 a8000000ce06bda0 a8000000ce06be50
a8000000ce06bd80 a8000000ce06be50 0000000014001fe1 a8000000ce11d760
0000000000000000 a8000000ce468000 0000000000000000 0000000000000000
a8000000ce044f40 0000000000000008 a8000000ce11d760 a8000000cd001450
0000000000000000 ffffffff802d2c14 a8000000ce3b7000 ffffffffffffff9c
...
Call Trace:
�<ffffffff80171c28>� __free_irq+0xe4/0x1c8
�<ffffffff80171d78>� free_irq+0x6c/0xb4
�<ffffffff802ea6c8>� uart_shutdown+0xe4/0x120
�<ffffffff802eb7c0>� uart_close+0x224/0x334
�<ffffffff802d2c14>� tty_release+0x1dc/0x4c8
�<ffffffff801b9820>� do_filp_open+0x38/0x9c
�<ffffffff801ace88>� fput+0x130/0x224
�<ffffffff801a94ec>� filp_close+0x8c/0xa4
�<ffffffff801aabb0>� SyS_close+0xb0/0x110
�<ffffffff8010e6c4>� handle_sysn32+0x44/0xa0
Code: (Bad address in epc)
Disabling lock debugging due to kernel taint
Kernel panic - not syncing: Attempted to kill init!
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: Regression: d6d5d5c breaks Broadcom BCM91250A
2011-06-06 3:36 Regression: d6d5d5c breaks Broadcom BCM91250A Matt Turner
@ 2011-06-06 9:53 ` Thomas Gleixner
2011-06-06 21:08 ` Matt Turner
0 siblings, 1 reply; 4+ messages in thread
From: Thomas Gleixner @ 2011-06-06 9:53 UTC (permalink / raw)
To: Matt Turner; +Cc: Ralf Baechle, linux-mips
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@linutronix.de>
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@gmail.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
---
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
^ permalink raw reply related [flat|nested] 4+ messages in thread* Re: Regression: d6d5d5c breaks Broadcom BCM91250A
2011-06-06 9:53 ` Thomas Gleixner
@ 2011-06-06 21:08 ` Matt Turner
2011-06-06 22:48 ` Ralf Baechle
0 siblings, 1 reply; 4+ messages in thread
From: Matt Turner @ 2011-06-06 21:08 UTC (permalink / raw)
To: Thomas Gleixner; +Cc: Ralf Baechle, linux-mips
On Mon, Jun 6, 2011 at 5:53 AM, Thomas Gleixner <tglx@linutronix.de> 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@linutronix.de>
> 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@gmail.com>
> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
>
> ---
> 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@gmail.com>
Thanks!
Matt
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2011-06-06 22:47 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-06-06 3:36 Regression: d6d5d5c breaks Broadcom BCM91250A Matt Turner
2011-06-06 9:53 ` Thomas Gleixner
2011-06-06 21:08 ` Matt Turner
2011-06-06 22:48 ` Ralf Baechle
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox