[PATCH] ath10k: Fix ath10k_wmi_tlv_op_pull_peer_stats_info() unlock without lock

2021-04-06 Thread Shuah Khan
_by_ifaddr()") Reported-by: Pavel Machek Signed-off-by: Shuah Khan --- drivers/net/wireless/ath/ath10k/wmi-tlv.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/net/wireless/ath/ath10k/wmi-tlv.c b/drivers/net/wireless/ath/ath10k/wmi-tlv.c index d97b33f789e4..7efbe03fbc

Re: [PATCH v3 0/3] Add lockdep_assert_not_held()

2021-03-01 Thread Shuah Khan
On 3/1/21 4:02 AM, Kalle Valo wrote: Peter Zijlstra writes: On Mon, Mar 01, 2021 at 10:45:32AM +0200, Kalle Valo wrote: Peter Zijlstra writes: On Fri, Feb 26, 2021 at 05:06:57PM -0700, Shuah Khan wrote: Shuah Khan (3): lockdep: add lockdep_assert_not_held() lockdep: add lockdep

[PATCH v3 1/3] lockdep: add lockdep_assert_not_held()

2021-02-26 Thread Shuah Khan
lockdep_assert_not_held(). Link: https://lore.kernel.org/lkml/37a29c383bff2fb1605241ee6c7c9be3784fb3c6.1613171185.git.sk...@linuxfoundation.org/ Link: https://lore.kernel.org/linux-wireless/871rdmu9z9@codeaurora.org/ Signed-off-by: Shuah Khan --- include/linux/lockdep.h | 11 --- kernel

[PATCH v3 3/3] ath10k: detect conf_mutex held ath10k_drain_tx() calls

2021-02-26 Thread Shuah Khan
://lore.kernel.org/lkml/37a29c383bff2fb1605241ee6c7c9be3784fb3c6.1613171185.git.sk...@linuxfoundation.org/ Link: https://lore.kernel.org/linux-wireless/871rdmu9z9@codeaurora.org/ Acked-by: Kalle Valo Signed-off-by: Shuah Khan --- drivers/net/wireless/ath/ath10k/mac.c | 2 ++ 1 file changed, 2 insertions

[PATCH v3 2/3] lockdep: add lockdep lock state defines

2021-02-26 Thread Shuah Khan
) and __lock_is_held() to use the new defines. Link: https://lore.kernel.org/lkml/37a29c383bff2fb1605241ee6c7c9be3784fb3c6.1613171185.git.sk...@linuxfoundation.org/ Link: https://lore.kernel.org/linux-wireless/871rdmu9z9@codeaurora.org/ Signed-off-by: Shuah Khan --- include/linux/lockdep.h

[PATCH v3 0/3] Add lockdep_assert_not_held()

2021-02-26 Thread Shuah Khan
s the new interface in ath10k_drain_tx() function. Added Kalle Valo's Ack from v1 for this change. Tested on the mainline from yesterday. Shuah Khan (3): lockdep: add lockdep_assert_not_held() lockdep: add lockdep lock state defines ath10k: detect conf_mutex held ath10k_drain_tx() calls

Re: [PATCH v2 1/3] lockdep: add lockdep_assert_not_held()

2021-02-26 Thread Shuah Khan
On 2/26/21 2:07 PM, Peter Zijlstra wrote: On Fri, Feb 26, 2021 at 10:52:13AM -0700, Shuah Khan wrote: + /* avoid false negative lockdep_assert_not_held() +* and lockdep_assert_held() +*/ That's a coding style fail. Checkpatch didn'

Re: [PATCH v2 2/3] lockdep: add lockdep lock state defines

2021-02-26 Thread Shuah Khan
On 2/26/21 11:03 AM, Johannes Berg wrote: @@ -5475,7 +5476,7 @@ noinstr int lock_is_held_type(const struct lockdep_map *lock, int read) /* avoid false negative lockdep_assert_not_held() * and lockdep_assert_held() */ - return -1;

Re: [PATCH 5/5] ath10k: reduce invalid ht params rate message noise

2021-02-26 Thread Shuah Khan
On 2/11/21 4:24 AM, Kalle Valo wrote: Shuah Khan writes: On 2/10/21 1:28 AM, Kalle Valo wrote: Wen Gong writes: On 2021-02-10 08:42, Shuah Khan wrote: ath10k_mac_get_rate_flags_ht() floods dmesg with the following messages, when it fails to find a match for mcs=7 and rate=1440

[PATCH v2 1/3] lockdep: add lockdep_assert_not_held()

