|
@@ -469,21 +469,6 @@ EXPORT_SYMBOL(iwl_init_scan_params);
|
|
|
|
|
|
static int iwl_scan_initiate(struct iwl_priv *priv)
|
|
|
{
|
|
|
- if (!iwl_is_ready_rf(priv)) {
|
|
|
- IWL_DEBUG_SCAN(priv, "Aborting scan due to not ready.\n");
|
|
|
- return -EIO;
|
|
|
- }
|
|
|
-
|
|
|
- if (test_bit(STATUS_SCANNING, &priv->status)) {
|
|
|
- IWL_DEBUG_SCAN(priv, "Scan already in progress.\n");
|
|
|
- return -EAGAIN;
|
|
|
- }
|
|
|
-
|
|
|
- if (test_bit(STATUS_SCAN_ABORTING, &priv->status)) {
|
|
|
- IWL_DEBUG_SCAN(priv, "Scan request while abort pending\n");
|
|
|
- return -EAGAIN;
|
|
|
- }
|
|
|
-
|
|
|
IWL_DEBUG_INFO(priv, "Starting scan...\n");
|
|
|
set_bit(STATUS_SCANNING, &priv->status);
|
|
|
priv->is_internal_short_scan = false;
|
|
@@ -515,6 +500,18 @@ int iwl_mac_hw_scan(struct ieee80211_hw *hw,
|
|
|
goto out_unlock;
|
|
|
}
|
|
|
|
|
|
+ if (test_bit(STATUS_SCANNING, &priv->status)) {
|
|
|
+ IWL_DEBUG_SCAN(priv, "Scan already in progress.\n");
|
|
|
+ ret = -EAGAIN;
|
|
|
+ goto out_unlock;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (test_bit(STATUS_SCAN_ABORTING, &priv->status)) {
|
|
|
+ IWL_DEBUG_SCAN(priv, "Scan request while abort pending\n");
|
|
|
+ ret = -EAGAIN;
|
|
|
+ goto out_unlock;
|
|
|
+ }
|
|
|
+
|
|
|
/* We don't schedule scan within next_scan_jiffies period.
|
|
|
* Avoid scanning during possible EAPOL exchange, return
|
|
|
* success immediately.
|