Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions | Variables
sta.c File Reference
#include <linux/etherdevice.h>
#include <net/mac80211.h>
#include "iwl-trans.h"
#include "dev.h"
#include "agn.h"

Go to the source code of this file.

Macros

#define STA_WAIT_TIMEOUT   (HZ/2)
 

Functions

int iwl_add_sta_callback (struct iwl_priv *priv, struct iwl_rx_cmd_buffer *rxb, struct iwl_device_cmd *cmd)
 
int iwl_send_add_sta (struct iwl_priv *priv, struct iwl_addsta_cmd *sta, u8 flags)
 
bool iwl_is_ht40_tx_allowed (struct iwl_priv *priv, struct iwl_rxon_context *ctx, struct ieee80211_sta_ht_cap *ht_cap)
 
int iwl_sta_update_ht (struct iwl_priv *priv, struct iwl_rxon_context *ctx, struct ieee80211_sta *sta)
 
u8 iwl_prep_station (struct iwl_priv *priv, struct iwl_rxon_context *ctx, const u8 *addr, bool is_ap, struct ieee80211_sta *sta)
 
int iwl_add_station_common (struct iwl_priv *priv, struct iwl_rxon_context *ctx, const u8 *addr, bool is_ap, struct ieee80211_sta *sta, u8 *sta_id_r)
 
int iwl_remove_station (struct iwl_priv *priv, const u8 sta_id, const u8 *addr)
 
void iwl_deactivate_station (struct iwl_priv *priv, const u8 sta_id, const u8 *addr)
 
void iwl_clear_ucode_stations (struct iwl_priv *priv, struct iwl_rxon_context *ctx)
 
void iwl_restore_stations (struct iwl_priv *priv, struct iwl_rxon_context *ctx)
 
int iwl_get_free_ucode_key_offset (struct iwl_priv *priv)
 
void iwl_dealloc_bcast_stations (struct iwl_priv *priv)
 
int iwl_send_lq_cmd (struct iwl_priv *priv, struct iwl_rxon_context *ctx, struct iwl_link_quality_cmd *lq, u8 flags, bool init)
 
int iwlagn_add_bssid_station (struct iwl_priv *priv, struct iwl_rxon_context *ctx, const u8 *addr, u8 *sta_id_r)
 
int iwl_restore_default_wep_keys (struct iwl_priv *priv, struct iwl_rxon_context *ctx)
 
int iwl_remove_default_wep_key (struct iwl_priv *priv, struct iwl_rxon_context *ctx, struct ieee80211_key_conf *keyconf)
 
int iwl_set_default_wep_key (struct iwl_priv *priv, struct iwl_rxon_context *ctx, struct ieee80211_key_conf *keyconf)
 
void iwl_update_tkip_key (struct iwl_priv *priv, struct ieee80211_vif *vif, struct ieee80211_key_conf *keyconf, struct ieee80211_sta *sta, u32 iv32, u16 *phase1key)
 
int iwl_remove_dynamic_key (struct iwl_priv *priv, struct iwl_rxon_context *ctx, struct ieee80211_key_conf *keyconf, struct ieee80211_sta *sta)
 
int iwl_set_dynamic_key (struct iwl_priv *priv, struct iwl_rxon_context *ctx, struct ieee80211_key_conf *keyconf, struct ieee80211_sta *sta)
 
int iwlagn_alloc_bcast_station (struct iwl_priv *priv, struct iwl_rxon_context *ctx)
 
int iwl_update_bcast_station (struct iwl_priv *priv, struct iwl_rxon_context *ctx)
 
int iwl_update_bcast_stations (struct iwl_priv *priv)
 
int iwl_sta_tx_modify_enable_tid (struct iwl_priv *priv, int sta_id, int tid)
 
int iwl_sta_rx_agg_start (struct iwl_priv *priv, struct ieee80211_sta *sta, int tid, u16 ssn)
 
int iwl_sta_rx_agg_stop (struct iwl_priv *priv, struct ieee80211_sta *sta, int tid)
 
void iwl_sta_modify_sleep_tx_count (struct iwl_priv *priv, int sta_id, int cnt)
 

Variables

const u8 iwl_bcast_addr [ETH_ALEN] = { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF }
 

Macro Definition Documentation

#define STA_WAIT_TIMEOUT   (HZ/2)

Definition at line 379 of file sta.c.

Function Documentation

int iwl_add_sta_callback ( struct iwl_priv priv,
struct iwl_rx_cmd_buffer rxb,
struct iwl_device_cmd cmd 
)

Definition at line 127 of file sta.c.

int iwl_add_station_common ( struct iwl_priv priv,
struct iwl_rxon_context ctx,
const u8 addr,
bool  is_ap,
struct ieee80211_sta sta,
u8 sta_id_r 
)

iwl_add_station_common -

Definition at line 384 of file sta.c.

void iwl_clear_ucode_stations ( struct iwl_priv priv,
struct iwl_rxon_context ctx 
)

iwl_clear_ucode_stations - clear ucode station table bits

This function clears all the bits in the driver indicating which stations are active in the ucode. Call when something other than explicit station management would cause this in the ucode, e.g. unassociated RXON.

Definition at line 672 of file sta.c.

void iwl_deactivate_station ( struct iwl_priv priv,
const u8  sta_id,
const u8 addr 
)

