Subject: Network problem in mips

From: "durai" <[email-masked]>
Date: Thu, 11 Dec 2003 20:27:46 +0530

Hello,
I am working on a wireless lan driver in mips platform. When i transmit/receive the data at 11mbps, it is working smoothly. when i change the tx speed to 54mbps, the system crashes at schedule() function. I am not able to trace from where the crash occurs. where could be the problem? 

Kernel unaligned instruction access in unaligned.c:do_ade, line 428:
$0 : 00000000 a0000000 00097fff ffffffff 80fa228c ba000000 a0f40000 00000000
$8 : 00000045 00000001 00ff0000 00ff0000 80fa228c 80f90738 00003b00 80fdd812
$16: 80fa2000 80fe8221 80fe6010 00008da9 ff000000 00ff0000 80fa2000 a0f40000
$24: 00000001 80494970                   8043a000 8043a118 80fa228c 80f930c1
epc  : 80f930c1
Status: 3000fc00
Cause : 00000010
Process   (pid: -2142680720, stackpage=8043a000)
Stack: 00000000 00000000 00000000 00000000 ff000000 80fa2000 00ff0000 00000000
       00000000 00000000 00000003 8043a1b8 80fa228c 80f9119c 00000000 00000000
       00000000 00000000 803b3b80 00010000 00000010 80390d74 00000004 00000001
       802a83fc 00000000 00000000 00000000 00000000 00000000 80fa2010 ba000000
       80fe9810 00008da5 00000000 00ff0000 80fa2000 a0f40000 8020b570 00000000
       00000000 ...
Call Trace: [<802a83fc>] [<8020b570>] [<8020ae08>] [<80206000>] [<802d64e4>] [<802a83fc>] [<8020b570>] [<8020ae08>] [<8
02d64e4>] [<802d64e4>] [<802a83fc>] [<8020b570>] [<8020ae08>] [<802d64e4>] [<802d64e4>] [<802a83fc>] [<8020b570>] [<802
0ae08>] [<802d64e4>] [<802d64e4>] [<802a83fc>] [<8020b570>] [<8020ae08>] [<802d64e4>] [<802d64e4>] [<802a83fc>] [<802a8
3b4>] [<8020b570>] [<8021f148>] [<8020ae08>] [<802d64e4>] [<802d64e4>] [<8021eb24>] [<8021eb24>] [<802a83fc>] [<802a83b
4>] [<802a8ad4>]
Code:Unaligned memory access at 8020b780, address 80f930b5, PID -2142680720 ( )
Kernel unaligned instruction access in unaligned.c:do_ade, line 428:
$0 : 00000000 3000fc00 00000001 3000fc00 80392130 00000001 00000001 0000168d
$8 : 00000000 00000000 80439ef0 00000000 00000000 803aa52b fffffffe 80439ea7
$16: 80f930b5 fffffffd 00000020 00008da9 ff000000 00ff0000 80fa2000 a0f40000
$24: ffffffff 00000010                   8043a000 80439fe8 80fa228c 8020b748
epc  : 8020b784
Status: 3000fc00
Cause : 0000e010
Process   (pid: -2142680720, stackpage=8043a000)
Stack: 80343bec 00000001 00000001 0000167c 8043a068 80344be4
Call Trace: [<80343bec>] [<80344be4>]
Code: 10400008  00000000  8e060000 <00001021> 1040fff2  2405003c  3c048034  0c08534c  24843bf4
Kernel panic: Aiee, killing interrupt handler

In interrupt handler - not syncing

regards
durai

---

From: "Steven J. Hill" <[email-masked]>
Date: Thu, 11 Dec 2003 10:25:01 -0500

durai wrote:
>
> I am working on a wireless lan driver in mips platform. When i 
> transmit/receive the data at 11mbps, it is working smoothly. when i 
> change the tx speed to 54mbps, the system crashes at schedule() 
> function. I am not able to trace from where the crash occurs. where 
> could be the problem?
>

Dear,

[ ] Troller
[*] Idiot
[*] Lamer
[ ] Waster of bandwidth
[ ] Evolutionary Dead End
[*] Clueless Newbie
[ ] AOLer
[ ] "Me-too"-er
[ ] Scientologist

