Commit 83dde8c9 authored by Winkler, Tomas's avatar Winkler, Tomas Committed by John W. Linville

iwlwifi: move iwl_clear_stations_table to iwl-sta.c

This patch moves iwl_clear_stations_table into iwl-sta.c
Signed-off-by: default avatarTomas Winkler <tomas.winkler@intel.com>
Signed-off-by: default avatarReinette Chatre <reinette.chatre@intel.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent ce546fd2
...@@ -37,6 +37,7 @@ ...@@ -37,6 +37,7 @@
#include "iwl-io.h" #include "iwl-io.h"
#include "iwl-rfkill.h" #include "iwl-rfkill.h"
#include "iwl-power.h" #include "iwl-power.h"
#include "iwl-sta.h"
MODULE_DESCRIPTION("iwl core"); MODULE_DESCRIPTION("iwl core");
...@@ -237,28 +238,6 @@ int iwl_hw_nic_init(struct iwl_priv *priv) ...@@ -237,28 +238,6 @@ int iwl_hw_nic_init(struct iwl_priv *priv)
} }
EXPORT_SYMBOL(iwl_hw_nic_init); EXPORT_SYMBOL(iwl_hw_nic_init);
/**
* iwl_clear_stations_table - Clear the driver's station table
*
* NOTE: This does not clear or otherwise alter the device's station table.
*/
void iwl_clear_stations_table(struct iwl_priv *priv)
{
unsigned long flags;
spin_lock_irqsave(&priv->sta_lock, flags);
if (iwl_is_alive(priv) &&
!test_bit(STATUS_EXIT_PENDING, &priv->status) &&
iwl_send_cmd_pdu_async(priv, REPLY_REMOVE_ALL_STA, 0, NULL, NULL))
IWL_ERROR("Couldn't clear the station table\n");
priv->num_stations = 0;
memset(priv->stations, 0, sizeof(priv->stations));
spin_unlock_irqrestore(&priv->sta_lock, flags);
}
EXPORT_SYMBOL(iwl_clear_stations_table);
void iwl_reset_qos(struct iwl_priv *priv) void iwl_reset_qos(struct iwl_priv *priv)
{ {
......
...@@ -182,7 +182,6 @@ struct iwl_cfg { ...@@ -182,7 +182,6 @@ struct iwl_cfg {
struct ieee80211_hw *iwl_alloc_all(struct iwl_cfg *cfg, struct ieee80211_hw *iwl_alloc_all(struct iwl_cfg *cfg,
struct ieee80211_ops *hw_ops); struct ieee80211_ops *hw_ops);
void iwl_hw_detect(struct iwl_priv *priv); void iwl_hw_detect(struct iwl_priv *priv);
void iwl_clear_stations_table(struct iwl_priv *priv);
void iwl_reset_qos(struct iwl_priv *priv); void iwl_reset_qos(struct iwl_priv *priv);
void iwl_set_rxon_chain(struct iwl_priv *priv); void iwl_set_rxon_chain(struct iwl_priv *priv);
int iwl_set_rxon_channel(struct iwl_priv *priv, struct ieee80211_channel *ch); int iwl_set_rxon_channel(struct iwl_priv *priv, struct ieee80211_channel *ch);
......
...@@ -463,6 +463,29 @@ int iwl_remove_station(struct iwl_priv *priv, const u8 *addr, int is_ap) ...@@ -463,6 +463,29 @@ int iwl_remove_station(struct iwl_priv *priv, const u8 *addr, int is_ap)
} }
EXPORT_SYMBOL(iwl_remove_station); EXPORT_SYMBOL(iwl_remove_station);
/**
* iwl_clear_stations_table - Clear the driver's station table
*
* NOTE: This does not clear or otherwise alter the device's station table.
*/
void iwl_clear_stations_table(struct iwl_priv *priv)
{
unsigned long flags;
spin_lock_irqsave(&priv->sta_lock, flags);
if (iwl_is_alive(priv) &&
!test_bit(STATUS_EXIT_PENDING, &priv->status) &&
iwl_send_cmd_pdu_async(priv, REPLY_REMOVE_ALL_STA, 0, NULL, NULL))
IWL_ERROR("Couldn't clear the station table\n");
priv->num_stations = 0;
memset(priv->stations, 0, sizeof(priv->stations));
spin_unlock_irqrestore(&priv->sta_lock, flags);
}
EXPORT_SYMBOL(iwl_clear_stations_table);
static int iwl_get_free_ucode_key_index(struct iwl_priv *priv) static int iwl_get_free_ucode_key_index(struct iwl_priv *priv)
{ {
int i; int i;
......
...@@ -53,6 +53,7 @@ void iwl_update_tkip_key(struct iwl_priv *priv, ...@@ -53,6 +53,7 @@ void iwl_update_tkip_key(struct iwl_priv *priv,
int iwl_rxon_add_station(struct iwl_priv *priv, const u8 *addr, int is_ap); int iwl_rxon_add_station(struct iwl_priv *priv, const u8 *addr, int is_ap);
int iwl_remove_station(struct iwl_priv *priv, const u8 *addr, int is_ap); int iwl_remove_station(struct iwl_priv *priv, const u8 *addr, int is_ap);
void iwl_clear_stations_table(struct iwl_priv *priv);
int iwl_get_sta_id(struct iwl_priv *priv, struct ieee80211_hdr *hdr); int iwl_get_sta_id(struct iwl_priv *priv, struct ieee80211_hdr *hdr);
int iwl_get_ra_sta_id(struct iwl_priv *priv, struct ieee80211_hdr *hdr); int iwl_get_ra_sta_id(struct iwl_priv *priv, struct ieee80211_hdr *hdr);
u8 iwl_add_station_flags(struct iwl_priv *priv, const u8 *addr, u8 iwl_add_station_flags(struct iwl_priv *priv, const u8 *addr,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment