Message ID | 1441176665-3365-1-git-send-email-c_mpubbi@qti.qualcomm.com (mailing list archive) |
---|---|
State | Accepted |
Headers | show |
<c_mpubbi@qti.qualcomm.com> writes: > From: Manikanta Pubbisetty <c_mpubbi@qti.qualcomm.com> > > Sometimes hardware reports invalid mcs index in rx descriptor > when operating in VHT80 mode and all packets with invalid mcs > will be eventually dropped in mac80211. This issue is observerd during > testing on QCA99X0 chipsets. > > This patch adds a warn message for dumping the rx desc info which helps > in analysing the issue when invalid mcs is received. > > Signed-off-by: Manikanta Pubbisetty <c_mpubbi@qti.qualcomm.com> Thanks, applied. I just changed the commit title a bit: commit 6ccea107eba46fbc7de40e944bf17145c2809666 Author: Manikanta Pubbisetty <c_mpubbi@qti.qualcomm.com> Date: Wed Sep 2 17:05:27 2015 +0300 ath10k: print invalid mcs reported in rx descriptor
diff --git a/drivers/net/wireless/ath/ath10k/htt_rx.c b/drivers/net/wireless/ath/ath10k/htt_rx.c index 1b7a043..9985772 100644 --- a/drivers/net/wireless/ath/ath10k/htt_rx.c +++ b/drivers/net/wireless/ath/ath10k/htt_rx.c @@ -697,6 +697,29 @@ static void ath10k_htt_rx_h_rates(struct ath10k *ar, bw = info2 & 3; sgi = info3 & 1; + if (mcs > 0x09) { + ath10k_warn(ar, "invalid MCS received %u\n", mcs); + ath10k_warn(ar, "rxd %08x mpdu start %08x %08x msdu start %08x %08x ppdu start %08x %08x %08x %08x %08x\n", + __le32_to_cpu(rxd->attention.flags), + __le32_to_cpu(rxd->mpdu_start.info0), + __le32_to_cpu(rxd->mpdu_start.info1), + __le32_to_cpu(rxd->msdu_start.common.info0), + __le32_to_cpu(rxd->msdu_start.common.info1), + rxd->ppdu_start.info0, + __le32_to_cpu(rxd->ppdu_start.info1), + __le32_to_cpu(rxd->ppdu_start.info2), + __le32_to_cpu(rxd->ppdu_start.info3), + __le32_to_cpu(rxd->ppdu_start.info4)); + + ath10k_warn(ar, "msdu end %08x mpdu end %08x\n", + __le32_to_cpu(rxd->msdu_end.common.info0), + __le32_to_cpu(rxd->mpdu_end.info0)); + + ath10k_dbg_dump(ar, ATH10K_DBG_HTT_DUMP, NULL, + "rx desc msdu payload: ", + rxd->msdu_payload, 50); + } + status->rate_idx = mcs; status->vht_nss = nss;