[#4443] bfin nand hangs under pressure on BF548-EZKIT

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

[#4443] bfin nand hangs under pressure on BF548-EZKIT

Submitted By: Mike Frysinger

Open Date

2008-09-25 06:33:46    

Priority:

Medium     Assignee:

Barry Song

Status:

Open     Fixed In Release:

N/A

Found In Release:

2010R1     Release:

2.6.26.5 svn trunk 5333

Category:

N/A     Board:

EZKIT Lite

Processor:

BF548     Silicon Revision:

Is this bug repeatable?:

Yes     Resolution:

Duplicate

Uboot version or rev.:

    Toolchain version or rev.:

svn 4.1

App binary format:

N/A     

Summary: bfin nand hangs under pressure on BF548-EZKIT

Details:

 

using the default BF548-EZKIT config, i booted up and mounted the file system on NAND as yaffs:

root:/> cat /proc/mtd

dev:    size   erasesize  name

mtd0: 00040000 00020000 "bootloader(nor)"

mtd1: 00400000 00020000 "linux kernel(nor)"

mtd2: 00bc0000 00020000 "file system(nor)"

mtd3: 00400000 00020000 "linux kernel(nand)"

mtd4: 0fc00000 00020000 "file system(nand)"

 

root:/> mount -t yaffs /dev/mtdblock4 /mnt/

yaffs Sep 24 2008 17:45:29 Installing.

yaffs: dev is 32505860 name is "mtdblock4"

yaffs: passed flags ""

yaffs: Attempting MTD mount on 31.4, "mtdblock4"

yaffs: auto selecting yaffs2

block 624 is bad

block 929 is bad

block 956 is bad

 

then i made a 10 meg file:

root:/> dd if=/dev/zero of=10meg count=10 bs=1048576

10+0 records in

10+0 records out

root:/> ls -lh 10meg

-rw-r--r--    1 root     root        10.0M Jan  1 16:20 10meg

 

and setup a simple loop:

root:/> while :; do cat 10meg > /mnt/foo ; date ; done

 

i can let it run for a bit without a problem, but if i telnet into the board and run some commands (like `watch -n 1 ps`), the process gets hung forever:

root:/> ps | grep cat

  357 root       392 D    cat 10meg

root:/> kill -9 357

root:/> ps | grep cat

  357 root       392 D    cat 10meg

 

Follow-ups

 

--- Cliff Cai                                                2009-02-05 21:46:04

This problem is caused by scheduling time out for bf5xx_nand_dma_rw().

We use wait_for_completion method in the function after starting DMA transfer

to wait for DMA completion,but in this test case,kernel failed to schedule

back.And write/read interfaces in nand framework have no return value

,so wait_for_completion_timeout method is also useless.Any idea?

 

Cliff

 

--- Mike Frysinger                                           2009-02-06 00:22:55

try adding this to the irq handler:

wake_up(&info->chip.controller->wq);

 

--- Cliff Cai                                                2009-02-06 01:45:10

it doesn't work.completion is also a wait queue.

 

--- Cliff Cai                                                2009-02-06 03:54:55

I've tried to do an experiment ,polling a global variable in bf5xx_nand_dma_rw

and change the variable's value in irq handler,it wroks as expected.

 

Cliff

 

--- Robin Getz                                               2009-02-06 07:47:37

Polling a global seems like kind of a hack which will negatively impact

performance -- doesn't it?

 

At the min - wouldn't you want to use a semaphore? (so things don't spin/poll

in the kernel?)

 

--- Michael Hennerich                                        2009-02-06 07:57:59

>”We use wait_for_completion method in the function after starting DMA

transfer

to wait for DMA completion,but in this test case,kernel failed to schedule

back.”

 

IMHO this would be a very BAD kernel bug!

I can’t imagine that this really happens.

 

Can you try to request IRQ_NFC_ERROR – and see if this one fires instead of

the DMA completion interrupt?

 

-Michael

 

--- Cliff Cai                                                2009-02-09 04:13:25

it's quite weird that if I add udelay after wait_for_completion,it works.

 

Cliff

 

--- Michael Hennerich                                        2009-02-09 04:45:29

Cliff,

 

Right now we only use the DMA DONE interrupt - I wonder if we also need to

utilize NFC_IRQSTAT Bits and Interrupt.

When we receive the DMA DONE interrupt this doesn't mean the NFC actually

finished something. It only means the DMA controller read or wrote the requested

amount of data to the NFC.

 

So your udelay() fixing some erroneous behavior after

wait_for_completion(&info->dma_completion), might be prove of that.

 

-Michael

 

--- Cliff Cai                                                2009-02-10 05:19:25

Even I enable WR_DONE interrupt and wake up wait queue for page write in the irq

 

handler,it still doesn't work.Btw,no matter where I put udelay(50) in

bf5xx_nand_dma_rw(),it just works.I think I need to dig into the nand

framework.

 

Cliff

 

 

--- Cliff Cai                                                2009-02-10 06:17:27

I trace into the nand framwork,find that it use while(1){ do read/write buffer}

 

to write/read data. refer to and_do_read_ops/nand_do_write_ops() in

nand_base.c.I guess it wants to read in/write out the whole data without being

interruptted or being scheduled out.

 

 

Cliff   

 

--- Cliff Cai                                                2009-02-10 21:23:56

I believe this problem has something to do with network.

 

I ran "while :; do cat 10meg >/mnt/foo ; date ; done " in

bakcground,and then

ran "watch -n 1 ps" in foreground,both in the same console,it

works.while if I

ping the board from the my pc at the same time ,the process got hang.

 

If I telneted to  the board from two terminals,and ran the above two commands,

the process got hang immediately.

 

Cliff

 

 

 

 

--- Sonic Zhang                                              2009-02-11 20:25:02

Michael,

 

Do you have any idea on why the interrupt from BF548 ethernet blocks the

schedule of workqueue used by NAND driver?

 

 

--- Mike Frysinger                                           2009-02-11 20:34:44

i kind of doubt the smc ethernet driver is to blame here.  i'd try changing the

UART to PIO mode and see if you hit the same kind of problems.

 

i vaguely recall being able to trigger the issue without using the network, but

it was much easier to reproduce when the network traffic was also happening.

 

--- Cliff Cai                                                2009-02-11 22:03:24

My test case is also OK without using the network,even if UART is in PIO mode,So

I don't think it's caused by frequent interrupts.

 

--- Michael Hennerich                                        2009-02-12 03:33:16

One try could be to remove the IRQF_DISABLED flag from the Interrupt:

 

Index: drivers/net/smsc911x.c

===================================================================

--- drivers/net/smsc911x.c      (revision 6088)

+++ drivers/net/smsc911x.c      (working copy)

@@ -2115,7 +2115,7 @@

                intcfg |= INT_CFG_IRQ_TYPE_;

        smsc911x_reg_write(intcfg, pdata, INT_CFG);

 

-       retval = request_irq(dev->irq, smsc911x_irqhandler, IRQF_TRIGGER_LOW

| IRQF_DISABLED,

+       retval = request_irq(dev->irq, smsc911x_irqhandler,

IRQF_TRIGGER_LOW,

                             SMSC_CHIPNAME, dev);

        if (retval) {

                SMSC_WARNING("Unable to claim requested irq: %d",

dev->irq);

 

 

 

The other test I would try is to remove the PIO Mode DMA stuff from the Network

driver:

 

Index: drivers/net/smsc911x.c

===================================================================

--- drivers/net/smsc911x.c      (revision 6088)

+++ drivers/net/smsc911x.c      (working copy)

@@ -2115,7 +2115,7 @@

                intcfg |= INT_CFG_IRQ_TYPE_;

        smsc911x_reg_write(intcfg, pdata, INT_CFG);

 

-       retval = request_irq(dev->irq, smsc911x_irqhandler, IRQF_TRIGGER_LOW

| IRQF_DISABLED,

+       retval = request_irq(dev->irq, smsc911x_irqhandler,

IRQF_TRIGGER_LOW,

                             SMSC_CHIPNAME, dev);

        if (retval) {

                SMSC_WARNING("Unable to claim requested irq: %d",

dev->irq);

 

 

Please try both independently

 

-Michael

 

--- Michael Hennerich                                        2009-02-12 03:34:31

Sorry posted the same patch twice - use this one:

 

Index: drivers/net/smsc911x.c

===================================================================

--- drivers/net/smsc911x.c      (revision 6088)

+++ drivers/net/smsc911x.c      (working copy)

@@ -203,9 +203,6 @@

smsc911x_tx_writefifo(struct smsc911x_data *pdata, unsigned int *buf,

                      unsigned int wordcount)

{

-       if (wordcount > 24)

-               dma_outsl((u_long)pdata->ioaddr + TX_DATA_FIFO, buf,

wordcount);

-       else

                outsl((u_long)pdata->ioaddr + TX_DATA_FIFO, buf,

wordcount);

}

 

@@ -214,9 +211,6 @@

smsc911x_rx_readfifo(struct smsc911x_data *pdata, unsigned int *buf,

                     unsigned int wordcount)

{

-       if (wordcount > 24)

-               dma_insl((u_long)pdata->ioaddr + RX_DATA_FIFO, buf,

wordcount);

-       else

                insl((u_long)pdata->ioaddr + RX_DATA_FIFO, buf, wordcount);

}

#endif

 

--- Cliff Cai                                                2009-02-12 21:23:39

I've tried these two patches respectively and both togeter,The problem is still

there.

 

Cliff

 

--- Rob D                                                    2010-03-12 13:56:20

I'm having similar issues with 2009R1-RC6 with a custom bf548.  I'm using

nandtest to exercise the flash.  Does this mean that the nand flash is not

usable under linux?

 

--- Mingquan Pan                                             2010-03-22 23:56:38

By running the steps as the bug is first filed, it is still seen on trunk head

kernel now.

 

telnet on target board:

Every 1s: ps                                                                  

                                                                 2004-05-31

15:37:59

  PID USER       VSZ STAT COMMAND

    1 root       104 S    /init

    2 root         0 SW   [kthreadd]

    3 root         0 SW   [ksoftirqd/0]

    4 root         0 SW   [watchdog/0]

    5 root         0 SW   [events/0]

    6 root         0 SW   [khelper]

    9 root         0 SW   [async/mgr]

   95 root         0 SW   [sync_supers]

   97 root         0 SW   [bdi-default]

   99 root         0 SW   [kblockd/0]

  105 root         0 SW   [ata/0]

...

 

On target console:

 

31 15:31:18 UTC 2004

Mon May 31 15:31:19 UTC 2004

Mon May 31 15:31:19 UTC 2004

Mon May 31 15:31:20 UTC 2004

Mon May 31 15:31:20 UTC 2004

Mon May 31 15:31:21 UTC 2004

Mon May 31 15:31:21 UTC 2004

...

Mon May 31 15:32:05 UTC 2004

Mon May 31 15:32:06 UTC 2004

INFO: task ubifs_bgt0_1:433 blocked for more than 120 seconds.

"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this

message.

ubifs_bgt0_1  D ffa0096c     0   433      2 0x00000000

Stack info:

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

FP: (0x02ab7fa4)

Memory from 0x02ab7db0 to 02ab8000

02ab7db0: 00281bc0 [00000000] 037d23e0  037d2560  0027f300  00000000  037a8ae0

00281bc0

02ab7dd0: 02ab7df4  001c807c  0000000a  ffffffff  ffffffff  02ab7dc8  02ab6008

02ab6000

02ab7df0: 02ab6000  0001b800  00110d54  03776580  02ab6000  00000007  03776404

00000000

02ab7e10: 02ab7e24  00000002  02ab7e64  02011694  00000015  00000000  037d23e0

0000e2d0

02ab7e30: 03776404  03776404  001114fc  03776580  0377640c  000002b0  05a1b800

00000800

02ab7e50: 00000000  02a97800  037d2cb4  037d23e0  037d23e0  037d2564

<0011b9f8> 037c7000

02ab7e70: 00000800  0561b800  00000000  0001b800  02a97800  00000001  00000033

00000800

02ab7e90: 02ab7e9c  02a97800  00000800  001c8db4  00000800  0011ab22  0001b000

02aae800

02ab7eb0: 02a91e00  00000000  000002b0  00000001  00000033  00000001  00000039

00000001

02ab7ed0: 0001b800  00000800  00000017  02ab7f0c  00000017  02ab7f14  000000cc

002823e0

02ab7ef0: 00000002  00119692  0001b000  00000800 <010a3000> 0001b000

02a916a0  00000003

02ab7f10: 0000007c  00281bec  02a97e48 <010a3000> 02a97800  0001b000

00000800  00000002

02ab7f30: 0009e8d8  02a9167c <010a3000> 00000001  037d2560  020663a0

02ab7f78  0001b000

02ab7f50: 00000800  00000002  0009eb32  02a9167c  0000007c  00000001  037d23e0

02ab6008

02ab7f70: 02ab6000  02ab6000  00000000  000a5470 <010a3000> 02ab6000

010a3138  00000000

02ab7f90: 00000001  00000003  00000004  02ab6000  02ab6000

(00000000)<0001f8fe> 02aa3d50

02ab7fb0: 000a540c  00000000 <010a3000> 00000000  00000000  00000000

00000000  0001f8a4

02ab7fd0: 00001500  00000000  00000000  02ab7fdc  02ab7fdc <00001506>

00000000  00000000

02ab7ff0: 00000000  00000000  ffffffff  00000006

Return addresses in stack:

    address : <0x0011b9f8> { _ubi_io_write + 0x58 }

    address : <0x010a3000> /* kernel dynamic memory */

    address : <0x010a3000> /* kernel dynamic memory */

    address : <0x010a3000> /* kernel dynamic memory */

    address : <0x010a3000> /* kernel dynamic memory */

   frame  1 : <0x0001f8fe> { _kthread + 0x5a }

    address : <0x010a3000> /* kernel dynamic memory */

    address : <0x00001506> { _kernel_thread_helper + 0x6 }

INFO: task flush-ubifs_0_1:437 blocked for more than 120 seconds.

"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this

message.

flush-ubifs_0 D ffa0096c     0   437      2 0x00000000

Stack info:

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

FP: (0x0082ffb4)

Memory from 0x0082fa80 to 00830000

0082fa80:[0074ee20] 020663a0  02066520  037d2c80  00000001  037a8360  00281bc0

0082fac0

0082faa0: 001c807c  0000003f  020663cc  00000001  020663a0  0082e008  0082e000

0082e000

0082fac0: 0082fb40  001c84ba  037766a4  002807e8  0082e000  7fffffff  00000001

0082e000

0082fae0: 00000002  00017f4a  00646ff3  00017f5a  00280020  00280048  00000000

0082fafc

0082fb00: 0082fafc  0002921a  001c8304  037766a4  7fffffff  00000001  0082e000

00282f1c

0082fb20: 00275efc  00275cfc  01274fc8  00000001  020663a0  0000e2d0  037766a8

037766a8

0082fb40: 037d4000 <00110032> 03776580  02a97300  0377640c  00000009

00000004  00000100

0082fb60: 00000003  00854036  00647000  00000006  0028e3f0  0377640c

<0011016a> 03776580

0082fb80: 00000800  03776668  0377640c  02a97000  000044eb  02a97000  02275800

e0000800

0082fba0:<0010f546> 000044eb  00646006 <00111294> 03776580

00000000  00000800  000044eb

0082fbc0: 00008050  00002000  00000000  000044eb  00000000  00000000  00000000

000044eb

0082fbe0: 0000003f  00000000  02a97000  00015800  0011151e  03776580  0377640c

000000f3

0082fc00: 02275800  00000800  00000000  02a97000  ffffff01  00647000  0000201f

03776668

0082fc20:<0011b9f8> 037c7000  00000800  01e75800  00000000  00015800

02a97000  00000001

0082fc40: 000000a1  00000800  0082fc54  02a97000  00000800  001c8db4  00000800

0011ab22

0082fc60: 00015000  02aae800  02a91e00  00000000  000000f3  00000001  000000a1

1ba81402

0082fc80: 00000000  006271e0  00015800  00000800  010a3154  000000a1  0082fd9c

0082fcf8

0082fca0: 00000284  001c8b0c  0082fd18  00119692  00015000  00000800  00854000

00015000

0082fcc0: 0000004c  00000050  000007c0  000b72c6  0082fd58  000223a4  02a97000

00015000

0082fce0: 00000800  00000003  0009e05c  02a916f8 <010a3000> 00000000

010a3138 <010a3000>

0082fd00: 0028b51c  00015000  00000800  00000003

<010a3000><010a3000> 0082fd9c  00096dbc

0082fd20: 02a916f8  00854000 <010a3000> 00000000  0000004c  000000f8

000007c0  010a3004

0082fd40: 00000000  010cfb80  00000000  0082fd5c  00015000  000000a1  0000001c

00000001

0082fd60: 00000000  000981c4  010cfb80 <010a3000> 010a7084  00001000

00000891  000000b3

0082fd80: 0000034e  00000000  002807e8  00000000  0095c000  00001000

<0003773e> 00000199

0082fda0: 200000b2 <0003773e> 010a711c  0000000a  0082fdec  0000000e

00000000  0000000e

0082fdc0: 0082fdf4 <00037ec8> 010cfb80  00000003  fffe08c0  00185627

00000000  0000000e

0082fde0: 00000892  00000001  00000000  0000000e  00000000  010c8d40  010c8d60

01119280

0082fe00: 011192a0  011192c0  011192e0 <010c9880> 010c98a0  010c98c0

010c98e0  010cfb80

0082fe20: 010cfba0  010cfbc0  010cfbe0  000000b6  00000078  0003800e  010a7084

010a711c

0082fe40: 0082fee8  00000006  00000000  00000001  00000000  010a711c  0082fee8

00037730

0082fe60: 010a711c  00058b5a  ffffffc0  0005922e  00059234  00059474  010a7084

02a91400

0082fe80: 010a3064  00000000  010a3084  00000001  00000027  0082fec4  0000bb5e

010a308c

0082fea0: ffff8166  010a708c  010a708c  02a91400  00000040  0005969c  0082ff50

010a3064

0082fec0: 00276fa8  00000000  00000400  00000000  00000004  02066524  0082fee8

0000bb06

0082fee0: 00000000  010a308c  010a3004  00000000  00000000  00000000  00000400

00000000

0082ff00: 00000000  00000000  00000000  00000000  00000028  00000a20  00000510

008898c8

0082ff20: 0082ff50  000598b0  008898a0  010a3064  010a30a4  000004e2  0000001f

00000000

0082ff40: 00000000  0000ffff  000124f8  020663a0  7fffffff  00000000  00000000

00000006

0082ff60: 00000000  00059958  00282f1c  00289d88  00000000  000004e2  ffff8136

010a3064

0082ff80: 000124f8  0204bc60  0000b0b8  02075f38  0003e4b8  010a3004  010a3064

010a3064

0082ffa0: 00000000  00000000  00000000  02075f38  0003e430

(00000000)<0001f8fe> 02075f38

0082ffc0: 0003e430  010a3064  00000000  0001f8a4  00001500  00000000  00000000

0082ffdc

0082ffe0: 0082ffdc <00001506> 00000000  00000000  00000000  00000000

ffffffff  00000006

Return addresses in stack:

    address : <0x00110032> { _nand_write_page_hwecc + 0x3e }

    address : <0x0011016a> { _nand_write_page + 0x2e }

    address : <0x0010f546> { _nand_check_wp + 0x22 }

    address : <0x00111294> { _nand_do_write_ops + 0x170 }

    address : <0x0011b9f8> { _ubi_io_write + 0x58 }

    address : <0x010a3000> /* kernel dynamic memory */

    address : <0x010a3000> /* kernel dynamic memory */

    address : <0x010a3000> /* kernel dynamic memory */

    address : <0x010a3000> /* kernel dynamic memory */

    address : <0x010a3000> /* kernel dynamic memory */

    address : <0x010a3000> /* kernel dynamic memory */

    address : <0x0003773e> { ___writepage + 0xe }

    address : <0x0003773e> { ___writepage + 0xe }

    address : <0x00037ec8> { _write_cache_pages + 0x138 }

    address : <0x010c9880> /* kernel dynamic memory */

   frame  1 : <0x0001f8fe> { _kthread + 0x5a }

    address : <0x00001506> { _kernel_thread_helper + 0x6 }

INFO: task cat:730 blocked for more than 120 seconds.

"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this

message.

cat           D ffa0096c     0   730    322 0x00000000

Stack info:

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

FP: (0x006adef8)

Memory from 0x006adb10 to 006ae000

006adb10: 00281bec  0290b120 [00000000] 0290b120  0290b2a0  020663a0  00000000

037a8360

006adb30: 00281bc0  006adb58  001c807c  000a5df0 <010a3000> 000a5f6e

<010a3000> 006ac008

006adb50: 006ac000  006ac000  00000010  001c9302  0290b120  010a3138  80000001

00000002

006adb70: 00000000  00774af0  00000000  010a3728  00000010  000591b2  010a313c

010a313c

006adb90: 0290b120  00000002  000a5376 <010a3000> 010a3138  010a3138

80000001  00000000

006adbb0: 000a7046 <010a3000> ffffffe4  000200da  00000000  00281bc0

fffe08c0  001e24a7

006adbd0: 00000001  0000002d <00054840> 000a7294 <010a3000>

00000000  000000c0  00000000

006adbf0: 000000a0  00000000  00001030  010a711c  00000000  000007bd  000000d0

fffe08c0

006adc10: 000000c0  00001030  000000a0  00000000  006adc50  00097a42  010a711c

010a7084

006adc30: 00000001  007bd000  00000000  00001000 <010a3000> 000333fe

006adc50  00000000

006adc50: 00100004  00000000  00000000  00000000  00000000  00000001  00097d2e

01119dc0

006adc70: 010a7084 <010a3000> 00000001  007bd000  00000000  00000000

00038968  006adca4

006adc90: 01119da0  00001000  006add10  00000000  007bd000  00000005  00000000

00000000

006adcb0: 00000000  00000000  006add4c <0003276c> 006ac000  00000000

010a711c  006add4c

006adcd0: 00001000  007bd000  00001000  02fe8e28  010a711c  007bd000  00000000

00001000

006adcf0: 00000000  006add10  006add0c  001d4008  00000000  00000000  00000000

00000000

006add10: 01119da0  010a711c  00032870  006ade54  020303a0  007bd000  006add4c

00000000

006add30: 00000000  007bd000  020303a0  010ea0a0  007bd000  00000000  020303a0

006ade90

006add50: 00000001  00000000  00001000  00033f76  010a7084  00001000  006ade90

00000000

006add70: 00000000  006addd8  00013f74  006ade94  007bd000  00000000  006ade54

00001000

006add90: 00000000  0029cab0  00001000  006ade94  020306a0  00034244  006ade94

020306a0

006addb0: 00001000  02fe8e14  00034170  006ade20  020303a0  00000001  010a70f0

006ade90

006addd0: 007bd000  00000000  006ade20  006ade90  00000001  006ade54  00001000

<00043a0a>

006addf0: 006ade20  020303a0  006adef0  006ade90  02fe8e6c  00001000  00001000

00000001

006ade10: 000c62de  00000000  007bd000  00000000  00000000  00000027  00000000

00000001

006ade30: ffffffff  020303a0  00000000  00000000  00000000  00000000  0290b120

00000000

006ade50: 00000000  007bd000  00000000  00000000  00dc95b3  00000000  002807e8

00001000

006ade70: 00001000  020663a0  002807e8  00000002  00000002  0029cab0  02fe8e14

02fe8e34

006ade90: 02fe8e6c  00001000 <0004420c> 020303a0  00000004  02fe8e6c

006adef0  00000001

006adeb0: 0290b120  00000000  006adef0  00000002  00000000  00044330  020303a0

00000004

006aded0: 02fe8e6c  00001000  00000001  00000001  00000001  02fe8e14  006ac008

006adef0

006adef0: 007bd000  00000000 (00000000)<ffa00896> 00044300  00000000

ffffe000  ffffe000

006adf10: 00000001 <0000fffe> 02fe9fa5  00000001  00000001  02f83ec6

00008000  00002000

006adf30: 00000000  006ae000  02f83ec6  02f83ec6  02f9a7b4  ffa00fb0  02001004

02b929f3

006adf50: 02f8d41f  02b929e8  02f8d416  00000000  0000000e  00000000  00000000

00000000

006adf70: 00000000  00000000  00000000  00000000  00000000  00000000  00000000

00000000

006adf90: 00000000  00000000  00000000  00000000  00000004  00000000  02fe9ea4

02fd9e58

006adfb0: 02fe9fed  02fe8e08  02fe8e14  02fdffc0  00000000  02fe8e6c  02fe0500

02fe9fa5

006adfd0: 00000004  00001000  02fe8e6c  00000001  00000001  02fe9fa5  00001000

02fe8e6c

006adff0: 00000001  00000001  00000004  00000006

Return addresses in stack:

    address : <0x010a3000> /* kernel dynamic memory */

    address : <0x010a3000> /* kernel dynamic memory */

    address : <0x010a3000> /* kernel dynamic memory */

    address : <0x010a3000> /* kernel dynamic memory */

    address : <0x00054840> { _do_remount + 0xa8 }

    address : <0x010a3000> /* kernel dynamic memory */

    address : <0x010a3000> /* kernel dynamic memory */

    address : <0x010a3000> /* kernel dynamic memory */

    address : <0x0003276c> { _generic_perform_write + 0x94 }

    address : <0x00043a0a> { _do_sync_write + 0x8a }

    address : <0x0004420c> { _vfs_write + 0x68 }

   frame  1 : <0xffa00896> { _system_call + 0x6a }

    address : <0x0000fffe> { _warn_slowpath_common + 0x42 }

INFO: task ubifs_bgt0_1:433 blocked for more than 120 seconds.

"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this

message.

ubifs_bgt0_1  D ffa0096c     0   433      2 0x00000000

Stack info:

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

FP: (0x02ab7fa4)

Memory from 0x02ab7db0 to 02ab8000

02ab7db0: 00281bc0 [00000000] 037d23e0  037d2560  0027f300  00000000  037a8ae0

00281bc0

02ab7dd0: 02ab7df4  001c807c  0000000a  ffffffff  ffffffff  02ab7dc8  02ab6008

02ab6000

02ab7df0: 02ab6000  0001b800  00110d54  03776580  02ab6000  00000007  03776404

00000000

02ab7e10: 02ab7e24  00000002  02ab7e64  02011694  00000015  00000000  037d23e0

0000e2d0

02ab7e30: 03776404  03776404  001114fc  03776580  0377640c  000002b0  05a1b800

00000800

02ab7e50: 00000000  02a97800  037d2cb4  037d23e0  037d23e0  037d2564

<0011b9f8> 037c7000

02ab7e70: 00000800  0561b800  00000000  0001b800  02a97800  00000001  00000033

00000800

02ab7e90: 02ab7e9c  02a97800  00000800  001c8db4  00000800  0011ab22  0001b000

02aae800

02ab7eb0: 02a91e00  00000000  000002b0  00000001  00000033  00000001  00000039

00000001

02ab7ed0: 0001b800  00000800  00000017  02ab7f0c  00000017  02ab7f14  000000cc

002823e0

02ab7ef0: 00000002  00119692  0001b000  00000800 <010a3000> 0001b000

02a916a0  00000003

02ab7f10: 0000007c  00281bec  02a97e48 <010a3000> 02a97800  0001b000

00000800  00000002

02ab7f30: 0009e8d8  02a9167c <010a3000> 00000001  037d2560  020663a0

02ab7f78  0001b000

02ab7f50: 00000800  00000002  0009eb32  02a9167c  0000007c  00000001  037d23e0

02ab6008

02ab7f70: 02ab6000  02ab6000  00000000  000a5470 <010a3000> 02ab6000

010a3138  00000000

02ab7f90: 00000001  00000003  00000004  02ab6000  02ab6000

(00000000)<0001f8fe> 02aa3d50

02ab7fb0: 000a540c  00000000 <010a3000> 00000000  00000000  00000000

00000000  0001f8a4

02ab7fd0: 00001500  00000000  00000000  02ab7fdc  02ab7fdc <00001506>

00000000  00000000

02ab7ff0: 00000000  00000000  ffffffff  00000006

Return addresses in stack:

    address : <0x0011b9f8> { _ubi_io_write + 0x58 }

    address : <0x010a3000> /* kernel dynamic memory */

    address : <0x010a3000> /* kernel dynamic memory */

    address : <0x010a3000> /* kernel dynamic memory */

    address : <0x010a3000> /* kernel dynamic memory */

   frame  1 : <0x0001f8fe> { _kthread + 0x5a }

    address : <0x010a3000> /* kernel dynamic memory */

    address : <0x00001506> { _kernel_thread_helper + 0x6 }

INFO: task flush-ubifs_0_1:437 blocked for more than 120 seconds.

"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this

message.

flush-ubifs_0 D ffa0096c     0   437      2 0x00000000

Stack info:

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

FP: (0x0082ffb4)

Memory from 0x0082fa80 to 00830000

0082fa80:[0074ee20] 020663a0  02066520  037d2c80  00000001  037a8360  00281bc0

0082fac0

0082faa0: 001c807c  0000003f  020663cc  00000001  020663a0  0082e008  0082e000

0082e000

0082fac0: 0082fb40  001c84ba  037766a4  002807e8  0082e000  7fffffff  00000001

0082e000

0082fae0: 00000002  00017f4a  00646ff3  00017f5a  00280020  00280048  00000000

0082fafc

0082fb00: 0082fafc  0002921a  001c8304  037766a4  7fffffff  00000001  0082e000

00282f1c

0082fb20: 00275efc  00275cfc  01274fc8  00000001  020663a0  0000e2d0  037766a8

037766a8

0082fb40: 037d4000 <00110032> 03776580  02a97300  0377640c  00000009

00000004  00000100

0082fb60: 00000003  00854036  00647000  00000006  0028e3f0  0377640c

<0011016a> 03776580

0082fb80: 00000800  03776668  0377640c  02a97000  000044eb  02a97000  02275800

e0000800

0082fba0:<0010f546> 000044eb  00646006 <00111294> 03776580

00000000  00000800  000044eb

0082fbc0: 00008050  00002000  00000000  000044eb  00000000  00000000  00000000

000044eb

0082fbe0: 0000003f  00000000  02a97000  00015800  0011151e  03776580  0377640c

000000f3

0082fc00: 02275800  00000800  00000000  02a97000  ffffff01  00647000  0000201f

03776668

0082fc20:<0011b9f8> 037c7000  00000800  01e75800  00000000  00015800

02a97000  00000001

0082fc40: 000000a1  00000800  0082fc54  02a97000  00000800  001c8db4  00000800

0011ab22

0082fc60: 00015000  02aae800  02a91e00  00000000  000000f3  00000001  000000a1

1ba81402

0082fc80: 00000000  006271e0  00015800  00000800  010a3154  000000a1  0082fd9c

0082fcf8

0082fca0: 00000284  001c8b0c  0082fd18  00119692  00015000  00000800  00854000

00015000

0082fcc0: 0000004c  00000050  000007c0  000b72c6  0082fd58  000223a4  02a97000

00015000

0082fce0: 00000800  00000003  0009e05c  02a916f8 <010a3000> 00000000

010a3138 <010a3000>

0082fd00: 0028b51c  00015000  00000800  00000003

<010a3000><010a3000> 0082fd9c  00096dbc

0082fd20: 02a916f8  00854000 <010a3000> 00000000  0000004c  000000f8

000007c0  010a3004

0082fd40: 00000000  010cfb80  00000000  0082fd5c  00015000  000000a1  0000001c

00000001

0082fd60: 00000000  000981c4  010cfb80 <010a3000> 010a7084  00001000

00000891  000000b3

0082fd80: 0000034e  00000000  002807e8  00000000  0095c000  00001000

<0003773e> 00000199

0082fda0: 200000b2 <0003773e> 010a711c  0000000a  0082fdec  0000000e

00000000  0000000e

0082fdc0: 0082fdf4 <00037ec8> 010cfb80  00000003  fffe08c0  00185627

00000000  0000000e

0082fde0: 00000892  00000001  00000000  0000000e  00000000  010c8d40  010c8d60

01119280

0082fe00: 011192a0  011192c0  011192e0 <010c9880> 010c98a0  010c98c0

010c98e0  010cfb80

0082fe20: 010cfba0  010cfbc0  010cfbe0  000000b6  00000078  0003800e  010a7084

010a711c

0082fe40: 0082fee8  00000006  00000000  00000001  00000000  010a711c  0082fee8

00037730

0082fe60: 010a711c  00058b5a  ffffffc0  0005922e  00059234  00059474  010a7084

02a91400

0082fe80: 010a3064  00000000  010a3084  00000001  00000027  0082fec4  0000bb5e

010a308c

0082fea0: ffff8166  010a708c  010a708c  02a91400  00000040  0005969c  0082ff50

010a3064

0082fec0: 00276fa8  00000000  00000400  00000000  00000004  02066524  0082fee8

0000bb06

0082fee0: 00000000  010a308c  010a3004  00000000  00000000  00000000  00000400

00000000

0082ff00: 00000000  00000000  00000000  00000000  00000028  00000a20  00000510

008898c8

0082ff20: 0082ff50  000598b0  008898a0  010a3064  010a30a4  000004e2  0000001f

00000000

0082ff40: 00000000  0000ffff  000124f8  020663a0  7fffffff  00000000  00000000

00000006

0082ff60: 00000000  00059958  00282f1c  00289d88  00000000  000004e2  ffff8136

010a3064

0082ff80: 000124f8  0204bc60  0000b0b8  02075f38  0003e4b8  010a3004  010a3064

010a3064

0082ffa0: 00000000  00000000  00000000  02075f38  0003e430

(00000000)<0001f8fe> 02075f38

0082ffc0: 0003e430  010a3064  00000000  0001f8a4  00001500  00000000  00000000

0082ffdc

0082ffe0: 0082ffdc <00001506> 00000000  00000000  00000000  00000000

ffffffff  00000006

Return addresses in stack:

    address : <0x00110032> { _nand_write_page_hwecc + 0x3e }

    address : <0x0011016a> { _nand_write_page + 0x2e }

    address : <0x0010f546> { _nand_check_wp + 0x22 }

    address : <0x00111294> { _nand_do_write_ops + 0x170 }

    address : <0x0011b9f8> { _ubi_io_write + 0x58 }

    address : <0x010a3000> /* kernel dynamic memory */

    address : <0x010a3000> /* kernel dynamic memory */

    address : <0x010a3000> /* kernel dynamic memory */

    address : <0x010a3000> /* kernel dynamic memory */

    address : <0x010a3000> /* kernel dynamic memory */

    address : <0x010a3000> /* kernel dynamic memory */

    address : <0x0003773e> { ___writepage + 0xe }

    address : <0x0003773e> { ___writepage + 0xe }

    address : <0x00037ec8> { _write_cache_pages + 0x138 }

    address : <0x010c9880> /* kernel dynamic memory */

   frame  1 : <0x0001f8fe> { _kthread + 0x5a }

    address : <0x00001506> { _kernel_thread_helper + 0x6 }

INFO: task cat:730 blocked for more than 120 seconds.

"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this

message.

cat           D ffa0096c     0   730    322 0x00000000

Stack info:

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

FP: (0x006adef8)

Memory from 0x006adb10 to 006ae000

006adb10: 00281bec  0290b120 [00000000] 0290b120  0290b2a0  020663a0  00000000

037a8360

006adb30: 00281bc0  006adb58  001c807c  000a5df0 <010a3000> 000a5f6e

<010a3000> 006ac008

006adb50: 006ac000  006ac000  00000010  001c9302  0290b120  010a3138  80000001

00000002

006adb70: 00000000  00774af0  00000000  010a3728  00000010  000591b2  010a313c

010a313c

006adb90: 0290b120  00000002  000a5376 <010a3000> 010a3138  010a3138

80000001  00000000

006adbb0: 000a7046 <010a3000> ffffffe4  000200da  00000000  00281bc0

fffe08c0  001e24a7

006adbd0: 00000001  0000002d <00054840> 000a7294 <010a3000>

00000000  000000c0  00000000

006adbf0: 000000a0  00000000  00001030  010a711c  00000000  000007bd  000000d0

fffe08c0

006adc10: 000000c0  00001030  000000a0  00000000  006adc50  00097a42  010a711c

010a7084

006adc30: 00000001  007bd000  00000000  00001000 <010a3000> 000333fe

006adc50  00000000

006adc50: 00100004  00000000  00000000  00000000  00000000  00000001  00097d2e

01119dc0

006adc70: 010a7084 <010a3000> 00000001  007bd000  00000000  00000000

00038968  006adca4

006adc90: 01119da0  00001000  006add10  00000000  007bd000  00000005  00000000

00000000

006adcb0: 00000000  00000000  006add4c <0003276c> 006ac000  00000000

010a711c  006add4c

006adcd0: 00001000  007bd000  00001000  02fe8e28  010a711c  007bd000  00000000

00001000

006adcf0: 00000000  006add10  006add0c  001d4008  00000000  00000000  00000000

00000000

006add10: 01119da0  010a711c  00032870  006ade54  020303a0  007bd000  006add4c

00000000

006add30: 00000000  007bd000  020303a0  010ea0a0  007bd000  00000000  020303a0

006ade90

006add50: 00000001  00000000  00001000  00033f76  010a7084  00001000  006ade90

00000000

006add70: 00000000  006addd8  00013f74  006ade94  007bd000  00000000  006ade54

00001000

006add90: 00000000  0029cab0  00001000  006ade94  020306a0  00034244  006ade94

020306a0

006addb0: 00001000  02fe8e14  00034170  006ade20  020303a0  00000001  010a70f0

006ade90

006addd0: 007bd000  00000000  006ade20  006ade90  00000001  006ade54  00001000

<00043a0a>

006addf0: 006ade20  020303a0  006adef0  006ade90  02fe8e6c  00001000  00001000

00000001

006ade10: 000c62de  00000000  007bd000  00000000  00000000  00000027  00000000

00000001

006ade30: ffffffff  020303a0  00000000  00000000  00000000  00000000  0290b120

00000000

006ade50: 00000000  007bd000  00000000  00000000  00dc95b3  00000000  002807e8

00001000

006ade70: 00001000  020663a0  002807e8  00000002  00000002  0029cab0  02fe8e14

02fe8e34

006ade90: 02fe8e6c  00001000 <0004420c> 020303a0  00000004  02fe8e6c

006adef0  00000001

006adeb0: 0290b120  00000000  006adef0  00000002  00000000  00044330  020303a0

00000004

006aded0: 02fe8e6c  00001000  00000001  00000001  00000001  02fe8e14  006ac008

006adef0

006adef0: 007bd000  00000000 (00000000)<ffa00896> 00044300  00000000

ffffe000  ffffe000

006adf10: 00000001 <0000fffe> 02fe9fa5  00000001  00000001  02f83ec6

00008000  00002000

006adf30: 00000000  006ae000  02f83ec6  02f83ec6  02f9a7b4  ffa00fb0  02001004

02b929f3

006adf50: 02f8d41f  02b929e8  02f8d416  00000000  0000000e  00000000  00000000

00000000

006adf70: 00000000  00000000  00000000  00000000  00000000  00000000  00000000

00000000

006adf90: 00000000  00000000  00000000  00000000  00000004  00000000  02fe9ea4

02fd9e58

006adfb0: 02fe9fed  02fe8e08  02fe8e14  02fdffc0  00000000  02fe8e6c  02fe0500

02fe9fa5

006adfd0: 00000004  00001000  02fe8e6c  00000001  00000001  02fe9fa5  00001000

02fe8e6c

006adff0: 00000001  00000001  00000004  00000006

Return addresses in stack:

    address : <0x010a3000> /* kernel dynamic memory */

    address : <0x010a3000> /* kernel dynamic memory */

    address : <0x010a3000> /* kernel dynamic memory */

    address : <0x010a3000> /* kernel dynamic memory */

    address : <0x00054840> { _do_remount + 0xa8 }

    address : <0x010a3000> /* kernel dynamic memory */

    address : <0x010a3000> /* kernel dynamic memory */

    address : <0x010a3000> /* kernel dynamic memory */

    address : <0x0003276c> { _generic_perform_write + 0x94 }

    address : <0x00043a0a> { _do_sync_write + 0x8a }

    address : <0x0004420c> { _vfs_write + 0x68 }

   frame  1 : <0xffa00896> { _system_call + 0x6a }

    address : <0x0000fffe> { _warn_slowpath_common + 0x42 }

^C

 

 

version:

root:/> version

kernel:    Linux release 2.6.33.1-ADI-2010R1-pre-svn8523, build #10 Sun Mar 21

05:41:15 CST 2010

toolchain: bfin-uclinux-gcc release gcc version 4.3.4 (ADI-trunk/svn-3815)

user-dist: release svn-9521, build #116 Sun Mar 21 05:39:57 CST 2010

 

 

--- Barry Song                                               2010-06-01 00:18:53

Duplicate with bug[#6011].

 

--- Mike Frysinger                                           2010-06-01 10:20:28

technically speaking, 6011 is a dupe of this since this came first ...

 

 

 

    Files

    Changes

    Commits

    Dependencies

    Duplicates

    Associations

    Tags

 

File Name     File Type     File Size     Posted By

No Files Were Found

Attachments

    Outcomes