Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 255759
b: refs/heads/master
c: b2ea345
h: refs/heads/master
i:
  255757: 5c248f1
  255755: 9eeb663
  255751: c537fa4
  255743: 7796555
v: v3
  • Loading branch information
Wey-Yi Guy committed Jun 11, 2011
1 parent 27f8cb9 commit fcae0e2
Show file tree
Hide file tree
Showing 2 changed files with 34 additions and 24 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: 4f0642a6665d1f4dbf8ef472dd5620e7585357b9
refs/heads/master: b2ea345eab568062b321bcd3b8d72f14c93dbb63
56 changes: 33 additions & 23 deletions trunk/drivers/net/wireless/iwlwifi/iwl-agn.c
Original file line number Diff line number Diff line change
Expand Up @@ -1485,7 +1485,8 @@ static void iwl_ucode_callback(const struct firmware *ucode_raw, void *context)
priv->new_scan_threshold_behaviour =
!!(ucode_capa.flags & IWL_UCODE_TLV_FLAGS_NEWSCAN);

if (ucode_capa.flags & IWL_UCODE_TLV_FLAGS_PAN) {
if ((priv->cfg->sku & EEPROM_SKU_CAP_IPAN_ENABLE) &&
(ucode_capa.flags & IWL_UCODE_TLV_FLAGS_PAN)) {
priv->valid_contexts |= BIT(IWL_RXON_CTX_PAN);
priv->sta_key_max_num = STA_KEY_MAX_NUM_PAN;
} else
Expand Down Expand Up @@ -3425,27 +3426,9 @@ static struct ieee80211_hw *iwl_alloc_all(struct iwl_cfg *cfg)
return hw;
}

static int iwl_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
static void iwl_init_context(struct iwl_priv *priv)
{
int err = 0, i;
struct iwl_priv *priv;
struct ieee80211_hw *hw;
struct iwl_cfg *cfg = (struct iwl_cfg *)(ent->driver_data);
unsigned long flags;
u16 pci_cmd, num_mac;
u32 hw_rev;

/************************
* 1. Allocating HW data
************************/

hw = iwl_alloc_all(cfg);
if (!hw) {
err = -ENOMEM;
goto out;
}
priv = hw->priv;
/* At this point both hw and priv are allocated. */
int i;

/*
* The default context is always valid,
Expand Down Expand Up @@ -3477,8 +3460,10 @@ static int iwl_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
priv->contexts[IWL_RXON_CTX_BSS].unused_devtype = RXON_DEV_TYPE_ESS;

priv->contexts[IWL_RXON_CTX_PAN].rxon_cmd = REPLY_WIPAN_RXON;
priv->contexts[IWL_RXON_CTX_PAN].rxon_timing_cmd = REPLY_WIPAN_RXON_TIMING;
priv->contexts[IWL_RXON_CTX_PAN].rxon_assoc_cmd = REPLY_WIPAN_RXON_ASSOC;
priv->contexts[IWL_RXON_CTX_PAN].rxon_timing_cmd =
REPLY_WIPAN_RXON_TIMING;
priv->contexts[IWL_RXON_CTX_PAN].rxon_assoc_cmd =
REPLY_WIPAN_RXON_ASSOC;
priv->contexts[IWL_RXON_CTX_PAN].qos_cmd = REPLY_WIPAN_QOS_PARAM;
priv->contexts[IWL_RXON_CTX_PAN].ap_sta_id = IWL_AP_ID_PAN;
priv->contexts[IWL_RXON_CTX_PAN].wep_key_cmd = REPLY_WIPAN_WEPKEY;
Expand All @@ -3498,6 +3483,28 @@ static int iwl_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
priv->contexts[IWL_RXON_CTX_PAN].unused_devtype = RXON_DEV_TYPE_P2P;

BUILD_BUG_ON(NUM_IWL_RXON_CTX != 2);
}

static int iwl_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
{
int err = 0;
struct iwl_priv *priv;
struct ieee80211_hw *hw;
struct iwl_cfg *cfg = (struct iwl_cfg *)(ent->driver_data);
unsigned long flags;
u16 pci_cmd, num_mac;
u32 hw_rev;

/************************
* 1. Allocating HW data
************************/

hw = iwl_alloc_all(cfg);
if (!hw) {
err = -ENOMEM;
goto out; }
priv = hw->priv;
/* At this point both hw and priv are allocated. */

SET_IEEE80211_DEV(hw, &pdev->dev);

Expand Down Expand Up @@ -3622,6 +3629,9 @@ static int iwl_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
priv->hw->wiphy->n_addresses++;
}

/* initialize all valid contexts */
iwl_init_context(priv);

/************************
* 5. Setup HW constants
************************/
Expand Down

0 comments on commit fcae0e2

Please sign in to comment.