[#5226] KGDB hangs in smc91x poll handler if switch cpu 3 times on bf561 SMP kernel.

Document created by Aaronwu Employee on Sep 4, 2013
Version 1Show Document
  • View in full screen mode

[#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

Attachments

    Outcomes