From patchwork Mon Jan 10 22:30:21 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Seiderer X-Patchwork-Id: 12709211 X-Patchwork-Delegate: kvalo@adurom.com Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 96410C433FE for ; Mon, 10 Jan 2022 22:30:36 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1345450AbiAJWae (ORCPT ); Mon, 10 Jan 2022 17:30:34 -0500 Received: from mout.gmx.net ([212.227.17.20]:59285 "EHLO mout.gmx.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1345432AbiAJWad (ORCPT ); Mon, 10 Jan 2022 17:30:33 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1641853825; bh=/vAc/cWpB6Hy72B79vKnewkrZjPB5a5e0t9n4ldSDgE=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date:In-Reply-To:References; b=kpnnFwt6pBnkle2F0xPbCcgsFrs2AI8du3+o3roXsD93oghPDI+kWXrkuUs7f9hWE OwkWyBxf/Yjd9z6boGau31/g0Bqq21ZYS+P0L8Y8xl30+OBzZFJjISVIL5d66KXvPB OeV+UZ0RVtO3ngBo1UmwoYY3rUAsjs1F+iN31wq4= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from localhost.fritz.box ([62.216.209.151]) by mail.gmx.net (mrgmx104 [212.227.17.168]) with ESMTPSA (Nemesis) id 1MbAci-1mVWVV23VA-00beNI; Mon, 10 Jan 2022 23:30:25 +0100 From: Peter Seiderer To: linux-wireless@vger.kernel.org Cc: Jiri Slaby , Nick Kossifidis , Luis Chamberlain , Kalle Valo , "David S . Miller" , Jakub Kicinski , netdev@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v1 5/5] ath5k: fix ah_txq_isr_txok_all setting Date: Mon, 10 Jan 2022 23:30:21 +0100 Message-Id: <20220110223021.17655-5-ps.report@gmx.net> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220110223021.17655-1-ps.report@gmx.net> References: <20220110223021.17655-1-ps.report@gmx.net> MIME-Version: 1.0 X-Provags-ID: V03:K1:Oaji8jUP8E5JVdmIs2XuC/fPruoDCWsfS+NAgngXlxs6gkmMvEr VEPKNHL7Xj40Kh3LcWiMCCBUoidxqK0D1IJYZ8Q9/fpx1cb8+ecFqAuxYmdY2UTw2Z8FOy2 NgwsWQ75tPHoiUUzz1jqCWkKdPNd9yD9A5YqxvL3ZfydgTICK9bWOPmPuG43KWha6NDVrdT Enkh1nKhfMFHi5XNZUe5Q== X-UI-Out-Filterresults: notjunk:1;V03:K0:q+oAgThdpHU=:44G2nolYim/11OA13VZwFu fGirkj/4bvbtjyBz0gse7k0I2gVAbTFBiKD+rNnYZCFZXlRxIs370pjolWegwUBhLeCVJmAdY seezpECorwr8deHSw4W7GdTsg5L8WIbMNmC/8V5Qb+jxWN+iCZ5HAZZYxjK5VDZ9CIh06+6mY G5PZPE5fu0mspSlaZ7pzHbWppJqPf/6aQq1CZehpOrVE8PrRSsZQ8V+njPUBbTnWQpJ6NeRG7 5YS8pAboekHicOe56UZJpY/+OGz5OA2ZPJaTqvoTFxzsv3ozzLDNXGZD9QIkC40tD7bl+eHDy sZREGcQrL8BuXULP8lgOaRFckyMVDjqWYPScnEh2ZJIBaPMMbRfwN1Hq2MnLdYOwfBzSoJmhk +v2b0Q2FFal1g0bgfCgeSUICqQF/NiwmkLcndeHDjEjhKfX1o/1QaD0KsnBD4SSpuwJn6U/mX PU1cu+CuSdq2i6cWyBcKEMmJMjJ3FGDamsF45bxnxT8sJym7RsrJoPcb9vweNuxOyaKSmDxqT SsciNGABeVBrv+pusWxaE1fk0cS1NDJdOFK2vrQyqUycX2ie+WLVXomlLG8DubNs25EWPo6Q5 f7/08J1m8BbrdMmmk8Lxxc3hqQUWlEZe7MnT8AI4gTqQLGMaMcWAbeQKUI94Ih3voQGTHFun1 mTJr/pyw8uEb3ZKvAwaj1vaHzVXJeoiG7S/I6T+eNo4QAmqtIIcLybinJBySlCoViRgZQp1B0 EUho0ue0WWT1ANNBnjZMLsJYtMAzrrKku8IWG0htotucb+k6Ifufqm1Z8QskaZilw5lcny6I7 jxt2LQ+XjpTIA9HohFF22nlOM5bHqicKh5RH/0WIX8t6IbWvaQgpkyQx6OfNLm+Fq3abmF29j G5xzgmxG3go3wTW/eV064KS379CVq8hcfBlenW8BneTGCZzAHUJwBeX/YtUcsztz+eNxxkTlG aY0IL6DE33GQdZcTqMsTDB84EiadBFmxnUiP7K5xBGUlX2RZLBMkyrV6lHqa9IzS4mti++I8v odUshZdljdWlr6G+FEkMlI8VGRSYWFbLEe/ZZ/IsyxN6g4WMw8PeL16O7gKXhh3FkG89hft9f cmfSoCTn4aJAxI= Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org The struct ath5k_hw member ah_txq_isr_txok_all is never reset/assigned outside of ath5k_hw_get_isr() and with the used bitwise-or in the interrupt handling accumulates all ever set interrupt flags. Fix this by clearing ah_txq_isr_txok_all before assigning. Patch tested with Senao NMP-8602 card Qualcomm Atheros AR5413/AR5414 Wireless Network Adapter [AR5006X(S) 802.11abg] (rev 01) ath5k: phy6: Atheros AR5413 chip found (MAC: 0xa4, PHY: 0x61) running IBSS mode against Atheros (ath9k) card using ping and iperf traffic. Signed-off-by: Peter Seiderer --- drivers/net/wireless/ath/ath5k/dma.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/net/wireless/ath/ath5k/dma.c b/drivers/net/wireless/ath/ath5k/dma.c index 2b135a6284a0..d9e376eb040e 100644 --- a/drivers/net/wireless/ath/ath5k/dma.c +++ b/drivers/net/wireless/ath/ath5k/dma.c @@ -650,6 +650,7 @@ ath5k_hw_get_isr(struct ath5k_hw *ah, enum ath5k_int *interrupt_mask) */ *interrupt_mask = (pisr & AR5K_INT_COMMON) & ah->ah_imr; + ah->ah_txq_isr_txok_all = 0; /* We treat TXOK,TXDESC, TXERR and TXEOL * the same way (schedule the tx tasklet)