You are being flamed because

[*] You did not provide kernel symbols for your kernel oops
[*] You crossposted
[ ] You are an AOLer
[ ] You posted in ALL CAPS
[ ] You posted in HTML
[ ] You are a troller
[ ] You quoted an entire message in your reply of 0 LINES
[ ] You requested warez
[ ] You flamed someone for a spelling error.
     [ ] ... and you misspelled something in the process
[*] You suck
[*] I just don't like you

To repent you must

[ ] Give up your AOL account
[ ] Go hide under a Bridge.  If you do not have a bridge, we can sell you
     one named Brooklyn
[ ] Go find a hose
[ ] Go to the top of the CN Tower and attempt to defy gravity
[*] Eat your modem
[*] See how long it takes to fall down the Grand Canyon
[*] Shove a Cinnabon into your computer.  Without replacing the case, ground
     yourself to the Power Supply and turn computer on

In closing, I would like to say

[ ] AOL sucks!
[ ] Never post again
[*] Would you like deep fried or extra crispy?
[*] Go back to your little Nintendo, assmunch.
[ ] CAPS LOCK!  It's on the left!
[ ] Die, spammer!
[*] Get a clue!
[ ] Go away!
[*] Learn to read mail archives

---

From: Alan Cox <[email-masked]>
Date: Thu, 11 Dec 2003 23:07:33 +0000

> [ ] Waster of bandwidth

Seems a little out of order. Not everyone immediately understands you
need the ksyms to interpret a trace

---

From: Ralf Baechle <[email-masked]>
Date: Fri, 12 Dec 2003 00:30:58 +0100

> need the ksyms to interpret a trace

Guess that should be mentioned in the FAQ - anybody got a pointer to a
little how to for writing useful bug reports?

  Ralf

---

From: "Maciej W. Rozycki" <[email-masked]>
Date: Fri, 12 Dec 2003 00:46:23 +0100 (CET)

> little how to for writing useful bug reports?

 Well, REPORTING-BUGS in the Linux source seems pretty good for a start.  
README provides a few hints as well, although with a little bias towards
i386.

-- 
+  Maciej W. Rozycki, Technical University of Gdansk, Poland   +
+--------------------------------------------------------------+
+        e-mail: [email-masked], PGP key available        +

---

From: "durai" <[email-masked]>
Date: Fri, 12 Dec 2003 13:14:14 +0530

Hello,
Sorry for the incomplete information.
My OS is uCLinux (linux kernel 2.4.10) . Whenever I start a high transfer
through the wireless interface the system crashes, sometimes it hangs
without any messages in the console. Here is the oops message.

Kernel unaligned instruction access in unaligned.c:do_ade, line 428:
$0 : 00000000 a0000000 00097fff ffffffff 80fa228c ba000000 a0f40000 00000000
$8 : 00000045 00000001 00ff0000 00ff0000 80fa228c 80f90738 00003b00 80fdd812
$16: 80fa2000 80fe8221 80fe6010 00008da9 ff000000 00ff0000 80fa2000 a0f40000
$24: 00000001 80494970                   8043a000 8043a118 80fa228c 80f930c1
epc  : 80f930c1
Status: 3000fc00
Cause : 00000010
Process   (pid: -2142680720, stackpage=8043a000)
Stack: 00000000 00000000 00000000 00000000 ff000000 80fa2000 00ff0000
00000000
       00000000 00000000 00000003 8043a1b8 80fa228c 80f9119c 00000000
00000000
       00000000 00000000 803b3b80 00010000 00000010 80390d74 00000004
00000001
       802a83fc 00000000 00000000 00000000 00000000 00000000 80fa2010
ba000000
       80fe9810 00008da5 00000000 00ff0000 80fa2000 a0f40000 8020b570
00000000
       00000000 ...
Call Trace: [<802a83fc>] [<8020b570>] [<8020ae08>] [<80206000>] [<802d64e4>]
[<802a83fc>] [<8020b570>] [<8020ae08>] [<8
02d64e4>] [<802d64e4>] [<802a83fc>] [<8020b570>] [<8020ae08>] [<802d64e4>]
[<802d64e4>] [<802a83fc>] [<8020b570>] [<802
0ae08>] [<802d64e4>] [<802d64e4>] [<802a83fc>] [<8020b570>] [<8020ae08>]
[<802d64e4>] [<802d64e4>] [<802a83fc>] [<802a8
3b4>] [<8020b570>] [<8021f148>] [<8020ae08>] [<802d64e4>] [<802d64e4>]
[<8021eb24>] [<8021eb24>] [<802a83fc>] [<802a83b
4>] [<802a8ad4>]
Code:Unaligned memory access at 8020b780, address 80f930b5, PID -2142680720
( )

I have used a script "call2sym" which translates the call trace to kernel
symbols
and here is the symbols

Address         Function

802a83fc        do_external
8020b570        handle_external
8020ae08        handle_ri
80206000        init_task_union
802d64e4        alloc_skb
802a83fc        do_external
8020b570        handle_external
8020ae08        handle_ri
802d64e4        alloc_skb
802d64e4        alloc_skb
802a83fc        do_external
8020b570        handle_external
8020ae08        handle_ri
802d64e4        alloc_skb
802d64e4        alloc_skb
802a83fc        do_external
8020b570        handle_external
8020ae08        handle_ri
802d64e4        alloc_skb
802d64e4        alloc_skb
802a83fc        do_external
8020b570        handle_external
8020ae08        handle_ri
802d64e4        alloc_skb
802d64e4        alloc_skb
802a83fc        do_external
802a83b4        do_external
8020b570        handle_external
8021f148        do_timer
8020ae08        handle_ri
802d64e4        alloc_skb
802d64e4        alloc_skb
8021eb24        update_process_times
8021eb24        update_process_times
802a83fc        do_external
802a83b4        do_external
802a8ad4        ad6489_timerInterrupt

can anybody help me?
durai

---

From: Paul Mundt <[email-masked]>
Date: Fri, 12 Dec 2003 10:19:14 -0500

> little how to for writing useful bug reports?
What's wrong with the top-level REPORTING-BUGS? This specifically mentions
the need for oops tracing with pointers to relevant documentation prior to
posting the report.

---

From: "Steven J. Hill" <[email-masked]>
Date: Fri, 12 Dec 2003 12:42:41 -0500

> without any messages in the console. Here is the oops message.
No problem. You have a thick skin :). Let's take a look at things.

[SNIP]
> Cause : 00000010
What is the function at '0x80f930c1'? If the function is less than 20 lines,
go ahead a paste it in. If not, compile with debugging symbols, use GDB on
the kernel and do a 'dissassem 0x80f930c1' and show us the lines that way.

[SNIP]
> Code:Unaligned memory access at 8020b780, address 80f930b5, PID -2142680720
Well, you have an unaligned access, so hopefully we can see from the code
what you were trying to do. Looking forward to your reply.

-Steve

---

From: Alan Cox <[email-masked]>
Date: Fri, 12 Dec 2003 19:25:36 +0000

> little how to for writing useful bug reports?

REPORTING-BUGS in the kernel tree

---

From: Ralf Baechle <[email-masked]>
Date: Sat, 13 Dec 2003 02:10:17 +0100

> README provides a few hints as well, although with a little bias towards

Indeed.  So close I already forgot about this file's existence ...

I added a short section about bug reporting to the FAQ.  Less than perfect
but at least it's a start.

  Ralf

---

From: Ralf Baechle <[email-masked]>
Date: Sat, 13 Dec 2003 03:48:59 +0100

> $24: 00000001 80494970                   8043a000 8043a118 80fa228c 80f930c1
                                           ^^^^^^^^^^^^^^^^^

$28 is the current pointer, $29 the stack pointer.

> Process   (pid: -2142680720, stackpage=8043a000)

You've overflowed the stack to the point where the process structure got
overwritten. which also explains the nonsense pid value.  -2142680720 is
0x80494970 which is probably some valid kernel address.

Find what's consuming so much stack - you should only use a split fraction
of that.  The epc value also looks quite strange because it's lowest bit is
set - does your CPU support MIPS16?

  Ralf