AnsweredAssumed Answered

USB stick wifi init error/kernel OOPS

Question asked by Rob. on Oct 17, 2012
Latest reply on Oct 20, 2012 by StephanHoffmann

Upon using wifi-sticks, under certain circumstances, a kernel panic occurs. Almost exactly same panic report may occur, as tested with carl9170 and ath9k driver. However, where ath9k runs OK on the same board as the carl9170 fails with kernel panic (using 2012R1), on another board with the same linux image, the ath9k fails. Below is a sample log. More information is in a recent bug tracker entry:

http://blackfin.uclinux.org/gf/project/uclinux-dist/tracker/?action=TrackerItemEdit&tracker_item_id=7385&start=0

This ath9k experience seems to confirm that the problem is not in the wlan driver, but rather related to musb.

 

Any verification and/or suggestions are welcome.

 

-Rob

 

cfg80211: Calling CRDA to update world regulatory domain

usb 1-1: ath9k_htc: Transferred FW: htc_9271.fw, size: 51272

ath9k_htc 1-1:1.0: ath9k_htc: HTC initialized with 33 credits

ath9k_htc 1-1:1.0: ath9k_htc: FW Version: 1.3

ieee80211 phy0: Atheros AR9271 Rev:1

usb 1-1: ath9k_htc: USB layer initialized

usbcore: registered new interface driver ath9k_htc

wlan module probed: ath9k_htc

Illegal use of supervisor resource

<5> - Attempted to use a Supervisor register or instruction from User mode.

<5>   Supervisor resources are registers and instructions that are reserved

<5>   for Supervisor use: Supervisor only registers, all MMRs, and Supervisor

<5>   only instructions.

Kernel OOPS in progress

Deferred Exception context

CURRENT PROCESS:

COMM=wpa_supplicant PID=127  CPU=0

TEXT = 0x00c00000-0x00c5a894        DATA = 0x00e90894-0x00e95c88

BSS = 0x00e95c88-0x00ea0000  USER-STACK = 0x00ebfd80

 

return address: [0x00161a4c]; contents of:

0x00161a20:  00aa  1057  4810  1c07  e120  00a6  5601  63d1

0x00161a30:  55c8  971f  0c44  1804  a0e0  0c10  184f  0c45

0x00161a40:  184d  0c44  1803  4867  144e  6003 [e5a8] 001a

0x00161a50:  4808  1c12  a06c  0c04  1c0f  e120  00d4  40e8

 

ADSP-BF526-0.2 400(MHz CCLK) 80(MHz SCLK) (mpu off)

Linux version 3.3.0-ADI-2012R1-cust (rob@rob-desktop) (gcc version 4.3.5 (ADI-2012R1-RC2) ) #59 PREEMPT Wed Oct 17 17:09:03 CEST 2012

 

SEQUENCER STATUS:               Not tainted

SEQSTAT: 0000002e  IPEND: 8408  IMASK: 001f  SYSCFG: 0006

  Peripheral interrupts masked off

  Kernel interrupts masked off

  EXCAUSE   : 0x2e

  physical IVG3 asserted : <0xffa00764> { _trap + 0x0 }

  physical IVG10 asserted : <0xffa00e98> { _evt_evt10 + 0x0 }

  physical IVG15 asserted : <0xffa00ef8> { _evt_system_call + 0x0 }

  logical irq   6 mapped  : <0xffa003d8> { _bfin_coretmr_interrupt + 0x0 }

  logical irq  15 mapped  : <0x00191494> { _err_handler + 0x0 }

  logical irq  16 mapped  : <0x00191494> { _err_handler + 0x0 }

  logical irq  23 mapped  : <0x00191780> { _rx_handler + 0x0 }

  logical irq  24 mapped  : <0x00191724> { _tx_handler + 0x0 }

  logical irq  25 mapped  : <0x00191780> { _rx_handler + 0x0 }

  logical irq  26 mapped  : <0x00191724> { _tx_handler + 0x0 }

  logical irq  27 mapped  : <0x0016c5b4> { _bfin_twi_interrupt_entry + 0x0 }

  logical irq  29 mapped  : <0x0010c250> { _bfin_serial_dma_rx_int + 0x0 }

  logical irq  30 mapped  : <0x0010c054> { _bfin_serial_dma_tx_int + 0x0 }

  logical irq  35 mapped  : <0x001362d8> { _bfin_mac_interrupt + 0x0 }

  logical irq  59 mapped  : <0x00164c4c> { _blackfin_interrupt + 0x0 }

  logical irq  62 mapped  : <0x001647fc> { _dma_controller_irq + 0x0 }

RETE: <0x00000000> /* Maybe null pointer? */

RETN: <0x00e8f884> /* kernel dynamic memory (maybe user-space) */

