On Thu, Oct 11, 2012 at 08:14:01AM -0400, Bob Copeland wrote:
> which would indicate that info->control.rates[0].count == 0.  Somehow
> the control block in the tx skb got zeroed?

Can you post the output ('dmesg | grep XXX') with this patch applied?

>From 9fda3fa2386274f22c9dd731db235c574dec7daf Mon Sep 17 00:00:00 2001
From: Bob Copeland <[email protected]>
Date: Fri, 12 Oct 2012 15:39:50 -0400
Subject: [PATCH] ath5k: debug 0 rate retry path

Signed-off-by: Bob Copeland <[email protected]>
---
 drivers/net/wireless/ath/ath5k/base.c |   11 +++++++++++
 1 files changed, 11 insertions(+), 0 deletions(-)

diff --git a/drivers/net/wireless/ath/ath5k/base.c 
b/drivers/net/wireless/ath/ath5k/base.c
index a0a202d..7e08c6a 100644
--- a/drivers/net/wireless/ath/ath5k/base.c
+++ b/drivers/net/wireless/ath/ath5k/base.c
@@ -720,6 +720,17 @@ ath5k_txbuf_setup(struct ath5k_hw *ah, struct ath5k_buf 
*bf,
                duration = le16_to_cpu(ieee80211_ctstoself_duration(ah->hw,
                        info->control.vif, pktlen, info));
        }
+
+       if (!info->control.rates[0].count) {
+               struct ieee80211_hdr *hdr = (struct ieee80211_hdr *)skb->data;
+               printk(KERN_DEBUG "XXX: tx frame with 0 rates!\n");
+               printk(KERN_DEBUG "XXX: skbp: %p\n", skb);
+               print_hex_dump_bytes("XXX txinfo: ", DUMP_PREFIX_OFFSET, info,
+                               sizeof(*info));
+               print_hex_dump_bytes("XXX: frame: ", DUMP_PREFIX_OFFSET, hdr,
+                               sizeof(*hdr));
+       }
+
        ret = ah->ah_setup_tx_desc(ah, ds, pktlen,
                ieee80211_get_hdrlen_from_skb(skb), padsize,
                get_hw_packet_type(skb),
-- 
1.7.2.5


-- 
Bob Copeland %% www.bobcopeland.com
_______________________________________________
Devel mailing list
[email protected]
http://lists.open80211s.org/cgi-bin/mailman/listinfo/devel

Reply via email to