Libertas Driver Locking Kernel

Nick Moszer nick.moszer at packetdigital.com
Wed May 21 12:21:35 EDT 2008


Greetings,

I'm using the libertas driver in 2.6.24 w/ firmware 8.73.7.p3 on a 8686 
chip over SDIO from embeddedworks.net.
I posted earlier about a problem with driver transfer sizes on the BF548 
board I'm using. I believe that is fixed (thanks again!).

When I load the driver and start sending traffic through the card it 
hard locks the kernel.  Below is the logging up to the point it dies. 
Usually just after a handful of packets.  I posted about this earlier 
but I think I've ruled the blackfin driver out at this point.
Can anyone make sense of exactly what is going on based on the logging?  
Thanks!

Jan  1 00:04:03 blackfin user.debug kernel: sdh_stat_irq enter
Jan  1 00:04:03 blackfin user.debug kernel: sdh_stat_irq exit
Jan  1 00:04:03 blackfin user.warn kernel:
Jan  1 00:04:03 blackfin user.debug kernel: sdh_dma_irq enter, 
irq_stat:0x0001
Jan  1 00:04:03 blackfin user.debug kernel: sdh_stat_irq enter
Jan  1 00:04:03 blackfin user.debug kernel: sdh_data_done enter stat:0x500
Jan  1 00:04:03 blackfin user.debug kernel: sdh_finish_request enter
Jan  1 00:04:03 blackfin user.debug kernel: mmc0: req done (CMD53): 0: 
00002000 00000000 00000000 00000000
Jan  1 00:04:03 blackfin user.debug kernel: mmc0:     1024 bytes 
transferred: 0
Jan  1 00:04:03 blackfin user.debug kernel: sdh_stat_irq exit
Jan  1 00:04:03 blackfin user.warn kernel:
Jan  1 00:04:03 blackfin user.debug kernel: libertas thread: packet of 
type 0 and size 598 bytes
Jan  1 00:04:03 blackfin user.debug kernel: libertas enter: 
if_sdio_handle_data():191
Jan  1 00:04:03 blackfin user.debug kernel: libertas enter: 
libertas_process_rxed_packet():174
Jan  1 00:04:03 blackfin user.warn kernel: libertas RX Data: Before chop 
rxpd: 01 00 2b 00 3e 02 5a 0c 14 00 00 00 00 00 00 00
Jan  1 00:04:03 blackfin user.warn kernel: libertas RX Data: Before chop 
rxpd: 00 00 00 00 00 1a 6b 93 32 60 00 1d 09 03 c8 bd
Jan  1 00:04:03 blackfin user.warn kernel: libertas RX Data: Before chop 
rxpd: 02 30 aa aa 03 00 00 00 08 00 45 00 02 28 3d 01
Jan  1 00:04:03 blackfin user.warn kernel: libertas RX Data: Before chop 
rxpd: 40 00 80 06 39 5e c0 a8 00 68 c0 a8 00 b8 07 57
Jan  1 00:04:03 blackfin user.warn kernel: libertas RX Data: Before chop 
rxpd: 00 16 71 e0 9f 61 e2 88 33 7f 50 18 ff e8 5a 29
Jan  1 00:04:03 blackfin user.warn kernel: libertas RX Data: Before chop 
rxpd: 00 00 00 00 02 64 0a 14 a6 3a e3 96 40 62 ee 17
Jan  1 00:04:03 blackfin user.warn kernel: libertas RX Data: Before chop 
rxpd: 08 65 0f e5
Jan  1 00:04:03 blackfin user.debug kernel: libertas rx: rx data: 
skb->len-sizeof(RxPd) = 594-20 = 574
Jan  1 00:04:03 blackfin user.warn kernel: libertas RX Data: Dest: 00 1a 
6b 93 32 60
Jan  1 00:04:03 blackfin user.warn kernel: libertas RX Data: Src: 00 1d 
09 03 c8 bd
Jan  1 00:04:03 blackfin user.debug kernel: libertas enter: 
wlan_compute_rssi():109
Jan  1 00:04:03 blackfin user.debug kernel: libertas rx: rxpd: SNR 43, NF 90
Jan  1 00:04:03 blackfin user.debug kernel: libertas rx: before 
computing SNR: SNR-avg = 43, NF-avg = 91
Jan  1 00:04:03 blackfin user.debug kernel: libertas rx: after computing 
SNR: SNR-avg = 43, NF-avg = 91
Jan  1 00:04:03 blackfin user.debug kernel: libertas leave: 
wlan_compute_rssi():134
Jan  1 00:04:03 blackfin user.debug kernel: libertas rx: rx data: size 
of actual packet 566
Jan  1 00:04:03 blackfin user.debug kernel: libertas rx: skb->data 003f602e
Jan  1 00:04:03 blackfin user.debug kernel: libertas leave: 
libertas_process_rxed_packet():273, ret 0
Jan  1 00:04:03 blackfin user.debug kernel: libertas leave: 
if_sdio_handle_data():217, ret 0
Jan  1 00:04:03 blackfin user.debug kernel: libertas leave: 
if_sdio_card_to_host():365, ret 0
Jan  1 00:04:03 blackfin user.debug kernel: libertas leave: 
if_sdio_interrupt():880, ret 0
Jan  1 00:04:03 blackfin user.info kernel: s 00000015
Jan  1 00:04:03 blackfin user.debug kernel: sdh_request enter, 
mrp:03d95ec4, cmd:03d95ef8
Jan  1 00:04:03 blackfin user.debug kernel: sdh_start_cmd enter 
cmd:0x03d95ef8
Jan  1 00:04:03 blackfin user.debug kernel: sdh_stat_irq enter
Jan  1 00:04:03 blackfin user.debug kernel: sdh_cmd_done enter cmd:03d95ef8
Jan  1 00:04:03 blackfin user.debug kernel: sdh_finish_request enter
Jan  1 00:04:03 blackfin user.debug kernel: mmc0: req done (CMD7): 0: 
00001e00 00000000 00000000 00000000
Jan  1 00:04:03 blackfin user.debug kernel: sdh_stat_irq exit
Jan  1 00:04:03 blackfin user.warn kernel:
Jan  1 00:04:03 blackfin user.debug kernel: libertas enter: 
if_sdio_host_to_card_worker():379
Jan  1 00:04:03 blackfin user.debug kernel: mmc0: starting CMD52 arg 
10004000 flags 00000195
Jan  1 00:04:03 blackfin user.debug kernel: sdh_request enter, 
mrp:03defebc, cmd:03defef0
Jan  1 00:04:03 blackfin user.debug kernel: sdh_start_cmd enter 
cmd:0x03defef0
Jan  1 00:04:03 blackfin user.debug kernel: sdh_stat_irq enter
Jan  1 00:04:03 blackfin user.debug kernel: sdh_cmd_done enter cmd:03defef0
Jan  1 00:04:03 blackfin user.debug kernel: sdh_finish_request enter
Jan  1 00:04:03 blackfin user.debug kernel: mmc0: req done (CMD52): 0: 
0000100a 00000000 00000000 00000000
Jan  1 00:04:03 blackfin user.debug kernel: sdh_stat_irq exit
Jan  1 00:04:03 blackfin user.warn kernel:
Jan  1 00:04:03 blackfin user.debug kernel: mmc0: starting CMD53 arg 
92000080 flags 000001b5
Jan  1 00:04:03 blackfin user.debug kernel: mmc0:     blksz 128 blocks 1 
flags 00000100 tsac 1000 ms nsac 0
Jan  1 00:04:03 blackfin user.debug kernel: sdh_request enter, 
mrp:03defeac, cmd:03defe80
Jan  1 00:04:03 blackfin user.debug kernel: sdh_start_cmd enter 
cmd:0x03defe80
Jan  1 00:04:03 blackfin user.debug kernel: sdh_stat_irq enter
Jan  1 00:04:03 blackfin user.debug kernel: sdh_cmd_done enter cmd:03defe80
Jan  1 00:04:03 blackfin user.debug kernel: sdh_setup_data enter flags:0x100
Jan  1 00:04:03 blackfin user.debug kernel: 0: start_addr:0x22f89c8, 
cfg:0x4529, x_count:0x20, x_modify:0x4
Jan  1 00:04:03 blackfin user.debug kernel: sdh_setup_data exit
Jan  1 00:04:03 blackfin user.debug kernel: sdh_dma_irq enter, 
irq_stat:0x0001
Jan  1 00:04:03 blackfin user.debug kernel: sdh_data_done enter stat:0x500
Jan  1 00:04:03 blackfin user.debug kernel: sdh_finish_request enter
Jan  1 00:04:03 blackfin user.debug kernel: mmc0: req done (CMD53): 0: 
00002000 00000000 00000000 00000000
Jan  1 00:04:03 blackfin user.debug kernel: mmc0:     128 bytes 
transferred: 0
Jan  1 00:04:03 blackfin user.debug kernel: sdh_stat_irq exit
Jan  1 00:04:03 blackfin user.warn kernel:
Jan  1 00:04:03 blackfin user.debug kernel: sdh_stat_irq enter
Jan  1 00:04:03 blackfin user.debug kernel: sdh_stat_irq exit
Jan  1 00:04:03 blackfin user.warn kernel:
Jan  1 00:04:03 blackfin user.debug kernel: libertas leave: 
if_sdio_host_to_card_worker():419
Jan  1 00:04:03 blackfin user.debug kernel: mmc0: starting CMD7 arg 
00010000 flags 00000015
Jan  1 00:04:03 blackfin user.debug kernel: sdh_request enter, 
mrp:03d95ec4, cmd:03d95ef8
Jan  1 00:04:03 blackfin user.debug kernel: sdh_start_cmd enter 
cmd:0x03d95ef8
Jan  1 00:04:03 blackfin user.debug kernel: sdh_stat_irq enter
Jan  1 00:04:03 blackfin user.debug kernel: sdh_cmd_done enter cmd:03d95ef8
Jan  1 00:04:03 blackfin user.debug kernel: sdh_finish_request enter
Jan  1 00:04:03 blackfin user.debug kernel: mmc0: req done (CMD7): 0: 
00001e00 00000000 00000000 00000000
Jan  1 00:04:03 blackfin user.debug kernel: sdh_stat_irq exit
Jan  1 00:04:03 blackfin user.warn kernel:
Jan  1 00:04:03 blackfin user.debug kernel: mmc0: starting CMD52 arg 
00000a00 flags 00000195
Jan  1 00:04:03 blackfin user.debug kernel: sdh_request enter, 
mrp:00803f20, cmd:00803f54
Jan  1 00:04:03 blackfin user.debug kernel: sdh_start_cmd enter 
cmd:0x00803f54
Jan  1 00:04:03 blackfin user.debug kernel: sdh_stat_irq enter
Jan  1 00:04:03 blackfin user.debug kernel: sdh_cmd_done enter cmd:00803f54
Jan  1 00:04:03 blackfin user.debug kernel: sdh_finish_request enter
Jan  1 00:04:03 blackfin user.debug kernel: mmc0: req done (CMD52): 0: 
00001002 00000000 00000000 00000000
Jan  1 00:04:03 blackfin user.debug kernel: sdh_stat_irq exit
Jan  1 00:04:03 blackfin user.warn kernel:
Jan  1 00:04:03 blackfin user.debug kernel: libertas enter: 
if_sdio_interrupt():846
Jan  1 00:04:03 blackfin user.debug kernel: mmc0: starting CMD52 arg 
10000a00 flags 00000195
Jan  1 00:04:03 blackfin user.debug kernel: sdh_request enter, 
mrp:00803eb4, cmd:00803ee8
Jan  1 00:04:03 blackfin user.debug kernel: sdh_start_cmd enter 
cmd:0x00803ee8
Jan  1 00:04:03 blackfin user.debug kernel: sdh_stat_irq enter
Jan  1 00:04:03 blackfin user.debug kernel: sdh_cmd_done enter cmd:00803ee8
Jan  1 00:04:03 blackfin user.debug kernel: sdh_finish_request enter
Jan  1 00:04:03 blackfin user.debug kernel: mmc0: req done (CMD52): 0: 
00001001 00000000 00000000 00000000
Jan  1 00:04:03 blackfin user.debug kernel: sdh_stat_irq exit
Jan  1 00:04:03 blackfin user.warn kernel:
Jan  1 00:04:03 blackfin user.debug kernel: libertas thread: interrupt: 0x1
Jan  1 00:04:03 blackfin user.debug kernel: mmc0: starting CMD52 arg 
90000afe flags 00000195
Jan  1 00:04:03 blackfin user.debug kernel: sdh_request enter, 
mrp:00803eb8, cmd:00803eec
Jan  1 00:04:03 blackfin user.debug kernel: sdh_start_cmd enter 
cmd:0x00803eec
Jan  1 00:04:03 blackfin user.debug kernel: sdh_stat_irq enter
Jan  1 00:04:03 blackfin user.debug kernel: sdh_cmd_done enter cmd:00803eec
Jan  1 00:04:03 blackfin user.debug kernel: sdh_finish_request enter
Jan  1 00:04:03 blackfin user.debug kernel: mmc0: req done (CMD52): 0: 
000010fe 00000000 00000000 00000000
Jan  1 00:04:03 blackfin user.debug kernel: sdh_stat_irq exit
Jan  1 00:04:03 blackfin user.warn kernel:
Jan  1 00:04:03 blackfin user.debug kernel: libertas enter: 
if_sdio_card_to_host():273
Jan  1 00:04:03 blackfin user.debug kernel: mmc0: starting CMD52 arg 
10006800 flags 00000195
Jan  1 00:04:03 blackfin user.debug kernel: sdh_request enter, 
mrp:00803e88, cmd:00803ebc
Jan  1 00:04:03 blackfin user.debug kernel: sdh_start_cmd enter 
cmd:0x00803ebc
Jan  1 00:04:03 blackfin user.debug kernel: sdh_stat_irq enter
Jan  1 00:04:03 blackfin user.debug kernel: sdh_cmd_done enter cmd:00803ebc
Jan  1 00:04:03 blackfin user.debug kernel: sdh_finish_request enter
Jan  1 00:04:03 blackfin user.debug kernel: mmc0: req done (CMD52): 0: 
000010be 00000000 00000000 00000000
Jan  1 00:04:03 blackfin user.debug kernel: sdh_stat_irq exit
Jan  1 00:04:03 blackfin user.warn kernel:
Jan  1 00:04:03 blackfin user.debug kernel: mmc0: starting CMD52 arg 
10006a00 flags 00000195
Jan  1 00:04:03 blackfin user.debug kernel: sdh_request enter, 
mrp:00803e88, cmd:00803ebc
Jan  1 00:04:03 blackfin user.debug kernel: sdh_start_cmd enter 
cmd:0x00803ebc
Jan  1 00:04:03 blackfin user.debug kernel: sdh_stat_irq enter
Jan  1 00:04:03 blackfin user.debug kernel: sdh_cmd_done enter cmd:00803ebc
Jan  1 00:04:03 blackfin user.debug kernel: sdh_finish_request enter
Jan  1 00:04:03 blackfin user.debug kernel: mmc0: req done (CMD52): 0: 
00001000 00000000 00000000 00000000
Jan  1 00:04:03 blackfin user.debug kernel: sdh_stat_irq exit
Jan  1 00:04:03 blackfin user.warn kernel:
Jan  1 00:04:03 blackfin user.debug kernel: mmc0: starting CMD52 arg 
10004000 flags 00000195
Jan  1 00:04:03 blackfin user.debug kernel: sdh_request enter, 
mrp:00803eb4, cmd:00803ee8
Jan  1 00:04:03 blackfin user.debug kernel: sdh_start_cmd enter 
cmd:0x00803ee8
Jan  1 00:04:03 blackfin user.debug kernel: sdh_stat_irq enter
Jan  1 00:04:03 blackfin user.debug kernel: sdh_cmd_done enter cmd:00803ee8
Jan  1 00:04:03 blackfin user.debug kernel: sdh_finish_request enter
Jan  1 00:04:03 blackfin user.debug kernel: mmc0: req done (CMD52): 0: 
00001009 00000000 00000000 00000000
Jan  1 00:04:03 blackfin user.debug kernel: sdh_stat_irq exit
Jan  1 00:04:03 blackfin user.warn kernel:
Jan  1 00:04:03 blackfin user.debug kernel: mmc0: starting CMD53 arg 
12000100 flags 000001b5
Jan  1 00:04:03 blackfin user.debug kernel: mmc0:     blksz 256 blocks 1 
flags 00000200 tsac 1000 ms nsac 0
Jan  1 00:04:03 blackfin user.debug kernel: sdh_request enter, 
mrp:00803ea4, cmd:00803e78
Jan  1 00:04:03 blackfin user.debug kernel: sdh_setup_data enter flags:0x200
Jan  1 00:04:03 blackfin user.debug kernel: 0: start_addr:0x900018, 
cfg:0x452b, x_count:0x40, x_modify:0x4
Jan  1 00:04:03 blackfin user.debug kernel: sdh_setup_data exit
Jan  1 00:04:03 blackfin user.debug kernel: sdh_start_cmd enter 
cmd:0x00803e78
Jan  1 00:04:03 blackfin user.debug kernel: sdh_stat_irq enter
Jan  1 00:04:03 blackfin user.debug kernel: sdh_cmd_done enter cmd:00803e78
Jan  1 00:04:03 blackfin user.debug kernel: sdh_stat_irq exit
Jan  1 00:04:03 blackfin user.warn kernel:
Jan  1 00:04:10 blackfin user.info kernel: NETDEV WATCHDOG: eth1: 
transmit timed out
Jan  1 00:04:10 blackfin user.debug kernel: libertas enter (INT): 
libertas_tx_timeout():583
Jan  1 00:04:10 blackfin user.err kernel: libertas: tx watch dog timeout
Jan  1 00:04:10 blackfin user.debug kernel: libertas leave (INT): 
libertas_tx_timeout():604
Jan  1 00:04:10 blackfin user.debug kernel: libertas enter (INT): 
libertas_pre_start_xmit():565
Jan  1 00:04:10 blackfin user.debug kernel: libertas enter (INT): 
libertas_hard_start_xmit():515
Jan  1 00:04:10 blackfin user.debug kernel: libertas enter (INT): 
libertas_process_tx():215
Jan  1 00:04:10 blackfin user.warn kernel: libertas TX Data: 00 1d 09 03 
c8 bd 00 1a 6b 93 32 60 08 00 45 00
Jan  1 00:04:10 blackfin user.warn kernel: libertas TX Data: 00 28 f4 3c 
40 00 40 06 c4 22 c0 a8 00 b8 c0 a8
Jan  1 00:04:10 blackfin user.warn kernel: libertas TX Data: 00 68 00 16 
07 57 e2 88 33 7f 71 e0 a1 61 50 10
Jan  1 00:04:10 blackfin user.warn kernel: libertas TX Data: 19 20 e3 8c 
00 00
Jan  1 00:04:10 blackfin user.debug kernel: libertas enter (INT): 
SendSinglePacket():69
Jan  1 00:04:10 blackfin user.warn kernel: libertas txpd: 00 00 00 00 00 
00 00 00 18 00 00 00 36 00 00 1d
Jan  1 00:04:10 blackfin user.warn kernel: libertas txpd: 09 03 c8 bd 00 
00 00 00
Jan  1 00:04:10 blackfin user.warn kernel: libertas Tx Data: 00 1d 09 03 
c8 bd 00 1a 6b 93 32 60 08 00 45 00
Jan  1 00:04:10 blackfin user.warn kernel: libertas Tx Data: 00 28 f4 3c 
40 00 40 06 c4 22 c0 a8 00 b8 c0 a8
Jan  1 00:04:10 blackfin user.warn kernel: libertas Tx Data: 00 68 00 16 
07 57 e2 88 33 7f 71 e0 a1 61 50 10
Jan  1 00:04:10 blackfin user.warn kernel: libertas Tx Data: 19 20 e3 8c 
00 00
Jan  1 00:04:10 blackfin user.debug kernel: libertas enter (INT): 
if_sdio_host_to_card(type 0, bytes 78):726
Jan  1 00:04:10 blackfin user.debug kernel: libertas leave (INT): 
if_sdio_host_to_card():800, ret 0
Jan  1 00:04:10 blackfin user.debug kernel: libertas tx (INT): 
SendSinglePacket succeeds
Jan  1 00:04:10 blackfin user.debug kernel: libertas leave (INT): 
SendSinglePacket():162, ret 0
Jan  1 00:04:10 blackfin user.debug kernel: libertas leave (INT): 
libertas_process_tx():234, ret 0
Jan  1 00:04:10 blackfin user.debug kernel: libertas leave (INT): 
libertas_hard_start_xmit():529, ret 0
Jan  1 00:04:10 blackfin user.debug kernel: libertas leave (INT): 
libertas_pre_start_xmit():575, ret 0
Jan  1 00:04:10 blackfin user.debug kernel: libertas enter: 
if_sdio_host_to_card_worker():379




More information about the libertas-dev mailing list