diff --git a/core/hdd/src/wlan_hdd_scan.c b/core/hdd/src/wlan_hdd_scan.c index 857f45411a4e..9dea285047ba 100644 --- a/core/hdd/src/wlan_hdd_scan.c +++ b/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)) {