]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
wifi: iwlwifi: use IWL_FW_CHECK for sync timeout
authorJohannes Berg <johannes.berg@intel.com>
Fri, 20 Mar 2026 08:09:15 +0000 (10:09 +0200)
committerMiri Korenblit <miriam.rachel.korenblit@intel.com>
Wed, 25 Mar 2026 09:31:57 +0000 (11:31 +0200)
This could be a firmware issue, it didn't send all the responses
quickly enough. There are other potential issues (interrupts not
being delivered, etc.) but the FW debug data will at least give
some better information, and it's not a WARN condition anyway.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Link: https://patch.msgid.link/20260320100746.2188e2efbead.I7dc5bd6f581a31ac51d8a854f3b3af4cb980223a@changeid
drivers/net/wireless/intel/iwlwifi/mld/rx.c
drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c

index ff6e71e3ff6ef042fd7ca067618353b83a35134a..6f40d6e47083e5d60ec8f4efb82d7f30c005f014 100644 (file)
@@ -2211,8 +2211,9 @@ void iwl_mld_sync_rx_queues(struct iwl_mld *mld,
        ret = wait_event_timeout(mld->rxq_sync.waitq,
                                 READ_ONCE(mld->rxq_sync.state) == 0,
                                 SYNC_RX_QUEUE_TIMEOUT);
-       WARN_ONCE(!ret, "RXQ sync failed: state=0x%lx, cookie=%d\n",
-                 mld->rxq_sync.state, mld->rxq_sync.cookie);
+       IWL_FW_CHECK(mld, !ret,
+                    "RXQ sync failed: state=0x%lx, cookie=%d\n",
+                    mld->rxq_sync.state, mld->rxq_sync.cookie);
 
 out:
        mld->rxq_sync.state = 0;
index 090791fe06384e1970fde68e78078f1dc24c50d7..1ec9807e48272b9e62c70992ee9d610552d2919c 100644 (file)
@@ -6229,9 +6229,10 @@ void iwl_mvm_sync_rx_queues_internal(struct iwl_mvm *mvm,
                ret = wait_event_timeout(mvm->rx_sync_waitq,
                                         READ_ONCE(mvm->queue_sync_state) == 0,
                                         SYNC_RX_QUEUE_TIMEOUT);
-               WARN_ONCE(!ret, "queue sync: failed to sync, state is 0x%lx, cookie %d\n",
-                         mvm->queue_sync_state,
-                         mvm->queue_sync_cookie);
+               IWL_FW_CHECK(mvm, !ret,
+                            "queue sync: failed to sync, state is 0x%lx, cookie %d\n",
+                            mvm->queue_sync_state,
+                            mvm->queue_sync_cookie);
        }
 
 out: