Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1759353AbcLUO3v (ORCPT ); Wed, 21 Dec 2016 09:29:51 -0500 Received: from wolverine02.qualcomm.com ([199.106.114.251]:5197 "EHLO wolverine02.qualcomm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752092AbcLUO3s (ORCPT ); Wed, 21 Dec 2016 09:29:48 -0500 X-IronPort-AV: E=Sophos;i="5.33,383,1477983600"; d="scan'208";a="345471601" Cc: , , , , , , , , , , "Tobias Klausmann" , "# v4 . 9" X-IronPort-AV: E=McAfee;i="5700,7163,8385"; a="1282703055" X-Amp-Result: CLEAN Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: Re: [v2] ath9k: do not return early to fix rcu unlocking From: Kalle Valo In-Reply-To: <20161213170807.4853-1-tobias.johannes.klausmann@mni.thm.de> References: <20161213170807.4853-1-tobias.johannes.klausmann@mni.thm.de> To: Tobias Klausmann User-Agent: pwcli/0.0.0-git (https://github.com/kvalo/pwcli/) Python/2.7.3 Message-ID: Date: Wed, 21 Dec 2016 15:29:20 +0100 X-Originating-IP: [10.80.80.8] X-ClientProxiedBy: nasanexm01a.na.qualcomm.com (10.85.0.81) To euamsexm01a.eu.qualcomm.com (10.251.127.40) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2475 Lines: 63 Tobias Klausmann wrote: > Starting with commit d94a461d7a7d ("ath9k: use ieee80211_tx_status_noskb > where possible") the driver uses rcu_read_lock() && rcu_read_unlock(), yet on > returning early in ath_tx_edma_tasklet() the unlock is missing leading to stalls > and suspicious RCU usage: > > =============================== > [ INFO: suspicious RCU usage. ] > 4.9.0-rc8 #11 Not tainted > ------------------------------- > kernel/rcu/tree.c:705 Illegal idle entry in RCU read-side critical section.! > > other info that might help us debug this: > > RCU used illegally from idle CPU! > rcu_scheduler_active = 1, debug_locks = 0 > RCU used illegally from extended quiescent state! > 1 lock held by swapper/7/0: > #0: > ( > rcu_read_lock > ){......} > , at: > [] ath_tx_edma_tasklet+0x0/0x450 [ath9k] > > stack backtrace: > CPU: 7 PID: 0 Comm: swapper/7 Not tainted 4.9.0-rc8 #11 > Hardware name: Acer Aspire V3-571G/VA50_HC_CR, BIOS V2.21 12/16/2013 > ffff88025efc3f38 ffffffff8132b1e5 ffff88017ede4540 0000000000000001 > ffff88025efc3f68 ffffffff810a25f7 ffff88025efcee60 ffff88017edebdd8 > ffff88025eeb5400 0000000000000091 ffff88025efc3f88 ffffffff810c3cd4 > Call Trace: > > [] dump_stack+0x68/0x93 > [] lockdep_rcu_suspicious+0xd7/0x110 > [] rcu_eqs_enter_common.constprop.85+0x154/0x200 > [] rcu_irq_exit+0x44/0xa0 > [] irq_exit+0x61/0xd0 > [] do_IRQ+0x65/0x110 > [] common_interrupt+0x89/0x89 > > [] ? cpuidle_enter_state+0x151/0x200 > [] cpuidle_enter+0x12/0x20 > [] call_cpuidle+0x1e/0x40 > [] cpu_startup_entry+0x146/0x220 > [] start_secondary+0x148/0x170 > > Signed-off-by: Tobias Klausmann > Fixes: d94a461d7a7d ("ath9k: use ieee80211_tx_status_noskb where possible") > Cc: # v4.9 > Acked-by: Felix Fietkau Patch applied to ath-current branch of ath.git, thanks. d1f1c0e289e1 ath9k: do not return early to fix rcu unlocking -- https://patchwork.kernel.org/patch/9472709/ Documentation about submitting wireless patches and checking status from patchwork: https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches