diff --git a/drivers/net/wireless/realtek/rtw89/mac80211.c b/drivers/net/wireless/realtek/rtw89/mac80211.c index 067951b24500..7ad1ffb43029 100644 --- a/drivers/net/wireless/realtek/rtw89/mac80211.c +++ b/drivers/net/wireless/realtek/rtw89/mac80211.c @@ -893,11 +893,14 @@ static void rtw89_ops_cancel_hw_scan(struct ieee80211_hw *hw, if (!RTW89_CHK_FW_FEATURE(SCAN_OFFLOAD, &rtwdev->fw)) return; + mutex_lock(&rtwdev->mutex); + if (!rtwdev->scanning) - return; + goto out; - mutex_lock(&rtwdev->mutex); rtw89_hw_scan_abort(rtwdev, vif); + +out: mutex_unlock(&rtwdev->mutex); }