Re: Git tree updated to 2.6.19-rc2

Dirk Behme
2006-10-24T16:16:53Z

[-- Attachment #1: Type: text/plain, Size: 1142 bytes --]

Tony Lindgren wrote:
> - CONFIG_DEBUG_LL hangs system

For reference see

http://linux.omap.com/pipermail/linux-omap-open-source/2006-October/008025.html

and

http://linux.omap.com/pipermail/linux-omap-open-source/2006-October/008054.html

for an ugly workaround if you really need it. I really have
no clue what is broken here.

> - BUG in omap1_mbox_enable_irq

I think you mean

Unbalanced enable for IRQ 10
BUG: warning at kernel/irq/manage.c:118/enable_irq()

printed in bootmessages.

I spent some minutes for this as well. It is MPU "dsp"
interrupt which is enabled in omap1_mbox_enable_irq() by

enable_irq(mbox->irq);

In kernel/irq/manage.c function enable_irq() checks for
desc->depth and if it is 0 it prints above message. Seems
that desc->depth has to be >= 1.

The comment tells us

* Undoes the effect of one call to disable_irq(). If this
* matches the last disable, processing of interrupts on this
* IRQ line is re-enabled.

so seems that before calling enable_irq() at least one
disable_irq() is needed.

I don't know if patch in attachment is a valid patch or only
a workaround. What do you think?

Best regards

Dirk

[-- Attachment #2: mailbox_irq_patch.txt --]
[-- Type: text/plain, Size: 385 bytes --]

--- arch/arm/plat-omap/mailbox.c_orig 2006-10-24 18:08:06.000000000 +0200
+++ arch/arm/plat-omap/mailbox.c 2006-10-24 18:10:58.000000000 +0200
@@ -237,6 +237,7 @@ static int omap_mbox_init(struct omap_mb
"failed to register mailbox interrupt:%d\n", ret);
goto fail1;
}
+ disable_mbox_irq(mbox, IRQ_RX);
enable_mbox_irq(mbox, IRQ_RX);

spin_lock_init(&mbox->lock);

[-- Attachment #3: Type: text/plain, Size: 0 bytes --]