// SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause
/*
- * Copyright (C) 2024 - 2025 Intel Corporation
+ * Copyright (C) 2024 - 2026 Intel Corporation
*/
#include <net/ip.h>
{
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)