Definition at line 579 of file sta.c.

void iwl_dealloc_bcast_stations ( struct iwl_priv priv)

Definition at line 794 of file sta.c.

int iwl_get_free_ucode_key_offset ( struct iwl_priv priv)

Definition at line 783 of file sta.c.

bool iwl_is_ht40_tx_allowed ( struct iwl_priv priv,
struct iwl_rxon_context ctx,
struct ieee80211_sta_ht_cap ht_cap 
)

Definition at line 174 of file sta.c.

u8 iwl_prep_station ( struct iwl_priv priv,
struct iwl_rxon_context ctx,
const u8 addr,
bool  is_ap,
struct ieee80211_sta sta 
)

iwl_prep_station - Prepare station information for addition

should be called with sta_lock held

Definition at line 297 of file sta.c.

int iwl_remove_default_wep_key ( struct iwl_priv priv,
struct iwl_rxon_context ctx,
struct ieee80211_key_conf keyconf 
)

Definition at line 1053 of file sta.c.

int iwl_remove_dynamic_key ( struct iwl_priv priv,
struct iwl_rxon_context ctx,
struct ieee80211_key_conf keyconf,
struct ieee80211_sta sta 
)

Definition at line 1214 of file sta.c.

int iwl_remove_station ( struct iwl_priv priv,
const u8  sta_id,
const u8 addr 
)

iwl_remove_station - Remove driver's knowledge of station.

Definition at line 518 of file sta.c.

int iwl_restore_default_wep_keys ( struct iwl_priv priv,
struct iwl_rxon_context ctx 
)

Definition at line 1045 of file sta.c.

void iwl_restore_stations ( struct iwl_priv priv,
struct iwl_rxon_context ctx 
)

iwl_restore_stations() - Restore driver known stations to device

All stations considered active by driver, but not present in ucode, is restored.

Function sleeps.

Definition at line 707 of file sta.c.

int iwl_send_add_sta ( struct iwl_priv priv,
struct iwl_addsta_cmd sta,
u8  flags 
)

Definition at line 138 of file sta.c.

int iwl_send_lq_cmd ( struct iwl_priv priv,
struct iwl_rxon_context ctx,
struct iwl_link_quality_cmd lq,
u8  flags,
bool  init 
)

iwl_send_lq_cmd() - Send link quality command : This command is sent as part of station initialization right after station has been added.

The link quality command is sent as the last step of station creation. This is the special case in which init is set and we call a callback in this case to clear the state indicating that station creation is in progress.

Definition at line 878 of file sta.c.

int iwl_set_default_wep_key ( struct iwl_priv priv,
struct iwl_rxon_context ctx,
struct ieee80211_key_conf keyconf 
)

Definition at line 1078 of file sta.c.

int iwl_set_dynamic_key ( struct iwl_priv priv,
struct iwl_rxon_context ctx,
struct ieee80211_key_conf keyconf,
struct ieee80211_sta sta 
)

Definition at line 1262 of file sta.c.

void iwl_sta_modify_sleep_tx_count ( struct iwl_priv priv,
int  sta_id,
int  cnt 
)

Definition at line 1474 of file sta.c.

int iwl_sta_rx_agg_start ( struct iwl_priv priv,
struct ieee80211_sta sta,
int  tid,
u16  ssn 
)

Definition at line 1423 of file sta.c.

int iwl_sta_rx_agg_stop ( struct iwl_priv priv,
struct ieee80211_sta sta,
int  tid 
)

Definition at line 1447 of file sta.c.

int iwl_sta_tx_modify_enable_tid ( struct iwl_priv priv,
int  sta_id,
int  tid 
)

iwl_sta_tx_modify_enable_tid - Enable Tx for this TID in station table

Definition at line 1406 of file sta.c.

int iwl_sta_update_ht ( struct iwl_priv priv,
struct iwl_rxon_context ctx,
struct ieee80211_sta sta 
)

Definition at line 253 of file sta.c.

int iwl_update_bcast_station ( struct iwl_priv priv,
struct iwl_rxon_context ctx 
)

iwl_update_bcast_station - update broadcast station's LQ command

Only used by iwlagn. Placed here to have all bcast station management code together.

Definition at line 1366 of file sta.c.

int iwl_update_bcast_stations ( struct iwl_priv priv)

Definition at line 1389 of file sta.c.

void iwl_update_tkip_key ( struct iwl_priv priv,
struct ieee80211_vif vif,
struct ieee80211_key_conf keyconf,
struct ieee80211_sta sta,
u32  iv32,
u16 phase1key 
)

Definition at line 1194 of file sta.c.

int iwlagn_add_bssid_station ( struct iwl_priv priv,
struct iwl_rxon_context ctx,
const u8 addr,
u8 sta_id_r 
)

Definition at line 946 of file sta.c.

int iwlagn_alloc_bcast_station ( struct iwl_priv priv,
struct iwl_rxon_context ctx 
)

iwlagn_alloc_bcast_station - add broadcast station into driver's station table.

This adds the broadcast station into the driver's station table and marks it driver active, so that it will be restored to the device at the next best time.

Definition at line 1327 of file sta.c.

Variable Documentation

const u8 iwl_bcast_addr[ETH_ALEN] = { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF }

Definition at line 35 of file sta.c.