I'm now able able to prevent the CM9 to lock up.
I changed the RX/TX DMA burst size from 128 bytes to 16 bytes.
When I stream TCP data, I still some issues. The TX queue gets stuck and when 
it 
tries to reset it cannot stop the RX dma.

ath5k phy0: (ath5k_tx_complete_poll_work:2306): TX queue stuck 2
ath5k phy0: (ath5k_tx_complete_poll_work:2321): TX queues stuck, resetting
ath5k phy0: (ath5k_reset:2665): resetting
ath5k phy0: (ath5k_hw_stop_rx_dma:77): failed to stop RX DMA !
ath5k phy0: (ath5k_rx_start:1120): cachelsz 32 rx_bufsize 2368


As a result my TCP connection is interrupted and recovers. 

Here are the queue stats from debugfs:

available txbuffers: 196
00: setup
  len: 0 bufs: 0
  stuck: 0
01: setup
  len: 0 bufs: 0
  stuck: 0
02: setup
  len: 4 bufs: 4
  stuck: 16
03: setup
  len: 0 bufs: 0
  stuck: 0
04: not setup
05: not setup
06: setup
  len: 0 bufs: 0
  stuck: 0
07: not setup
08: not setup
09: not setup

As a side note, on the same platform (ARM9-297 Mhz)I can have an AR9160 or 
AR9220 (using ath9k) it works great. Any idea why with ath5k I'm running inot 
these issues?

_______________________________________________
ath5k-devel mailing list
ath5k-devel@lists.ath5k.org
https://lists.ath5k.org/mailman/listinfo/ath5k-devel

Reply via email to