From patchwork Wed Sep 2 06:51:05 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: c_mpubbi@qti.qualcomm.com X-Patchwork-Id: 7108711 X-Patchwork-Delegate: kvalo@adurom.com Return-Path: X-Original-To: patchwork-linux-wireless@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork1.web.kernel.org (Postfix) with ESMTP id 85C269F1CD for ; Wed, 2 Sep 2015 06:51:37 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id B29D520642 for ; Wed, 2 Sep 2015 06:51:36 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id A93C4204CF for ; Wed, 2 Sep 2015 06:51:35 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752189AbbIBGvd (ORCPT ); Wed, 2 Sep 2015 02:51:33 -0400 Received: from sabertooth02.qualcomm.com ([65.197.215.38]:22007 "EHLO sabertooth02.qualcomm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750852AbbIBGvd (ORCPT ); Wed, 2 Sep 2015 02:51:33 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=qti.qualcomm.com; i=@qti.qualcomm.com; q=dns/txt; s=qcdkim; t=1441176692; x=1472712692; h=from:to:cc:subject:date:message-id:mime-version; bh=RUPOVWvBki7r7J0UQ6qbJXePtUnSkGM/d1qNf77K75Q=; b=OCbqMs3t3jV61UBBjoWwjfjxI78woVX6cfwup0CJalyt0oC4tewiX7mZ RWGxag5oQnQCrW00GORYaQSVTl1aQeERHvqHlNLLSfeHXXzIDExhzrdSw UmEpn6uWeofuapaPXEsR/jr5VEmSBbtKCzVEXyl5rt24qnf7dXy8SwOgU 0=; X-IronPort-AV: E=McAfee;i="5700,7163,7911"; a="97063229" Received: from ironmsg01-lv.qualcomm.com ([10.47.202.180]) by sabertooth02.qualcomm.com with ESMTP; 01 Sep 2015 23:51:32 -0700 X-IronPort-AV: E=Sophos;i="5.17,451,1437462000"; d="scan'208";a="34057752" Received: from nasanexm01a.na.qualcomm.com ([10.85.0.81]) by ironmsg01-lv.qualcomm.com with ESMTP/TLS/RC4-SHA; 01 Sep 2015 23:51:32 -0700 Received: from aphydexm01f.ap.qualcomm.com (10.252.127.15) by nasanexm01a.na.qualcomm.com (10.85.0.81) with Microsoft SMTP Server (TLS) id 15.0.1076.9; Tue, 1 Sep 2015 23:51:30 -0700 Received: from localhost (10.80.80.8) by aphydexm01f.ap.qualcomm.com (10.252.127.15) with Microsoft SMTP Server (TLS) id 15.0.1076.9; Tue, 1 Sep 2015 23:51:24 -0700 From: To: CC: , Manikanta Pubbisetty Subject: [PATCH] ath10k: invalid mcs reported in rx descriptor Date: Wed, 2 Sep 2015 12:21:05 +0530 Message-ID: <1441176665-3365-1-git-send-email-c_mpubbi@qti.qualcomm.com> X-Mailer: git-send-email 1.9.1 MIME-Version: 1.0 X-Originating-IP: [10.80.80.8] X-ClientProxiedBy: NASANEXM01F.na.qualcomm.com (10.85.0.32) To aphydexm01f.ap.qualcomm.com (10.252.127.15) Sender: linux-wireless-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org X-Spam-Status: No, score=-6.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_HI,T_DKIM_INVALID,T_RP_MATCHES_RCVD,UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP From: Manikanta Pubbisetty 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 --- drivers/net/wireless/ath/ath10k/htt_rx.c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) 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;