2021-02-26 Thread Shuah Khan
lockdep_assert_not_held(). Link: https://lore.kernel.org/lkml/37a29c383bff2fb1605241ee6c7c9be3784fb3c6.1613171185.git.sk...@linuxfoundation.org/ Link: https://lore.kernel.org/linux-wireless/871rdmu9z9@codeaurora.org/ Signed-off-by: Shuah Khan --- include/linux/lockdep.h | 11 --- kernel

[PATCH v2 2/3] lockdep: add lockdep lock state defines

2021-02-26 Thread Shuah Khan
/lkml/37a29c383bff2fb1605241ee6c7c9be3784fb3c6.1613171185.git.sk...@linuxfoundation.org/ Link: https://lore.kernel.org/linux-wireless/871rdmu9z9@codeaurora.org/ Signed-off-by: Shuah Khan --- include/linux/lockdep.h | 11 +-- kernel/locking/lockdep.c | 3 ++- 2 files changed, 11 inser

[PATCH v2 3/3] ath10k: detect conf_mutex held ath10k_drain_tx() calls

2021-02-26 Thread Shuah Khan
://lore.kernel.org/lkml/37a29c383bff2fb1605241ee6c7c9be3784fb3c6.1613171185.git.sk...@linuxfoundation.org/ Link: https://lore.kernel.org/linux-wireless/871rdmu9z9@codeaurora.org/ Acked-by: Kalle Valo Signed-off-by: Shuah Khan --- drivers/net/wireless/ath/ath10k/mac.c | 2 ++ 1 file changed, 2 insertions

[PATCH v2 0/3] Add lockdep_assert_not_held()

2021-02-26 Thread Shuah Khan
from yesterday. Shuah Khan (3): lockdep: add lockdep_assert_not_held() lockdep: add lockdep lock state defines ath10k: detect conf_mutex held ath10k_drain_tx() calls drivers/net/wireless/ath/ath10k/mac.c | 2 ++ include/linux/lockdep.h | 18 +++--- kernel/loc

Re: [PATCH 1/2] lockdep: add lockdep_assert_not_held()

2021-02-22 Thread Shuah Khan
On 2/15/21 9:10 AM, Johannes Berg wrote: On Mon, 2021-02-15 at 17:04 +0100, Peter Zijlstra wrote: On Mon, Feb 15, 2021 at 02:12:30PM +0100, Johannes Berg wrote: On Mon, 2021-02-15 at 11:44 +0100, Peter Zijlstra wrote: I think something like so will work, but please double check. Yeah, that l

[PATCH 2/2] ath10k: detect conf_mutex held ath10k_drain_tx() calls

2021-02-12 Thread Shuah Khan
://lore.kernel.org/linux-wireless/871rdmu9z9@codeaurora.org/ Signed-off-by: Shuah Khan --- drivers/net/wireless/ath/ath10k/mac.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/net/wireless/ath/ath10k/mac.c b/drivers/net/wireless/ath/ath10k/mac.c index c202b167d8c6..7de05b679ad2 100644 --- a

[PATCH 1/2] lockdep: add lockdep_assert_not_held()

2021-02-12 Thread Shuah Khan
lockdep_assert_not_held() came up in a discussion on ath10k patch. ath10k_drain_tx() and i915_vma_pin_ww() are examples of functions that can use lockdep_assert_not_held(). Link: https://lore.kernel.org/linux-wireless/871rdmu9z9@codeaurora.org/ Signed-off-by: Shuah Khan --- include/linux/lockdep.h | 7

[PATCH 0/2] Add lockdep_assert_not_held()

2021-02-12 Thread Shuah Khan
the second patch in ath10k_drain_tx() function. Shuah Khan (2): lockdep: add lockdep_assert_not_held() ath10k: detect conf_mutex held ath10k_drain_tx() calls drivers/net/wireless/ath/ath10k/mac.c | 2 ++ include/linux/lockdep.h | 7 ++- 2 files changed, 8 insertions(+), 1

Re: [PATCH 4/5] ath10k: detect conf_mutex held ath10k_drain_tx() calls

2021-02-11 Thread Shuah Khan
On 2/11/21 4:20 AM, Kalle Valo wrote: Shuah Khan writes: On 2/10/21 1:25 AM, Kalle Valo wrote: Shuah Khan writes: ath10k_drain_tx() must not be called with conf_mutex held as workers can use that also. Add check to detect conf_mutex held calls. Signed-off-by: Shuah Khan The commit log

[PATCH v2] ath10k: hold RCU lock when calling ieee80211_find_sta_by_ifaddr()

2021-02-10 Thread Shuah Khan
needed. This problem was found while reviewing code to debug RCU warn from ath10k_wmi_tlv_parse_peer_stats_info(). Link: https://lore.kernel.org/linux-wireless/7230c9e5-2632-b77e-c4f9-10eca557a...@linuxfoundation.org/ Signed-off-by: Shuah Khan --- Changes since v1: - v1 also included fix to

Re: [PATCH 2/5] ath10k: fix WARNING: suspicious RCU usage

2021-02-10 Thread Shuah Khan
On 2/10/21 1:13 AM, Kalle Valo wrote: Shuah Khan wrote: ieee80211_find_sta_by_ifaddr() must be called under the RCU lock and the resulting pointer is only valid under RCU lock as well. Fix ath10k_wmi_tlv_parse_peer_stats_info() to hold RCU lock before it calls ieee80211_find_sta_by_ifaddr

Re: [PATCH 1/5] ath10k: fix conf_mutex lock assert in ath10k_debug_fw_stats_request()

2021-02-10 Thread Shuah Khan
On 2/10/21 1:09 AM, Kalle Valo wrote: Shuah Khan wrote: ath10k_debug_fw_stats_request() is called ath10k_sta_statistics() without holding conf_mutex. ath10k_debug_fw_stats_request() simply returns when CONFIG_ATH10K_DEBUGFS is disabled. When CONFIG_ATH10K_DEBUGFS is enabled

Re: [PATCH 5/5] ath10k: reduce invalid ht params rate message noise

2021-02-10 Thread Shuah Khan
On 2/10/21 1:28 AM, Kalle Valo wrote: Wen Gong writes: On 2021-02-10 08:42, Shuah Khan wrote: ath10k_mac_get_rate_flags_ht() floods dmesg with the following messages, when it fails to find a match for mcs=7 and rate=1440. supported_ht_mcs_rate_nss2: {7, {1300, 2700, 1444, 3000

Re: [PATCH 4/5] ath10k: detect conf_mutex held ath10k_drain_tx() calls

2021-02-10 Thread Shuah Khan
On 2/10/21 1:25 AM, Kalle Valo wrote: Shuah Khan writes: ath10k_drain_tx() must not be called with conf_mutex held as workers can use that also. Add check to detect conf_mutex held calls. Signed-off-by: Shuah Khan The commit log does not answer to "Why?". How did you find

[PATCH 3/5] ath10k: change ath10k_offchan_tx_work() peer present msg to a warn

2021-02-09 Thread Shuah Khan
Based on the comment block in this function and the FIXME for this, peer being present for the offchannel tx is unlikely. Peer is deleted once tx is complete. Change peer present msg to a warn to detect this condition. Signed-off-by: Shuah Khan --- drivers/net/wireless/ath/ath10k/mac.c | 5

[PATCH 4/5] ath10k: detect conf_mutex held ath10k_drain_tx() calls

2021-02-09 Thread Shuah Khan
ath10k_drain_tx() must not be called with conf_mutex held as workers can use that also. Add check to detect conf_mutex held calls. Signed-off-by: Shuah Khan --- drivers/net/wireless/ath/ath10k/mac.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/net/wireless/ath/ath10k/mac.c b

[PATCH 1/5] ath10k: fix conf_mutex lock assert in ath10k_debug_fw_stats_request()

2021-02-09 Thread Shuah Khan
nabled at (520903): [] console_unlock+0x4e5/0x5d0 hardirqs last disabled at (520908): [] console_unlock+0x458/0x5d0 softirqs last enabled at (520722): [] asm_call_irq_on_stack+0x12/0x20 softirqs last disabled at (520717): [] asm_call_irq_on_stack+0x12/0x20 Signed-off-by: Shuah Khan --- drivers/net/wireless/ath

[PATCH 2/5] ath10k: fix WARNING: suspicious RCU usage

2021-02-09 Thread Shuah Khan
+0x22/0x30 Signed-off-by: Shuah Khan --- drivers/net/wireless/ath/ath10k/wmi-tlv.c | 15 +++ 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/drivers/net/wireless/ath/ath10k/wmi-tlv.c b/drivers/net/wireless/ath/ath10k/wmi-tlv.c index 7b5834157fe5..615157dd6866 100644

[PATCH 0/5] ath10k fixes for warns

2021-02-09 Thread Shuah Khan
and RCU usage bugs. The last patch (5/5) is a fix to reduce invalid ht params rate message noise. Patch 3/4 changes a message from debug to warn. Patch 4 adds detect to assert not calling ath10k_drain_tx() holding conf_mutex. Shuah Khan (5): ath10k: fix conf_mutex lock assert in

[PATCH 5/5] ath10k: reduce invalid ht params rate message noise

2021-02-09 Thread Shuah Khan
x27;t helping the noise. Use dev_warn_once() instead. Signed-off-by: Shuah Khan --- drivers/net/wireless/ath/ath10k/mac.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/net/wireless/ath/ath10k/mac.c b/drivers/net/wireless/ath/ath10k/mac.c index 3545ce7dce0a..276321f