2009-07-18 11:21:58     Unbalanced enable for IRQ 22

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

2009-07-18 11:21:58     Unbalanced enable for IRQ 22

Loganathan Manokaran (INDIA)

Message: 77609   

 

Hi,

 

I am using  2009R1-RC3 distribution and 2009R1-RC7 tool chain for building the kernel for BF527 custom board. In the distribution i have enabled UART0 & UART1.

 

uart1 - debug console

 

uart0 - for another device

 

I have developed some small application for displaying the data on the LCD screen.I have used PPI_DMA0 for LCD.

 

while running the application i got the error.

 

please suggest me where i am doing wrong and help to resolve this issue.

 

/**************************************************************************************************************************/

 

## Booting kernel from Legacy Image at 01200000 ...

   Image Name:   Linux-2.6.28.10-ADI-2009R1

   Created:      2009-07-18  15:24:52 UTC

   Image Type:   Blackfin Linux Kernel Image (gzip compressed)

   Data Size:    3613694 Bytes =  3.4 MB

   Load Address: 00001000

   Entry Point:  001c1644

   Verifying Checksum ... OK

   Uncompressing Kernel Image ... OK

Starting Kernel at = 001c1644

Linux version 2.6.28.10-ADI-2009R1 (loga) version 4.1.2 (ADI svn)) #88 Sat Jul 18 20:54:41 IST 2009

Board Memory: 128MB

Kernel Managed Memory: 128MB

Memory map:

  fixedcode = 0x00000400-0x00000490

  text      = 0x00001000-0x0012aeb0

  rodata    = 0x0012aeb0-0x0018911c

  bss       = 0x0018a000-0x0019d278

  data      = 0x0019d278-0x001b4000

    stack   = 0x001b2000-0x001b4000

  init      = 0x001b4000-0x0073e000

  available = 0x0073e000-0x07eff000

  DMA Zone  = 0x07f00000-0x08000000

Hardware Trace Active and Enabled

Boot Mode: 1

Blackfin support (C) 2004-2009 Analog Devices, Inc.

Compiled for ADSP-BF527 Rev 0.2

Blackfin Linux support by   blackfin.uclinux.org/

Processor Speed: 600 MHz core clock and 120 MHz System Clock

NOMPU: setting up cplb tables

Instruction Cache Enabled for CPU0

Data Cache Enabled for CPU0 (write-back)

Built 1 zonelists in Zone order, mobility grouping off.  Total pages: 32257

Kernel command line: console=ttyBF1,57600

Configuring Blackfin Priority Driven Interrupts

PID hash table entries: 512 (order: 9, 2048 bytes)

Console: colour dummy device 80x25

console [ttyBF1] enabled

Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)

Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)

Memory available: 121496k/131072k RAM, (5672k init code, 1191k kernel code, 549k data, 1024k dma, 1136k reserved)

Calibrating delay loop... 1191.93 BogoMIPS (lpj=595968)

Security Framework initialized

Mount-cache hash table entries: 512

Blackfin Scratchpad data SRAM: 4 KB

Blackfin L1 Data A SRAM: 16 KB (12 KB free)

Blackfin L1 Data B SRAM: 16 KB (16 KB free)

Blackfin L1 Instruction SRAM: 48 KB (41 KB free)

net_namespace: 288 bytes

NET: Registered protocol family 16

Blackfin DMA Controller

ezkit_init(): registering device resources

SCSI subsystem initialized

usbcore: registered new interface driver usbfs

usbcore: registered new interface driver hub

usbcore: registered new device driver usb

NET: Registered protocol family 2

IP route cache hash table entries: 1024 (order: 0, 4096 bytes)

TCP established hash table entries: 4096 (order: 3, 32768 bytes)

TCP bind hash table entries: 4096 (order: 2, 16384 bytes)

TCP: Hash tables configured (established 4096 bind 4096)

TCP reno registered

NET: Registered protocol family 1

msgmni has been set to 237

io scheduler noop registered

io scheduler anticipatory registered (default)

io scheduler cfq registered

IR Module enabled

LCD Module enabled

bfin-otp: initialized

Serial: Blackfin serial driver

bfin-uart.1: ttyBF0 at MMIO 0xffc00400 (irq = 29) is a BFIN-UART

bfin-uart.1: ttyBF1 at MMIO 0xffc02000 (irq = 31) is a BFIN-UART

brd: module loaded

bfin_mii_bus: probed

bfin_mac: attached PHY driver [Generic PHY] (mii_bus:phy_addr=0:01, irq=-1, mdc_clk=2500000Hz(mdc_div=23)@sclk=120MHz)

bfin_mac bfin_mac.0: Blackfin on-chip Ethernet MAC driver, Version 1.1

Driver 'sd' needs updating - please use bus_type methods

m25p80 spi0.1: found m25p80, expected m25p16

bfin-spi bfin-spi.0: Blackfin on-chip SPI Controller Driver, Version 1.0, regs_base@ffc00500, dma channel@7

r8a66597_hcd: driver r8a66597_hcd, 10 Apr 2008

Initializing USB Mass Storage driver...

usbcore: registered new interface driver usb-storage

USB Mass Storage support registered.

usbcore: registered new interface driver libusual

bfin-wdt: initialized: timeout=20 sec (nowayout=0)

TCP cubic registered

NET: Registered protocol family 17

drivers/rtc/hctosys.c: unable to open rtc device (rtc0)

Freeing unused kernel memory: 5672k freed

dma_alloc_init: dma_page @ 0x0073b000 - 256 pages at 0x07f00000

                           _____________________________________

        a8888b.           / Welcome to the uClinux distribution \

       d888888b.         /       _     _                         \

       8P"YP"Y88        /       | |   |_|            __  __ (TM)  |

       8|o||o|88  _____/        | |    _ ____  _   _ \ \/ /       |

       8'    .88       \        | |   | |  _ \| | | | \  /        |

       8`._.' Y8.       \       | |__ | | | | | |_| | /  \        |

      d/      `8b.       \      \____||_|_| |_|\____|/_/\_\       |

     dP   .    Y8b.       \   For embedded processors including   |

    d8:'  "  `::88b        \    the Analog Devices Blackfin      /

   d8"         'Y88b        \___________________________________/

  :8P    '      :888

   8a.   :     _a88P         For further information, check out:

._/"Yaa_:   .| 88P|            -   blackfin.uclinux.org/

\    YP"    `| 8P  `.          -   docs.blackfin.uclinux.org/

/     \.___.d|    .'           -   www.uclinux.org/

`--..__)8888P`._.'  jgs/a:f    -   www.analog.com/blackfin

 

Have a lot of fun...

 

 

BusyBox v1.13.4 (2009-07-18 14:54:25 IST) built-in shell (msh)

Enter 'help' for a list of built-in commands.

 

root:/>

 

root:/bin> ./check

LCD_open:

bfin_read_TIMER0_DISABLE = 0

bfin_read_TIMER0_PERIOD = 550

bfin_read_TIMER0_WIDTH = 1

bfin_read_TIMER0_CONFIG = 2a9

bfin_read_TIMER1_PERIOD = 51590

bfin_read_TIMER1_WIDTH = 550

bfin_read_TIMER1_CONFIG = 2a9

 

------------[ cut here ]------------

WARNING: at kernel/irq/manage.c:225 ___enable_irq+0x38/0x54()

Unbalanced enable for IRQ 22

Modules linked in:

