Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 290741
b: refs/heads/master
c: a78be21
h: refs/heads/master
i:
  290739: a3d5400
v: v3
  • Loading branch information
Johannes Berg authored and Wey-Yi Guy committed Feb 27, 2012
1 parent aaa518d commit 3df5a7d
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 17 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: e211b2427a61e92e5a6bdd629bc2c2e6114c2dc1
refs/heads/master: a78be210d53b24cc3437d4362912c510b895a8eb
23 changes: 20 additions & 3 deletions trunk/drivers/net/wireless/iwlwifi/iwl-agn.c
Original file line number Diff line number Diff line change
Expand Up @@ -1151,6 +1151,7 @@ int iwl_op_mode_dvm_start(struct iwl_bus *bus,
struct iwl_priv *priv;
struct ieee80211_hw *hw;
u16 num_mac;
u32 ucode_flags;

/************************
* 1. Allocating HW data
Expand Down Expand Up @@ -1242,6 +1243,22 @@ int iwl_op_mode_dvm_start(struct iwl_bus *bus,
************************/
iwl_set_hw_params(priv);

ucode_flags = fw->ucode_capa.flags;

#ifndef CONFIG_IWLWIFI_P2P
ucode_flags &= ~IWL_UCODE_TLV_FLAGS_PAN;
#endif
if (!(hw_params(priv).sku & EEPROM_SKU_CAP_IPAN_ENABLE))
ucode_flags &= ~IWL_UCODE_TLV_FLAGS_PAN;

/*
* if not PAN, then don't support P2P -- might be a uCode
* packaging bug or due to the eeprom check above
*/
if (!(ucode_flags & IWL_UCODE_TLV_FLAGS_PAN))
ucode_flags &= ~IWL_UCODE_TLV_FLAGS_P2P;


/*******************
* 6. Setup priv
*******************/
Expand All @@ -1266,9 +1283,9 @@ int iwl_op_mode_dvm_start(struct iwl_bus *bus,
"%s", fw->fw_version);

priv->new_scan_threshold_behaviour =
!!(fw->ucode_capa.flags & IWL_UCODE_TLV_FLAGS_NEWSCAN);
!!(ucode_flags & IWL_UCODE_TLV_FLAGS_NEWSCAN);

if (fw->ucode_capa.flags & IWL_UCODE_TLV_FLAGS_PAN) {
if (ucode_flags & IWL_UCODE_TLV_FLAGS_PAN) {
priv->sta_key_max_num = STA_KEY_MAX_NUM_PAN;
priv->shrd->cmd_queue = IWL_IPAN_CMD_QUEUE_NUM;
} else {
Expand All @@ -1282,7 +1299,7 @@ int iwl_op_mode_dvm_start(struct iwl_bus *bus,
fw->ucode_capa.standard_phy_calibration_size + 1;

/* initialize all valid contexts */
iwl_init_context(priv, fw->ucode_capa.flags);
iwl_init_context(priv, ucode_flags);

/**************************************************
* This is still part of probe() in a sense...
Expand Down
14 changes: 1 addition & 13 deletions trunk/drivers/net/wireless/iwlwifi/iwl-ucode.c
Original file line number Diff line number Diff line change
Expand Up @@ -1226,9 +1226,7 @@ static void iwl_ucode_callback(const struct firmware *ucode_raw, void *context)
nic->inst_evtlog_size =
cfg->base_params->max_event_log_size;
nic->inst_errlog_ptr = pieces.inst_errlog_ptr;
#ifndef CONFIG_IWLWIFI_P2P
fw->ucode_capa.flags &= ~IWL_UCODE_TLV_FLAGS_PAN;
#endif

/*
* figure out the offset of chain noise reset and gain commands
* base on the size of standard phy calibration commands table size
Expand All @@ -1238,16 +1236,6 @@ static void iwl_ucode_callback(const struct firmware *ucode_raw, void *context)
fw->ucode_capa.standard_phy_calibration_size =
IWL_MAX_STANDARD_PHY_CALIBRATE_TBL_SIZE;

if (!(cfg->sku & EEPROM_SKU_CAP_IPAN_ENABLE))
fw->ucode_capa.flags &= ~IWL_UCODE_TLV_FLAGS_PAN;

/*
* if not PAN, then don't support P2P -- might be a uCode
* packaging bug or due to the eeprom check above
*/
if (!(fw->ucode_capa.flags & IWL_UCODE_TLV_FLAGS_PAN))
fw->ucode_capa.flags &= ~IWL_UCODE_TLV_FLAGS_P2P;

/* We have our copies now, allow OS release its copies */
release_firmware(ucode_raw);
complete(&nic->request_firmware_complete);
Expand Down

0 comments on commit 3df5a7d

Please sign in to comment.