[#5056] Libertas SDIO / Network - transmit timed out

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

[#5056] Libertas SDIO / Network - transmit timed out

Submitted By: Dominik Herwald

Open Date

2009-04-07 10:57:30     Close Date

2009-04-08 20:44:07

Priority:

Medium High     Assignee:

Cliff Cai

Status:

Closed     Fixed In Release:

N/A

Found In Release:

2010R1     Release:

svn

Category:

Networking     Board:

Bluetechnix CM

Processor:

BF548     Silicon Revision:

0.1

Is this bug repeatable?:

Yes     Resolution:

Fixed

Uboot version or rev.:

    Toolchain version or rev.:

svn

App binary format:

N/A     

Summary: Libertas SDIO / Network - transmit timed out

Details:

 

Hello,

 

I did not work on my CM-BF548 board for quite some time now as I had

other things to do.

WLAN worked OK last time I tried it - very stable and no problems at all.

 

That was with Revision 6050 from 2009-02-03 of the Linux Kernel.

 

This Morning I did a full SVN Update with latest revision and I can still connect to the WLAN AP,

open several telnet sessions, ping etc. but always when I do any "larger" data transfer

(running top in a Telnet session is enough)

I get a timeout and the connection gets lost!

 

Doing the same (and big Data Transfers) with normal LAN works just fine.

 

 

Log:

 

# modprobe libertas_sdio

libertas_sdio: Libertas SDIO driver

libertas_sdio: Copyright Pierre Ossman

libertas_sdio mmc0:0001:1: firmware: requesting sd8686_helper.bin

libertas_sdio mmc0:0001:1: firmware: requesting sd8686.bin

libertas: 00:xx:xx:xx:xx:xx, fw 9.70.3p24, cap 0x00000303

libertas: PREP_CMD: command 0x00a3 failed: 2

libertas: PREP_CMD: command 0x00a3 failed: 2

libertas: eth1: Marvell WLAN 802.11 adapter

#

#

# ifconfig eth1 192.168.10.28 up

# wpa_supplicant -i eth1 -c /etc/wpa.conf

Trying to associate with 00:xx:xx:xx:xx:xx (SSID='test' freq=2462 MHz)

Association request to the driver failed

Associated with 00:xx:xx:xx:xx:xx

WPA: Key negotiation completed with 00:xx:xx:xx:xx:xx [PTK=CCMP GTK=TKIP]

CTRL-EVENT-CONNECTED - Connection to 00:xx:xx:xx:xx:xx completed (auth) [id=0 id

_str=]

 

 

So far so good.

.... now I do some data transfer via Telnet.

Works for a short time but then:

 

------------[ cut here ]------------

WARNING: at net/sched/sch_generic.c:226 _dev_watchdog+0x1ec/0x1f4()

NETDEV WATCHDOG: eth1 (libertas_sdio): transmit timed out

Modules linked in: libertas_sdio libertas

Hardware Trace:

   0 Target : <0x00004a14> { _dump_stack + 0x0 }

     Source : <0x0000fbac> { _warn_slowpath + 0x58 } CALL pcrel

   1 Target : <0x0000fbac> { _warn_slowpath + 0x58 }

     Source : <0x00028916> { _print_modules + 0x7a } RTS

   2 Target : <0x00028910> { _print_modules + 0x74 }

     Source : <0x00010206> { _printk + 0x16 } RTS

   3 Target : <0x00010202> { _printk + 0x12 }

     Source : <0x00010a38> { _vprintk + 0x130 } RTS

   4 Target : <0x00010a18> { _vprintk + 0x110 }

     Source : <0x00010b5c> { _vprintk + 0x254 } JUMP.S

   5 Target : <0x00010b5c> { _vprintk + 0x254 }

     Source : <0x00010076> { _wake_up_klogd + 0x1a } RTS

   6 Target : <0x00010076> { _wake_up_klogd + 0x1a }

     Source : <0x00010068> { _wake_up_klogd + 0xc } IF !CC JUMP

   7 Target : <0x0001005c> { _wake_up_klogd + 0x0 }

     Source : <0x00010490> { _release_console_sem + 0x1b0 } JUMP.L

   8 Target : <0x00010488> { _release_console_sem + 0x1a8 }

     Source : <0x0001047c> { _release_console_sem + 0x19c } IF !CC JUMP

   9 Target : <0x00010478> { _release_console_sem + 0x198 }

     Source : <0x0001046a> { _release_console_sem + 0x18a } IF !CC JUMP

  10 Target : <0x00010464> { _release_console_sem + 0x184 }

     Source : <0x00023050> { _up + 0x3c } RTS

  11 Target : <0x0002304a> { _up + 0x36 }

     Source : <0x0002303c> { _up + 0x28 } IF !CC JUMP

  12 Target : <0x00023014> { _up + 0x0 }

     Source : <0x00010460> { _release_console_sem + 0x180 } CALL pcrel

  13 Target : <0x0001044c> { _release_console_sem + 0x16c }

     Source : <0x00010332> { _release_console_sem + 0x52 } IF !CC JUMP

  14 Target : <0x00010302> { _release_console_sem + 0x22 }

     Source : <0x0001042e> { _release_console_sem + 0x14e } IF !CC JUMP

  15 Target : <0x00010428> { _release_console_sem + 0x148 }

     Source : <0x0000ffc6> { __call_console_drivers + 0x7e } RTS

Stack info:

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

FP: (0x00221dfc)

Memory from 0x00221cb0 to 00222000

00221cb0: 00000009  00221cbc  002037bc [0000fbac]<0000fbb0> 00221cdc  001d9e1c <

0013c438>

00221cd0: 001d9e1c  000000e2  00221cdc  7665645f  7461775f  6f646863  78302b67

2f636531

00221cf0: 66317830  00000034  bcc05a7b  003d08cf  00221d2c <0000afa6> 00221d38 <

0000cd48>

00221d10: 03e899bc  001f3a40  03e89940  00000001  001f3a40  00000000  00000000

00221d58

00221d30: 00221da0 <00022244> 00221d58 <00009b8e> 03e89940  00ca5f00  00000003

002093a0

00221d50: 0020937c  52a33f00  00221d70 <00009c54> 00221d90 <0000cd48> 03e899bc

001f3a40

00221d70: 03e89940  00000001  001f3a40  00000000  00000000  00000001  0000001f

00221db4

00221d90: 00221db0 <00009b8e> 03e89940  00ca5f00  00000003 <0000cd48> 03e899bc <

00123894>

00221db0: ffffffff  00000100  00206a7c  00221de0 <00130938> 00208bb4  ffffffff

00000100

00221dd0: 00206a7c <00009b8e> 03e89940  00221e4c  00cbc000  00221de8  6562696c

73617472

00221df0: 6964735f  0000006f  001f9c80 (00000000)<0002bd94> 00f42328  00000000

11b9569a

00221e10: 00000000  0021b1cc <00017b3c> 03e94680  00221e54 <00017730><000177ce>

001f88c8

00221e30: 00221e4c  0013074c  00220000  00206a7c <ffa00438> 001f9c60  00000006

001fb154

00221e50: 001fb154  00000001 <000140da> 001f87b4  00220000  001f8750  00000001

00000004

00221e70: 00000100 <0002d744> 002099e8  00000006  001f0dd4  00000006  00206a7c <

ffa00316>

00221e90: 00200f08  00220000  001f0dd4  00000006  00000000  00000000  00000000

00000000

00221eb0: 00000000  00000100 <ffa00b8a> ffa00284  001f0534  00000000  00000000

034f4ccc

00221ed0: 07f7d615  ffa002a4  00008050  00000000  00000000  03672000  0024d758

ffa002a4

00221ef0:<ffa00140> 00000006  02002020  0025d7cb  ffa01450  0025d7ca  ffa01430

00000000

00221f10: 00000000  00000000  00000000  00000000  00000000  034f4ccc  07f7d615

02b1235c

00221f30: 0000001c  00000000  00000000  00000000  00000000  00000000  00000000

00000000

00221f50: 00000000  00000000  00000000  00000000  000f4239  00222000  00206a7c

ffa00284

00221f70: 00220000  001f0dd4  00206a7c  00220000  ffa00938  001f0534  00000000

00000000

00221f90: 00000000  00000000  00000002  0000ffff  0000ffff  0000ffff  ffa00938

00000006

00221fb0: 001f0534  00000000  00000000  002226d6  001fb124  002359b4  001f0540

001f0534

00221fd0: 00000000  002359b4  001f0220  00000027  002220a8  00238404  00222000

00229174

00221ff0: 00000000  00000000  00000000  ffb00000  b0f067c0

Return addresses in stack:

    address : <0x0000fbac> { _warn_slowpath + 0x58 }

    address : <0x0000fbb0> { _warn_slowpath + 0x5c }

    address : <0x0013c438> { _ip_queue_xmit + 0x100 }

    address : <0x0000afa6> { _enqueue_task_fair + 0x36 }

    address : <0x0000cd48> { _enqueue_task_rt + 0x24 }

    address : <0x00022244> { _enqueue_hrtimer + 0x50 }

    address : <0x00009b8e> { _enqueue_task + 0xe }

    address : <0x00009c54> { _activate_task + 0x28 }

    address : <0x0000cd48> { _enqueue_task_rt + 0x24 }

    address : <0x00009b8e> { _enqueue_task + 0xe }

    address : <0x0000cd48> { _enqueue_task_rt + 0x24 }

    address : <0x00123894> { _netdev_drivername + 0x40 }

    address : <0x00130938> { _dev_watchdog + 0x1ec }

    address : <0x00009b8e> { _enqueue_task + 0xe }

   frame  1 : <0x0002bd94> { _get_timestamp + 0x8 }

    address : <0x00017b3c> { _run_local_timers + 0x8 }

    address : <0x00017730> { _run_timer_softirq + 0x14 }

    address : <0x000177ce> { _run_timer_softirq + 0xb2 }

    address : <0xffa00438> { _timer_interrupt + 0xd4 }

    address : <0x000140da> { ___do_softirq + 0x5e }

    address : <0x0002d744> { _handle_simple_irq + 0x78 }

    address : <0xffa00316> { _asm_do_IRQ + 0x5e }

    address : <0xffa00b8a> { __common_int_entry + 0x62 }

    address : <0xffa00140> { _cpu_idle + 0x20 }

---[ end trace 4c756bbe0449e40c ]---

libertas: tx watch dog timeout

libertas: command 0x001f timed out

libertas: requeueing command 0x001f due to timeout (#1)

libertas: tx watch dog timeout

libertas: command 0x001f timed out

libertas: requeueing command 0x001f due to timeout (#2)

libertas: command 0x001f timed out

libertas: requeueing command 0x001f due to timeout (#3)

libertas: command 0x001f timed out

libertas: Excessive timeouts submitting command 0x001f

libertas: tx watch dog timeout

libertas: command 0x001f timed out

libertas: requeueing command 0x001f due to timeout (#1)

 

 

... continues to output these messages.

 

 

The crash is reproduceable! 

And I just reverted my SVN to the older Revision and

it works fine again.

 

So it seems somewhere between Rev. 6050 and most recent one

something related with the libertas Driver got broken...

 

I may have to mention that I added wpa_supplicant

in order to get WPA Encryption working. But I don't believe

that this has anything to do with the crash above.

 

Best regards,

Dominik S. Herwald

 

 

Follow-ups

 

--- Cliff Cai                                                2009-04-08 03:12:02

This problem seems the same with bug:4955

https://blackfin.uclinux.org/gf/project/uclinux-dist/tracker/?action=TrackerItemEdit&tracker_id=141&tracker_item_id=4955

 

Cliff

 

--- Cliff Cai                                                2009-04-08 05:56:26

fixed now,just put a flag in the righ place of mmc_host structure.

 

Cliff

 

--- Dominik Herwald                                          2009-04-08 09:29:27

Thanks Cliff, it is working now!

 

 

 

    Files

    Changes

    Commits

    Dependencies

    Duplicates

    Associations

    Tags

 

File Name     File Type     File Size     Posted By

No Files Were Found

Attachments

    Outcomes