|
@@ -687,10 +687,18 @@ static void wcn36xx_cancel_hw_scan(struct ieee80211_hw *hw,
|
|
|
wcn->scan_aborted = true;
|
|
|
mutex_unlock(&wcn->scan_lock);
|
|
|
|
|
|
- /* ieee80211_scan_completed will be called on FW scan indication */
|
|
|
- wcn36xx_smd_stop_hw_scan(wcn);
|
|
|
+ if (get_feat_caps(wcn->fw_feat_caps, SCAN_OFFLOAD)) {
|
|
|
+ /* ieee80211_scan_completed will be called on FW scan
|
|
|
+ * indication */
|
|
|
+ wcn36xx_smd_stop_hw_scan(wcn);
|
|
|
+ } else {
|
|
|
+ struct cfg80211_scan_info scan_info = {
|
|
|
+ .aborted = true,
|
|
|
+ };
|
|
|
|
|
|
- cancel_work_sync(&wcn->scan_work);
|
|
|
+ cancel_work_sync(&wcn->scan_work);
|
|
|
+ ieee80211_scan_completed(wcn->hw, &scan_info);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
static void wcn36xx_update_allowed_rates(struct ieee80211_sta *sta,
|