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

Go to the source code of this file.

Macros

#define CHK(cond)
 
#define CHK_NEQ(c1, c2)
 

Functions

void iwl_connection_init_rx_config (struct iwl_priv *priv, struct iwl_rxon_context *ctx)
 
int iwlagn_set_pan_params (struct iwl_priv *priv)
 
void iwl_set_rxon_ht (struct iwl_priv *priv, struct iwl_ht_config *ht_conf)
 
void iwl_set_rxon_channel (struct iwl_priv *priv, struct ieee80211_channel *ch, struct iwl_rxon_context *ctx)
 
void iwl_set_flags_for_band (struct iwl_priv *priv, struct iwl_rxon_context *ctx, enum ieee80211_band band, struct ieee80211_vif *vif)
 
int iwlagn_commit_rxon (struct iwl_priv *priv, struct iwl_rxon_context *ctx)
 
void iwlagn_config_ht40 (struct ieee80211_conf *conf, struct iwl_rxon_context *ctx)
 
int iwlagn_mac_config (struct ieee80211_hw *hw, u32 changed)
 
void iwlagn_bss_info_changed (struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_bss_conf *bss_conf, u32 changes)
 
void iwlagn_post_scan (struct iwl_priv *priv)
 

Macro Definition Documentation

#define CHK (   cond)
Value:
if ((cond)) { \
IWL_DEBUG_INFO(priv, "need full RXON - " #cond "\n"); \
return 1; \
}
#define CHK_NEQ (   c1,
  c2 
)
Value:
if ((c1) != (c2)) { \
IWL_DEBUG_INFO(priv, "need full RXON - " \
#c1 " != " #c2 " - %d != %d\n", \
(c1), (c2)); \
return 1; \
}

Function Documentation

void iwl_connection_init_rx_config ( struct iwl_priv priv,
struct iwl_rxon_context ctx 
)

Definition at line 37 of file rxon.c.

void iwl_set_flags_for_band ( struct iwl_priv priv,
struct iwl_rxon_context ctx,
enum ieee80211_band  band,
struct ieee80211_vif vif 
)

Definition at line 743 of file rxon.c.

void iwl_set_rxon_channel ( struct iwl_priv priv,
struct ieee80211_channel ch,
struct iwl_rxon_context ctx 
)

iwl_set_rxon_channel - Set the band and channel values in staging RXON : requested channel as a pointer to struct ieee80211_channel

NOTE: Does not commit to the hardware; it sets appropriate bit fields in the staging RXON flag structure based on the ch->band

Definition at line 721 of file rxon.c.

void iwl_set_rxon_ht ( struct iwl_priv priv,
struct iwl_ht_config ht_conf 
)

Definition at line 706 of file rxon.c.

void iwlagn_bss_info_changed ( struct ieee80211_hw hw,
struct ieee80211_vif vif,
struct ieee80211_bss_conf bss_conf,
u32  changes 
)

Definition at line 1410 of file rxon.c.

int iwlagn_commit_rxon ( struct iwl_priv priv,
struct iwl_rxon_context ctx 
)

iwlagn_commit_rxon - commit staging_rxon to hardware

The RXON command in staging_rxon is committed to the hardware and the active_rxon structure is updated with the new data. This function correctly transitions out of the RXON_ASSOC_MSK state if a HW tune is required based on the RXON structure changes.

The connect/disconnect flow should be as the following:

  1. make sure send RXON command with association bit unset if not connect this should include the channel and the band for the candidate to be connected to
  2. Add Station before RXON association with the AP
  3. RXON_timing has to send before RXON for connection
  4. full RXON command - associated bit set
  5. use RXON_ASSOC command to update any flags changes

Definition at line 1050 of file rxon.c.

void iwlagn_config_ht40 ( struct ieee80211_conf conf,
struct iwl_rxon_context ctx 
)

Definition at line 1161 of file rxon.c.

int iwlagn_mac_config ( struct ieee80211_hw hw,
u32  changed 
)

Definition at line 1179 of file rxon.c.

void iwlagn_post_scan ( struct iwl_priv priv)

Definition at line 1557 of file rxon.c.

int iwlagn_set_pan_params ( struct iwl_priv priv)

Definition at line 532 of file rxon.c.