From patchwork Mon Jan 19 13:12:57 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michal Kazior X-Patchwork-Id: 5658661 X-Patchwork-Delegate: kvalo@adurom.com Return-Path: X-Original-To: patchwork-linux-wireless@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork2.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork2.web.kernel.org (Postfix) with ESMTP id A7A71C058D for ; Mon, 19 Jan 2015 13:13:44 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id D189D20382 for ; Mon, 19 Jan 2015 13:13:43 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 2406A200DF for ; Mon, 19 Jan 2015 13:13:42 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751501AbbASNNk (ORCPT ); Mon, 19 Jan 2015 08:13:40 -0500 Received: from mail-wi0-f173.google.com ([209.85.212.173]:59581 "EHLO mail-wi0-f173.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750850AbbASNNj (ORCPT ); Mon, 19 Jan 2015 08:13:39 -0500 Received: by mail-wi0-f173.google.com with SMTP id r20so15489599wiv.0 for ; Mon, 19 Jan 2015 05:13:33 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tieto.com; s=google; h=from:to:cc:subject:date:message-id; bh=GCQyYDkJ587C7/lCoFCpWXzrBRu6tfKxTIxhOSNnEYE=; b=j3+jv/EMbhuzvlWl3KW4fRsOu7OklVQ0lMIKvfswljAeP8cIZbqoIh534ArdCJjtGT 6eOgWgljyKe7ywsqLVyfNPMBqAXrZkIc0m/rcEizA9NAKzP36tRD7C3/AdRfPyhmYNy5 Tm8ZqLW2tjfdkZrgwN35Vb6q/18Kro7lKo1Uw= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=GCQyYDkJ587C7/lCoFCpWXzrBRu6tfKxTIxhOSNnEYE=; b=XdGsXig5Fh615wjv3UmoNwgqFIzyWMu/MvoSh2zeYSMifOisK4FijSk6pNl5YOSjzH V+xnfus0xoGxuPd3f70M/8zz0P/eeYOkrVBPgwquz2jHd2M4Ib1oDpIzvsLi3pg287Yg uHFiSaSdTQaTfkLXN/uEsgYhHHxHxCuJC8YlebUwyv3zkYiBgkgvGhGXaJU7DYk2Nqlk eFhFnKhe+5Mq9/D3ZafBvlZK7U0f5Jk/P5HYzHKmpKffuzuVe1xXdrOmYzm/9/cdli6e Y7O/PpNJX6Pdpei+bn2bPtwKHCSTQHskYhCdQSf9joJemgkDHMJ7O+3j92VZMKJYPXlz fF7w== X-Gm-Message-State: ALoCoQlod14gvHnmRJlG4dlorZwZiTsIDRE1oo6YkHhI3bCqtpBMGqtBAx6hoc21l8DtJfjhHpOFV8hRnjIjM+ZashaqXWAJOkdooGjcGTeuxXqpOVQ/GDwTpRBrFRfLMYENC8m5I4I3 X-Received: by 10.194.110.69 with SMTP id hy5mr60373101wjb.121.1421673213622; Mon, 19 Jan 2015 05:13:33 -0800 (PST) Received: from bob.homerouter.cpe (apn-46-76-65-212.dynamic.gprs.plus.pl. [46.76.65.212]) by mx.google.com with ESMTPSA id qg11sm14145721wic.17.2015.01.19.05.13.32 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 19 Jan 2015 05:13:33 -0800 (PST) From: Michal Kazior To: ath10k@lists.infradead.org Cc: linux-wireless@vger.kernel.org, Michal Kazior Subject: [PATCH] ath10k: fix nullfunc workaround Date: Mon, 19 Jan 2015 14:12:57 +0100 Message-Id: <1421673177-2245-1-git-send-email-michal.kazior@tieto.com> X-Mailer: git-send-email 1.8.5.3 X-DomainID: tieto.com 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=ham 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 The workaround couldn't work correctly because the 802.11 header wasn't properly stripped of QoS Data bit so it wasn't recognized in the later parts of tx path as NullFunc frame and ended up in HTT Tx instead of HTT Mgmt Tx. Signed-off-by: Michal Kazior --- drivers/net/wireless/ath/ath10k/mac.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/net/wireless/ath/ath10k/mac.c b/drivers/net/wireless/ath/ath10k/mac.c index 9524bc5..82c567d 100644 --- a/drivers/net/wireless/ath/ath10k/mac.c +++ b/drivers/net/wireless/ath/ath10k/mac.c @@ -2145,6 +2145,7 @@ static void ath10k_tx_h_nwifi(struct ieee80211_hw *hw, struct sk_buff *skb) * used only for CQM purposes (e.g. hostapd station keepalive ping) so * it is safe to downgrade to NullFunc. */ + hdr = (void *)skb->data; if (ieee80211_is_qos_nullfunc(hdr->frame_control)) { hdr->frame_control &= ~__cpu_to_le16(IEEE80211_STYPE_QOS_DATA); cb->htt.tid = HTT_DATA_TX_EXT_TID_NON_QOS_MCAST_BCAST;