Hardware Trace:

   0 Target : <0x00004b30> { _dump_stack + 0x0 }

     Source : <0x0000f100> { _warn_slowpath + 0x58 } CALL pcrel

   1 Target : <0x0000f100> { _warn_slowpath + 0x58 }

     Source : <0x00026572> { _print_modules + 0x7a } RTS

   2 Target : <0x0002656c> { _print_modules + 0x74 }

     Source : <0x0000f746> { _printk + 0x16 } RTS

   3 Target : <0x0000f742> { _printk + 0x12 }

     Source : <0x0000ff5e> { _vprintk + 0x132 } RTS

   4 Target : <0x0000ff52> { _vprintk + 0x126 }

     Source : <0x0000ff44> { _vprintk + 0x118 } IF !CC JUMP

   5 Target : <0x0000ff3c> { _vprintk + 0x110 }

     Source : <0x00010082> { _vprintk + 0x256 } JUMP.S

   6 Target : <0x00010082> { _vprintk + 0x256 }

     Source : <0x0000f5ba> { _wake_up_klogd + 0x1a } RTS

   7 Target : <0x0000f5ba> { _wake_up_klogd + 0x1a }

     Source : <0x0000f5ac> { _wake_up_klogd + 0xc } IF !CC JUMP

   8 Target : <0x0000f5a0> { _wake_up_klogd + 0x0 }

     Source : <0x0000f9ce> { _release_console_sem + 0x1ae } JUMP.L

   9 Target : <0x0000f9c6> { _release_console_sem + 0x1a6 }

     Source : <0x0000f9aa> { _release_console_sem + 0x18a } IF !CC JUMP

  10 Target : <0x0000f99e> { _release_console_sem + 0x17e }

     Source : <0x00021c96> { _up + 0x3e } RTS

  11 Target : <0x00021c90> { _up + 0x38 }

     Source : <0x00021c82> { _up + 0x2a } IF !CC JUMP

  12 Target : <0x00021c58> { _up + 0x0 }

     Source : <0x0000f99a> { _release_console_sem + 0x17a } CALL pcrel

  13 Target : <0x0000f986> { _release_console_sem + 0x166 }

     Source : <0x0000f86e> { _release_console_sem + 0x4e } IF !CC JUMP

  14 Target : <0x0000f842> { _release_console_sem + 0x22 }

     Source : <0x0000f968> { _release_console_sem + 0x148 } IF CC JUMP

  15 Target : <0x0000f960> { _release_console_sem + 0x140 }

     Source : <0x0000f51a> { __call_console_drivers + 0x7a } RTS

Stack info:

SP: [0x00545c20] <0x00545c20> /* kernel dynamic memory */

FP: (0x00545d50)

Memory from 0x00545c20 to 00546000

00545c20:[0000f100]<0000f104> 00545c40  001616f4  00000000  001616f4  000000e1  00545c40

00545c40: 655f5f5f  6c62616e  72695f65  78302b71  302f3833  00343578  00000000  00000001

00545c60: 001331e8  ffa018c4  00008050  00000000  00000000  00696000  0790212e  ffa018c4

00545c80:<0008ba8a> 00000006  02002020  00085cf2  000867cc  00085ce6  000867cc  00000000

00545ca0: 00000000  000009e3  00000000  01e00000  00000000  00000000  00000000  00000000

00545cc0: 0000001b  00000000  00000000  00000000  00000000  00000000  00000000  00000000

00545ce0: 00000001  001331e8  00000000  0000000f  00000003  0054bcd8  07da50e0  00197b24

00545d00: 001a2f54  001e33b0  ffc00508  0019f4a0  00197ac4  00008800  07ef31a0  00000000

00545d20: 00545d44 <00029890> 001a14a8  0000ffff  07ef31a0  00000000  000000b0  00000001

00545d40: 00085ce6  00000016 <00029a90> 00197b24 (00000000)<0008b4de> 00000096 <0008b518>

00545d60: 00000000  00545d78  000002a9  ffffffff  00166fa8  00000000  69697070  0000746e

00545d80: 00000000  00000000  00000000 <000942de> 00134f68  07da50e0  000000eb <0003e278>

00545da0: 00000000  001e33b0 <0003e21a> 07edda20  00000000  001e33b0  00000000  07da50e0

00545dc0: 07da50e0  07ef37a0  000000eb  0070f498 <0003a978> 07da50e0  001e33b0  0003e1a8

00545de0: 00000000  00000022  0086f000  2f9ab171  00545ea4 <0003ab1e> 07da50e0  00000005

00545e00: 00000000  00000002  00000022  00470031  00545e44 <000447e2> 07da50e0  00000000

00545e20:<00044814> 00545e44  e6101500  e52a004b  e1400054  00545e44  00000002  ae6a004c

00545e40: 0053e428  07ef31a0  0070f498  0000e14a  0460e10a  00300062  00000101  00000001

00545e60: 00000000  00301426  54300047  0c004a39  1418b1e9  4d6f307e  32174f6f  0054bce8

00545e80:<00039674><0004aef0> 00000002  00000000  07da50e0  00000001  00000005  00000000

00545ea0: 0069ce44  0054bce8 <0003a82e> ffffff9c  00000005  006e9938  00000001  00000005

00545ec0: 0086f000  0069b838  2faa0040  931863a0  00000001  00000000  00545ee8 <0003a8c0>

00545ee0: 0003a8a8  00000005  00000001  ffffe000  0069ce44  fffffffe <ffa007ec> 00000000

00545f00: 00000000 <ffa007ec> 00000000  0073a4e0  0073a4e0  0018f670  0069ce44  0069b838

00545f20: 0069ce44  0050d652  00008000  00000000  00000000  00546000  0050d652  0050d652

00545f40:<006b8bae><ffa00e44> 02002020  006b5ca1  0051f88d  006b5ca0  0051f88c  00000000

00545f60: 00000000  00000000  00000000  00000000  00000000  00000000  00000000  00000000

00545f80: 00000000  00000000  00000000  00000000  00000000  00000000  00000000  00000000

00545fa0: 00000000  00000000  00000000  006ab1bc  00541eb0  0054bcd8  0054bce8  0044c028

00545fc0: 0054be24  006e9938  0054be24  0050d638  00000005  006e1388  00000001  0069ce44

00545fe0: 0069b838  0069ce44  00000000  00000001  0069ce44  0069ce44  00000005  00000006

00546000: 003ee431

Return addresses in stack:

    address : <0x0000f100> { _warn_slowpath + 0x58 }

    address : <0x0000f104> { _warn_slowpath + 0x5c }

    address : <0x0008ba8a> { _ReadRegister + 0x22 }

    address : <0x00029890> { ___enable_irq + 0x38 }

    address : <0x00029a90> { _enable_irq + 0x38 }

   frame  1 : <0x0008b4de> { _Open_lcd + 0x136 }

    address : <0x0008b518> { _Open_lcd + 0x170 }

    address : <0x000942de> { _misc_open + 0xf6 }

    address : <0x0003e278> { _chrdev_open + 0xd0 }

    address : <0x0003e21a> { _chrdev_open + 0x72 }

    address : <0x0003a978> { ___dentry_open + 0xa4 }

    address : <0x0003ab1e> { _nameidata_to_filp + 0x2e }

    address : <0x000447e2> { _do_filp_open + 0x10a }

    address : <0x00044814> { _do_filp_open + 0x13c }

    address : <0x00039674> { _kmem_cache_alloc + 0x58 }

    address : <0x0004aef0> { _alloc_fd + 0x58 }

    address : <0x0003a82e> { _do_sys_open + 0x36 }

    address : <0x0003a8c0> { _sys_open + 0x18 }

    address : <0xffa007ec> { _system_call + 0x68 }

    address : <0xffa007ec> { _system_call + 0x68 }

    address : <0x006b8bae> [ /lib/libpthread.so.0 + 0x8bae ]

    address : <0xffa00e44> { _evt_system_call + 0x64 }

---[ end trace 57205f04b9e26816 ]---

 

/***********************************************************************************************************************/

 

Thank you

QuoteReplyEditDelete

 

 

2009-07-19 22:12:34     Re: Unbalanced enable for IRQ 22

Mike Frysinger (UNITED STATES)

Message: 77665   

 

ignore the other devices (LCD/timers/etc...) ... does the issue happen if you try to read/write from both UARTs at the same time ?

QuoteReplyEditDelete

 

 

2009-07-19 23:58:56     Re: Unbalanced enable for IRQ 22

Sonic Zhang (CHINA)

Message: 77675   

 

What version of distribution do you use?

 

There is no 2009R1-RC3 distribution yet. The latest one is 2009R1-RC1. And make sure your built it with the latest 2009R1-RC10 toolchain.

QuoteReplyEditDelete

 

 

2009-07-20 02:23:53     Re: Unbalanced enable for IRQ 22

Loganathan Manokaran (INDIA)

Message: 77685   

 

Hi Zhang,

 

I am using 2009R1-RC1 distribution and 2009R1-RC7 toolchain.

 

Will there be any issues if we use 2009R1-RC7 toolchain?

 

Thank you.

QuoteReplyEditDelete

 

 

2009-07-20 03:31:20     Re: Unbalanced enable for IRQ 22

Michael Hennerich (GERMANY)

Message: 77687    address : <0x00029a90> { _enable_irq + 0x38 }

frame 1 : <0x0008b4de> { _Open_lcd + 0x136 }

 

This issue has nothing todo with toolochain or kernel release etc.

 

You simply enable the IRQ22 unbalanced.

If you request IRQ22 with standard flags - it will be already enabled.

So if you call enable_irq() again it will spill out this error message.

 

-Michael

Attachments

    Outcomes