wifi: ath12k: ath12k_mac_op_sta_state(): clean up update_wk cancellation
authorKalle Valo <quic_kvalo@quicinc.com>
Mon, 7 Oct 2024 16:59:32 +0000 (19:59 +0300)
committerJeff Johnson <quic_jjohnson@quicinc.com>
Fri, 11 Oct 2024 14:21:54 +0000 (07:21 -0700)
Now that we have switched to using wiphy_lock() there's no need to have
update_wk cancel call separately, for consistency move it to the rest of code
handling IEEE80211_STA_NONE state.

No functional changes.

Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.0.c5-00481-QCAHMTSWPL_V1.0_V2.0_SILICONZ-3

Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>
Link: https://patch.msgid.link/20241007165932.78081-7-kvalo@kernel.org
Signed-off-by: Jeff Johnson <quic_jjohnson@quicinc.com>
drivers/net/wireless/ath/ath12k/mac.c

index 0c0b87a6e9fad6541c38f0ea0bf1a05d15197ffb..d4b438e4b7bfd353d1b40d84f55a062aaaad843c 100644 (file)
@@ -4569,11 +4569,6 @@ static int ath12k_mac_op_sta_state(struct ieee80211_hw *hw,
        struct ath12k_peer *peer;
        int ret = 0;
 
-       /* cancel must be done outside the mutex to avoid deadlock */
-       if ((old_state == IEEE80211_STA_NONE &&
-            new_state == IEEE80211_STA_NOTEXIST))
-               wiphy_work_cancel(hw->wiphy, &arsta->update_wk);
-
        ar = ath12k_get_ar_by_vif(hw, vif);
        if (!ar) {
                WARN_ON_ONCE(1);
@@ -4594,6 +4589,8 @@ static int ath12k_mac_op_sta_state(struct ieee80211_hw *hw,
                                    sta->addr, arvif->vdev_id);
        } else if ((old_state == IEEE80211_STA_NONE &&
                    new_state == IEEE80211_STA_NOTEXIST)) {
+               wiphy_work_cancel(hw->wiphy, &arsta->update_wk);
+
                if (arvif->vdev_type == WMI_VDEV_TYPE_STA) {
                        ath12k_bss_disassoc(ar, arvif);
                        ret = ath12k_mac_vdev_stop(arvif);