From: Johannes Berg Date: Sun, 10 May 2026 20:48:28 +0000 (+0300) Subject: wifi: iwlwifi: mld: disable queue hang detection for NAN data X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ac25c511108c3068b170244f8d833bcc1f721bc2;p=thirdparty%2Fkernel%2Flinux.git wifi: iwlwifi: mld: disable queue hang detection for NAN data Since peers on NAN data might just use ULW and/or break the schedule, disable queue hang detection for them. Signed-off-by: Johannes Berg Link: https://patch.msgid.link/20260510234534.9886987db700.Ifd879478bc30af25de0eada6143dbc3e6a548068@changeid Signed-off-by: Miri Korenblit --- diff --git a/drivers/net/wireless/intel/iwlwifi/mld/tx.c b/drivers/net/wireless/intel/iwlwifi/mld/tx.c index 546d09a38dab4..7903ce2b0bebd 100644 --- a/drivers/net/wireless/intel/iwlwifi/mld/tx.c +++ b/drivers/net/wireless/intel/iwlwifi/mld/tx.c @@ -1,6 +1,6 @@ // SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause /* - * Copyright (C) 2024 - 2025 Intel Corporation + * Copyright (C) 2024 - 2026 Intel Corporation */ #include @@ -71,14 +71,19 @@ static int iwl_mld_allocate_txq(struct iwl_mld *mld, struct ieee80211_txq *txq) { u8 tid = txq->tid == IEEE80211_NUM_TIDS ? IWL_MGMT_TID : txq->tid; u32 fw_sta_mask = iwl_mld_fw_sta_id_mask(mld, txq->sta); - /* We can't know when the station is asleep or awake, so we - * must disable the queue hang detection. - */ - unsigned int watchdog_timeout = txq->vif->type == NL80211_IFTYPE_AP ? - IWL_WATCHDOG_DISABLED : - mld->trans->mac_cfg->base->wd_timeout; + unsigned int watchdog_timeout; int queue, size; + switch (txq->vif->type) { + case NL80211_IFTYPE_AP: /* STA might go to PS */ + case NL80211_IFTYPE_NAN_DATA: /* peer might ULW/break schedule */ + watchdog_timeout = IWL_WATCHDOG_DISABLED; + break; + default: + watchdog_timeout = mld->trans->mac_cfg->base->wd_timeout; + break; + } + lockdep_assert_wiphy(mld->wiphy); if (tid == IWL_MGMT_TID)