[#5226] KGDB hangs in smc91x poll handler if switch cpu 3 times on bf561 SMP kernel.
Submitted By: Sonic Zhang
Open Date
2009-06-10 04:16:17 Close Date
2009-06-11 05:53:53
Priority:
Medium High Assignee:
Sonic Zhang
Status:
Closed Fixed In Release:
N/A
Found In Release:
N/A Release:
Category:
N/A Board:
N/A
Processor:
BF561 Silicon Revision:
Is this bug repeatable?:
Yes Resolution:
Fixed
Uboot version or rev.:
Toolchain version or rev.:
09r1-rc7
App binary format:
N/A
Summary: KGDB hangs in smc91x poll handler if switch cpu 3 times on bf561 SMP kernel.
Details:
KGDB hangs in smc91x poll handler on bf561 SMP kernel.
steps:
gdb> info thread
gdb> thread 3
gdb> thread 2
gdb> thread 3
kernel hangs here. No dump.
Follow-ups
--- Sonic Zhang 2009-06-10 04:42:59
A low priority ethernet interrupt is incorrectly triggered between 2 consequent
high priority IPI messages, which creates a deadlock in disable_irq() invoked in
smc91x net poll controller by the second IPI handler. The second IPI message is
queued within the first IPI handler. They should be handled in first IPI
handler, but current IPI handler doesn't circle all messges, which may increase
in this loop, in the queue properly before return.
Fixed.
--- Mingquan Pan 2009-06-11 05:53:53
It is ok now with switching threads serveral times back and forth. So close.
Files
Changes
Commits
Dependencies
Duplicates
Associations
Tags
File Name File Type File Size Posted By
No Files Were Found