AnsweredAssumed Answered

Freescale Linux PDK 2.6.31 UTP driver crash issue

Question asked by Benoy Saha on Apr 10, 2013
Latest reply on Apr 27, 2013 by imxcommunityscout
Branched to a new discussion



I have ported freescale linux PDK 2.6.31 to my borad with imx35. This is successful. I have 32MB RAM in my system. I am trying to transfer a large file(32MB) to the NOR flash of the board using MFGTool. An userspace application running on the board is responsible for receiving the file and flash it into NOR flash.


The strategy is like below -


i) The appliaction is waiting on read system calll on utp device node(in my case it is /dev/utp)

ii) Once it is unblocked from read() [i.e. read returns] it returns the size of data read is 64KB and I have 64KB data in my read buffer.

iii) I write this 64KB data to the NOR flash.

iv) Again it goes to read the same chunk.


It works fine when I try to transfer a small file (e.g.- 4-5MB) but when I try to tranfer a large file(e.g.- 30MB) after running the loop(step i to iv ) for 4-5 times i could see a crash from the USB gadget driver side.


The crash log is given below. Could anyone please help me on this.


CPU: 0    Not tainted  (2.6.31-207-g7286c01 #74)

PC is at fsg_main_thread+0xf18/0x219c

LR is at __alloc_pages_nodemask+0x4d4/0x538

pc : [<c01a5a18>]    lr : [<c0090184>]    psr: 60000113

sp : c1bb5ee0  ip : 000016c3  fp : c1bfea80

r10: 00000062  r9 : 00000000  r8 : 00000000

r7 : c1bb4000  r6 : 00000000  r5 : 00000000  r4 : c1907100

r3 : 00000000  r2 : 000080d0  r1 : 00010019  r0 : 00000000

Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment kernel

Control: 00c5387d  Table: 81cd8008  DAC: 00000017

Process file-storage-ga (pid: 856, stack limit = 0xc1bb4268)

Stack: (0xc1bb5ee0 to 0xc1bb6000)

5ee0: c190717c c00c77f8 00000000 00000001 00000000 c1bb5f4c c1818180 c1907104

5f00: c1bb5f98 0000033a c1824000 0000000a 00000000 00000000 00000000 00000000

5f20: c02d3a18 c1c6a600 c1824000 c02d3a18 c1c6a600 c02d3a18 c1c6a630 c1907100

5f40: c02ec38c ffffffff c1826000 00000002 c1bb5fcc c0061d40 00000000 00000002

5f60: c1826000 c182601c c1c6a600 00000017 c1824000 c0061d78 c02dce50 c1c6a600

5f80: c1bb5fcc c020b3f4 c1bb5fb4 00000000 c1c6a600 c005d1b8 c1bb5f98 c1bb5f98

5fa0: c1907100 00000000 00000000 c1827f10 c1bb5fd4 c01a4b00 c1907100 00000000

5fc0: 00000000 00000000 00000000 c005cd78 00000000 00000000 c1bb5fd8 c1bb5fd8

5fe0: 00000000 00000000 00000000 00000000 00000000 c00237a0 47e247e2 47e247e2

[<c01a5a18>] (fsg_main_thread+0xf18/0x219c) from [<c005cd78>] (kthread+0x78/0x80


[<c005cd78>] (kthread+0x78/0x80) from [<c00237a0>] (kernel_thread_exit+0x0/0x8)

Code: e59400c4 ebfff6c5 e5d430c4 e3a05000 (e5c03010)

---[ end trace 6c09729ef6659065 ]-