|
@@ -1825,8 +1825,6 @@ mwifiex_cfg80211_scan(struct wiphy *wiphy,
|
|
|
return -EBUSY;
|
|
|
}
|
|
|
|
|
|
- priv->scan_request = request;
|
|
|
-
|
|
|
priv->user_scan_cfg = kzalloc(sizeof(struct mwifiex_user_scan_cfg),
|
|
|
GFP_KERNEL);
|
|
|
if (!priv->user_scan_cfg) {
|
|
@@ -1834,6 +1832,8 @@ mwifiex_cfg80211_scan(struct wiphy *wiphy,
|
|
|
return -ENOMEM;
|
|
|
}
|
|
|
|
|
|
+ priv->scan_request = request;
|
|
|
+
|
|
|
priv->user_scan_cfg->num_ssids = request->n_ssids;
|
|
|
priv->user_scan_cfg->ssid_list = request->ssids;
|
|
|
|
|
@@ -1870,6 +1870,9 @@ mwifiex_cfg80211_scan(struct wiphy *wiphy,
|
|
|
ret = mwifiex_scan_networks(priv, priv->user_scan_cfg);
|
|
|
if (ret) {
|
|
|
dev_err(priv->adapter->dev, "scan failed: %d\n", ret);
|
|
|
+ priv->scan_request = NULL;
|
|
|
+ kfree(priv->user_scan_cfg);
|
|
|
+ priv->user_scan_cfg = NULL;
|
|
|
return ret;
|
|
|
}
|
|
|
|