Skip to content

Commit

Permalink
iwlagn: refactor scan complete
Browse files Browse the repository at this point in the history
We'll need to be able to run scan complete
inline, not from the workqueue, so refactor
it.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
  • Loading branch information
Johannes Berg authored and John W. Linville committed Sep 27, 2011
1 parent 98efb4a commit f253247
Showing 1 changed file with 11 additions and 8 deletions.
19 changes: 11 additions & 8 deletions drivers/net/wireless/iwlwifi/iwl-scan.c
Original file line number Diff line number Diff line change
Expand Up @@ -1013,18 +1013,14 @@ static void iwl_bg_abort_scan(struct work_struct *work)
mutex_unlock(&priv->shrd->mutex);
}

static void iwl_bg_scan_completed(struct work_struct *work)
static void iwl_process_scan_complete(struct iwl_priv *priv)
{
struct iwl_priv *priv =
container_of(work, struct iwl_priv, scan_completed);
bool aborted;

IWL_DEBUG_SCAN(priv, "Completed scan.\n");

cancel_delayed_work(&priv->scan_check);

mutex_lock(&priv->shrd->mutex);

aborted = test_and_clear_bit(STATUS_SCAN_ABORTING, &priv->shrd->status);
if (aborted)
IWL_DEBUG_SCAN(priv, "Aborted scan completed.\n");
Expand Down Expand Up @@ -1057,7 +1053,7 @@ static void iwl_bg_scan_completed(struct work_struct *work)
goto out_complete;
}

goto out;
return;
}

out_complete:
Expand All @@ -1066,11 +1062,18 @@ static void iwl_bg_scan_completed(struct work_struct *work)
out_settings:
/* Can we still talk to firmware ? */
if (!iwl_is_ready_rf(priv->shrd))
goto out;
return;

iwlagn_post_scan(priv);
}

static void iwl_bg_scan_completed(struct work_struct *work)
{
struct iwl_priv *priv =
container_of(work, struct iwl_priv, scan_completed);

out:
mutex_lock(&priv->shrd->mutex);
iwl_process_scan_complete(priv);
mutex_unlock(&priv->shrd->mutex);
}

Expand Down

0 comments on commit f253247

Please sign in to comment.