RETX: <0x00000480> /* Maybe fixed code section */

RETS: <0x001648e8> { _dma_controller_irq + 0xec }

PC  : <0x00161a4c> { _musb_g_tx + 0x74 }

DCPLB_FAULT_ADDR: <0xffffffe6> /* core mmrs */

ICPLB_FAULT_ADDR: <0x00161a4c> { _musb_g_tx + 0x74 }

PROCESSOR STATE:

R0 : 00001000    R1 : 00001000    R2 : ffc03a40    R3 : 00000000

R4 : 020740d0    R5 : 00000001    R6 : 020740d0    R7 : 00001000

P0 : 020740d0    P1 : 020741a4    P2 : 020741a4    P3 : ffc03a44

P4 : 00000000    P5 : ffffffcc    FP : 02074450    SP : 00e8f7a8

LB0: ffa01718    LT0: ffa01718    LC0: 00000000

LB1: ffa0044a    LT1: ffa0044a    LC1: 00000000

B0 : 00000000    L0 : 00000000    M0 : 00000028    I0 : 00000002

B1 : 0268e224    L1 : 00000000    M1 : 0000002c    I1 : 00000001

B2 : 000000d4    L2 : 00000000    M2 : 00000001    I2 : 00000008

B3 : 00000238    L3 : 00000000    M3 : 00000001    I3 : 011cf9c0

A0.w: 00c31106   A0.x: 00000000   A1.w: 00000206   A1.x: 00000000

USP : 00ebf998  ASTAT: 02002060

 

Hardware Trace:

   0 Target : <0x00004028> { _trap_c + 0x0 }

     Source : <0xffa006f8> { _exception_to_level5 + 0xa0 } JUMP.L

   1 Target : <0xffa00658> { _exception_to_level5 + 0x0 }

     Source : <0xffa00512> { _bfin_return_from_exception + 0x6 } RTX

   2 Target : <0xffa0050c> { _bfin_return_from_exception + 0x0 }

     Source : <0xffa005b2> { _ex_trap_c + 0x72 } JUMP.S

   3 Target : <0xffa00540> { _ex_trap_c + 0x0 }

     Source : <0xffa0078e> { _trap + 0x2a } JUMP (P4)

   4 Target : <0xffa00764> { _trap + 0x0 }

      FAULT : <0x00161a4c> { _musb_g_tx + 0x74 } R0 = B[P5 + 0x68](X)

     Source : <0x00161a4a> { _musb_g_tx + 0x72 } 0x6003

   5 Target : <0x00161a4a> { _musb_g_tx + 0x72 }

     Source : <0x00161a44> { _musb_g_tx + 0x6c } IF CC JUMP pcrel

   6 Target : <0x00161a3e> { _musb_g_tx + 0x66 }

     Source : <0x00161a36> { _musb_g_tx + 0x5e } IF CC JUMP pcrel

   7 Target : <0x00161a34> { _musb_g_tx + 0x5c }

     Source : <0x00161a26> { _musb_g_tx + 0x4e } IF CC JUMP pcrel (BP)

   8 Target : <0x001619d8> { _musb_g_tx + 0x0 }

     Source : <0x0015f8d2> { _musb_dma_completion + 0x42 } JUMP.L

   9 Target : <0x0015f8d0> { _musb_dma_completion + 0x40 }

     Source : <0x0015f8b8> { _musb_dma_completion + 0x28 } IF CC JUMP pcrel (BP)

  10 Target : <0x0015f8b0> { _musb_dma_completion + 0x20 }

     Source : <0x0015f8a4> { _musb_dma_completion + 0x14 } IF !CC JUMP pcrel (BP)

  11 Target : <0x0015f890> { _musb_dma_completion + 0x0 }

     Source : <0x001648e4> { _dma_controller_irq + 0xe8 } CALL pcrel

  12 Target : <0x001648d8> { _dma_controller_irq + 0xdc }

     Source : <0x001648a8> { _dma_controller_irq + 0xac } IF CC JUMP pcrel (BP)

  13 Target : <0x00164867> { _dma_controller_irq + 0x6b }

     Source : <0x00164878> { _dma_controller_irq + 0x7c } IF CC JUMP pcrel (BP)

  14 Target : <0x00164872> { _dma_controller_irq + 0x76 }

     Source : <0x00164860> { _dma_controller_irq + 0x64 } JUMP.S

  15 Target : <0x0016484e> { _dma_controller_irq + 0x52 }

     Source : <0x00164828> { _dma_controller_irq + 0x2c } IF !CC JUMP pcrel (BP)

Kernel Stack

Stack info:

SP: [0x00e8fac0] <0x00e8fac0> /* kernel dynamic memory (maybe user-space) */

FP: (0x00e8fc64)

Outcomes