[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

MMU Bus fault



Hi
 
I'm using a devboard 82 device and would like to extend by using usb ports.
 
When accessing a usb port, I get the following PANIC:
 
# 00:40:8C:61:82:<7>usbserial.c: serial_open
Unable to handle kernel access at virtual address 57680000
Oops: 0000
IRP: c0094f36 SRP: c0094f1e DCCR: 000004a0 USP: 9fffeb14 MOF: 00000000
 r0: 57680000  r1: c011538e   r2: b0000003  r3: b0000003
 r4: c0064404  r5: c0064404   r6: 00000000  r7: b0000207
 r8: 00002000  r9: 00000006  r10: a7965840 r11: c0115808
r12: c02101a8 r13: 57680000 oR10: a7965840
R_MMU_CAUSE: 5768100a
Process klogd (pid: 129, stackpage=c0cdc000)
 
Stack from 9fffeb14:
       9ffff14c 00000000 9ffffe1c 000865a8 9ffff0f0 9ffff1a0 35622d30 <1>Unable to handle kernel access at virtual address 36322000
Oops: 0000
IRP: c00e9024 SRP: c00e9016 DCCR: 00000480 USP: 9fffeb14 MOF: 00000000
 r0: 00000002  r1: 00000002   r2: 00000000  r3: c01368dc
 r4: 00000008  r5: c0cddd45   r6: 00000004  r7: c0136cdb
 r8: ffffffff  r9: 36323231  r10: 00000002 r11: 0003ffff
r12: 00000000 r13: 0000000e oR10: 00000002
R_MMU_CAUSE: 3632300a
Process klogd (pid: 129, stackpage=c0cdc000)
 
Stack from 9fffeb14:
       9ffff14c 00000000 9ffffe1c 000865a8 9ffff0f0 9ffff1a0 35622d30 356321f4 
       3562fe74 00000000 9ffffe20 9ffff134 00000000 9ffff212 9ffff212 3562fe74 
       355a2a08 9ffff1d0 00000000 9ffffe1c 00083745 9ffff134 9ffffe1c 9ffff210 
Call Trace:
Stack from c0cddbb8:
       c0008a50 c0cddd04 c0062282 c00623e0 0003ffff 00000000 c0cdc000 c01368dc 
       c00fcd5c 00000000 c0cddcc0 c00624b2 36322000 c0cddcc0 c0008a50 c0064df2 
       ffffffff c0136cdb 00000004 c0cddd45 00000008 c01368dc c0d700d8 36322000 
Call Trace: [<c0008a50>] [<c0062282>] [<c00623e0>] [<c00624b2>] [<c0008a50>] [<c0064df2>] [<d0166666>]
       [<da6d0008>] [<c0064bbe>] [<c006209a>] [<c00e9016>] [<c00e9024>] [<c0064404>] [<c0008864>] [<c00e950a>]
       [<c0008adc>] [<c0008a50>] [<c00622f2>] [<c0008a50>] [<c0062282>] [<c00623d8>] [<c00624b2>] [<c0008a50>]
       [<c0064df2>] [<c0064404>] [<c0064404>] [<c001aacc>] [<c009941a>] [<c0064404>] [<c0064404>] [<c00990f6>]
       [<c0064404>] [<c006443c>] [<c0064bbe>] [<c006209a>] [<c0064404>] [<c0064404>] [<c0094f1e>] [<c0094f36>]
       [<c0064404>] [<c0062f6a>] [<c0062e22>]
Code: 72 86 01 52 28 e1 69 9a 49 05 40 0a (61) 16 b0 15 62 26 cf 20 c5 0b e8 66
Kernel panic: Aiee, killing interrupt handler!
In interrupt handler - not syncing
 
 
 
Further investigation with ksymoops shows:
>>EIP; c0094f36 <etrax_usb_hc_interrupt_top_half+70/146>   <=====
 
>>IRP; c0094f36 <etrax_usb_hc_interrupt_top_half+70/146>
>>SRP; c0094f1e <etrax_usb_hc_interrupt_top_half+58/146>
>>IRP; c0094f36 <etrax_usb_hc_interrupt_top_half+70/146>
>>SRP; c0094f1e <etrax_usb_hc_interrupt_top_half+58/146>
>>r1; c011538e <irq_action+6/80>
>>r4; c0064404 <log_int+0/d4>
>>r5; c0064404 <log_int+0/d4>
>>r11; c0115808 <no_change_cnt.0+0/4>
>>r12; c02101a8 <_end+1f5c8/e0f420>
 
>>EIP; c00e9024 <number+134/252>   <=====
 
>>IRP; c00e9024 <number+134/252>
>>SRP; c00e9016 <number+126/252>
>>IRP; c00e9024 <number+134/252>
>>SRP; c00e9016 <number+126/252>
>>r3; c01368dc <printk_buf.4+0/400>
>>r5; c0cddd45 <_end+aed165/e0f420>
>>r7; c0136cdb <printk_buf.4+3ff/400>
 
Trace; c0008a50 <printk+0/180>
Trace; c0062282 <show_stack+0/8a>
Trace; c00623e0 <show_registers+d4/13a>
Trace; c00624b2 <die_if_kernel+34/46>
Trace; c0008a50 <printk+0/180>
Trace; c0064df2 <do_page_fault+230/2da>
Trace; d0166666 <END_OF_CODE+f166666/????>
Trace; da6d0008 <END_OF_CODE+196d0008/????>
Trace; c0064bbe <handle_mmu_bus_fault+be/c2>
Trace; c006209a <mmu_bus_fault+28/30>
Trace; c00e9016 <number+126/252>
Trace; c00e9024 <number+134/252>
Trace; c0064404 <log_int+0/d4>
Trace; c0008864 <__call_console_drivers+3e/4a>
Trace; c00e950a <vsnprintf+3c8/3f8>
Trace; c0008adc <printk+8c/180>
Trace; c0008a50 <printk+0/180>
Trace; c00622f2 <show_stack+70/8a>
Trace; c0008a50 <printk+0/180>
Trace; c0062282 <show_stack+0/8a>
Trace; c00623d8 <show_registers+cc/13a>
Trace; c00624b2 <die_if_kernel+34/46>
Trace; c0008a50 <printk+0/180>
Trace; c0064df2 <do_page_fault+230/2da>
Trace; c0064404 <log_int+0/d4>
Trace; c0064404 <log_int+0/d4>
Trace; c001aacc <kmalloc+30/3c>
Trace; c009941a <alloc_skb+c2/18e>
Trace; c0064404 <log_int+0/d4>
Trace; c0064404 <log_int+0/d4>
Trace; c00990f6 <sock_def_readable+20/42>
Trace; c0064404 <log_int+0/d4>
Trace; c006443c <log_int+38/d4>
Trace; c0064bbe <handle_mmu_bus_fault+be/c2>
Trace; c006209a <mmu_bus_fault+28/30>
Trace; c0064404 <log_int+0/d4>
Trace; c0064404 <log_int+0/d4>
Trace; c0094f1e <etrax_usb_hc_interrupt_top_half+58/146>
Trace; c0094f36 <etrax_usb_hc_interrupt_top_half+70/146>
Trace; c0064404 <log_int+0/d4>
Trace; c0062f6a <do_IRQ+6c/a6>
Trace; c0062e22 <sIRQ31_interrupt+18/2e>
 
Code;  c00e9018 <number+128/252>
00000000 <_EIP>:
Code;  c00e9018 <number+128/252>
   0:   72 86                     jb     ffffff88 <_EIP+0xffffff88>
Code;  c00e901a <number+12a/252>
   2:   01 52 28                  add    %edx,0x28(%edx)
Code;  c00e901d <number+12d/252>
   5:   e1 69                     loope  70 <_EIP+0x70>
Code;  c00e901f <number+12f/252>   <=====
   7:   9a 49 05 40 0a 61 16      lcall  $0x1661,$0xa400549   <=====
Code;  c00e9026 <number+136/252>
   e:   b0 15                     mov    $0x15,%al
Code;  c00e9028 <number+138/252>
  10:   62 26                     bound  %esp,(%esi)
Code;  c00e902a <number+13a/252>
  12:   cf                        iret
Code;  c00e902b <number+13b/252>
  13:   20 c5                     and    %al,%ch
Code;  c00e902d <number+13d/252>
  15:   0b e8                     or     %eax,%ebp
Code;  c00e902f <number+13f/252>
  17:   66                        data16
 
 
 
 
Could you please analyse and indicate what the problem may be. I am concerned about the MMU_bus_fault handler being called. Do I have conflicting hardware by adding extra usb devices?
 
Regards
 
Cedric