Просмотр исходного кода

qcacld-3.0: Avoid OBSS scan fail during SSR

When SSR is in progress, OBSS vendor scan request is rejected with
reason code -EAGAIN, but hostapd doesn't consider this reason code
and resulting in the failure of hotspot start.

To fix this, return error code -EBUSY which makes hostapd to reissue
OBSS scan.

Change-Id: I71119f542011aebece5692347ceb99f4a65decef
CRs-Fixed: 2443341
Rajeev Kumar Sirasanagandla 6 лет назад
Родитель
Сommit
105318b8b0
1 измененных файлов с 9 добавлено и 1 удалено
  1. 9 1
      core/hdd/src/wlan_hdd_scan.c

+ 9 - 1
core/hdd/src/wlan_hdd_scan.c

@@ -959,8 +959,16 @@ static int __wlan_hdd_cfg80211_vendor_scan(struct wiphy *wiphy,
 	hdd_enter_dev(wdev->netdev);
 
 	ret = wlan_hdd_validate_context(hdd_ctx);
-	if (0 != ret)
+	if (ret) {
+		/*
+		 * During SSR, if -EBUSY is returned then OBSS vendor scan is
+		 * not issued immediately.
+		 */
+		if (ret == -EAGAIN)
+			return -EBUSY;
+
 		return ret;
+	}
 
 	if (wlan_cfg80211_nla_parse(tb, QCA_WLAN_VENDOR_ATTR_SCAN_MAX,
 				    data, data_len, scan_policy)) {