iwl3945: use iwl_mac_beacon_update
3945 can use iwl_mac_beacon_update. Signed-off-by: Abhijeet Kolekar <abhijeet.kolekar@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
5bbe233b9b
commit
9944b938f2
@ -1443,10 +1443,6 @@ static int iwl_read_ucode(struct iwl_priv *priv)
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* temporary */
|
|
||||||
static int iwl_mac_beacon_update(struct ieee80211_hw *hw,
|
|
||||||
struct sk_buff *skb);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* iwl_alive_start - called after REPLY_ALIVE notification received
|
* iwl_alive_start - called after REPLY_ALIVE notification received
|
||||||
* from protocol/runtime uCode (initialization uCode's
|
* from protocol/runtime uCode (initialization uCode's
|
||||||
@ -2657,45 +2653,6 @@ static void iwl_mac_reset_tsf(struct ieee80211_hw *hw)
|
|||||||
IWL_DEBUG_MAC80211(priv, "leave\n");
|
IWL_DEBUG_MAC80211(priv, "leave\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
static int iwl_mac_beacon_update(struct ieee80211_hw *hw, struct sk_buff *skb)
|
|
||||||
{
|
|
||||||
struct iwl_priv *priv = hw->priv;
|
|
||||||
unsigned long flags;
|
|
||||||
__le64 timestamp;
|
|
||||||
|
|
||||||
IWL_DEBUG_MAC80211(priv, "enter\n");
|
|
||||||
|
|
||||||
if (!iwl_is_ready_rf(priv)) {
|
|
||||||
IWL_DEBUG_MAC80211(priv, "leave - RF not ready\n");
|
|
||||||
return -EIO;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (priv->iw_mode != NL80211_IFTYPE_ADHOC) {
|
|
||||||
IWL_DEBUG_MAC80211(priv, "leave - not IBSS\n");
|
|
||||||
return -EIO;
|
|
||||||
}
|
|
||||||
|
|
||||||
spin_lock_irqsave(&priv->lock, flags);
|
|
||||||
|
|
||||||
if (priv->ibss_beacon)
|
|
||||||
dev_kfree_skb(priv->ibss_beacon);
|
|
||||||
|
|
||||||
priv->ibss_beacon = skb;
|
|
||||||
|
|
||||||
priv->assoc_id = 0;
|
|
||||||
timestamp = ((struct ieee80211_mgmt *)skb->data)->u.beacon.timestamp;
|
|
||||||
priv->timestamp = le64_to_cpu(timestamp);
|
|
||||||
|
|
||||||
IWL_DEBUG_MAC80211(priv, "leave\n");
|
|
||||||
spin_unlock_irqrestore(&priv->lock, flags);
|
|
||||||
|
|
||||||
iwl_reset_qos(priv);
|
|
||||||
|
|
||||||
priv->cfg->ops->lib->post_associate(priv);
|
|
||||||
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*****************************************************************************
|
/*****************************************************************************
|
||||||
*
|
*
|
||||||
|
@ -2293,6 +2293,47 @@ void iwl_bss_info_changed(struct ieee80211_hw *hw,
|
|||||||
}
|
}
|
||||||
EXPORT_SYMBOL(iwl_bss_info_changed);
|
EXPORT_SYMBOL(iwl_bss_info_changed);
|
||||||
|
|
||||||
|
int iwl_mac_beacon_update(struct ieee80211_hw *hw, struct sk_buff *skb)
|
||||||
|
{
|
||||||
|
struct iwl_priv *priv = hw->priv;
|
||||||
|
unsigned long flags;
|
||||||
|
__le64 timestamp;
|
||||||
|
|
||||||
|
IWL_DEBUG_MAC80211(priv, "enter\n");
|
||||||
|
|
||||||
|
if (!iwl_is_ready_rf(priv)) {
|
||||||
|
IWL_DEBUG_MAC80211(priv, "leave - RF not ready\n");
|
||||||
|
return -EIO;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (priv->iw_mode != NL80211_IFTYPE_ADHOC) {
|
||||||
|
IWL_DEBUG_MAC80211(priv, "leave - not IBSS\n");
|
||||||
|
return -EIO;
|
||||||
|
}
|
||||||
|
|
||||||
|
spin_lock_irqsave(&priv->lock, flags);
|
||||||
|
|
||||||
|
if (priv->ibss_beacon)
|
||||||
|
dev_kfree_skb(priv->ibss_beacon);
|
||||||
|
|
||||||
|
priv->ibss_beacon = skb;
|
||||||
|
|
||||||
|
priv->assoc_id = 0;
|
||||||
|
timestamp = ((struct ieee80211_mgmt *)skb->data)->u.beacon.timestamp;
|
||||||
|
priv->timestamp = le64_to_cpu(timestamp);
|
||||||
|
|
||||||
|
IWL_DEBUG_MAC80211(priv, "leave\n");
|
||||||
|
spin_unlock_irqrestore(&priv->lock, flags);
|
||||||
|
|
||||||
|
iwl_reset_qos(priv);
|
||||||
|
|
||||||
|
priv->cfg->ops->lib->post_associate(priv);
|
||||||
|
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
EXPORT_SYMBOL(iwl_mac_beacon_update);
|
||||||
|
|
||||||
#ifdef CONFIG_PM
|
#ifdef CONFIG_PM
|
||||||
|
|
||||||
int iwl_pci_suspend(struct pci_dev *pdev, pm_message_t state)
|
int iwl_pci_suspend(struct pci_dev *pdev, pm_message_t state)
|
||||||
|
@ -258,6 +258,7 @@ void iwl_bss_info_changed(struct ieee80211_hw *hw,
|
|||||||
struct ieee80211_vif *vif,
|
struct ieee80211_vif *vif,
|
||||||
struct ieee80211_bss_conf *bss_conf,
|
struct ieee80211_bss_conf *bss_conf,
|
||||||
u32 changes);
|
u32 changes);
|
||||||
|
int iwl_mac_beacon_update(struct ieee80211_hw *hw, struct sk_buff *skb);
|
||||||
|
|
||||||
/*****************************************************
|
/*****************************************************
|
||||||
* RX handlers.
|
* RX handlers.
|
||||||
|
@ -2792,11 +2792,6 @@ static void iwl3945_init_alive_start(struct iwl_priv *priv)
|
|||||||
queue_work(priv->workqueue, &priv->restart);
|
queue_work(priv->workqueue, &priv->restart);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* temporary */
|
|
||||||
static int iwl3945_mac_beacon_update(struct ieee80211_hw *hw,
|
|
||||||
struct sk_buff *skb);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* iwl3945_alive_start - called after REPLY_ALIVE notification received
|
* iwl3945_alive_start - called after REPLY_ALIVE notification received
|
||||||
* from protocol/runtime uCode (initialization uCode's
|
* from protocol/runtime uCode (initialization uCode's
|
||||||
@ -2904,7 +2899,7 @@ static void iwl3945_alive_start(struct iwl_priv *priv)
|
|||||||
struct sk_buff *beacon = ieee80211_beacon_get(priv->hw,
|
struct sk_buff *beacon = ieee80211_beacon_get(priv->hw,
|
||||||
priv->vif);
|
priv->vif);
|
||||||
if (beacon)
|
if (beacon)
|
||||||
iwl3945_mac_beacon_update(priv->hw, beacon);
|
iwl_mac_beacon_update(priv->hw, beacon);
|
||||||
}
|
}
|
||||||
|
|
||||||
return;
|
return;
|
||||||
@ -3837,7 +3832,7 @@ static int iwl3945_mac_config_interface(struct ieee80211_hw *hw,
|
|||||||
if (!beacon)
|
if (!beacon)
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
mutex_lock(&priv->mutex);
|
mutex_lock(&priv->mutex);
|
||||||
rc = iwl3945_mac_beacon_update(hw, beacon);
|
rc = iwl_mac_beacon_update(hw, beacon);
|
||||||
mutex_unlock(&priv->mutex);
|
mutex_unlock(&priv->mutex);
|
||||||
if (rc)
|
if (rc)
|
||||||
return rc;
|
return rc;
|
||||||
@ -4089,46 +4084,6 @@ static void iwl3945_mac_reset_tsf(struct ieee80211_hw *hw)
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static int iwl3945_mac_beacon_update(struct ieee80211_hw *hw, struct sk_buff *skb)
|
|
||||||
{
|
|
||||||
struct iwl_priv *priv = hw->priv;
|
|
||||||
unsigned long flags;
|
|
||||||
__le64 timestamp;
|
|
||||||
|
|
||||||
IWL_DEBUG_MAC80211(priv, "enter\n");
|
|
||||||
|
|
||||||
if (!iwl_is_ready_rf(priv)) {
|
|
||||||
IWL_DEBUG_MAC80211(priv, "leave - RF not ready\n");
|
|
||||||
return -EIO;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (priv->iw_mode != NL80211_IFTYPE_ADHOC) {
|
|
||||||
IWL_DEBUG_MAC80211(priv, "leave - not IBSS\n");
|
|
||||||
return -EIO;
|
|
||||||
}
|
|
||||||
|
|
||||||
spin_lock_irqsave(&priv->lock, flags);
|
|
||||||
|
|
||||||
if (priv->ibss_beacon)
|
|
||||||
dev_kfree_skb(priv->ibss_beacon);
|
|
||||||
|
|
||||||
priv->ibss_beacon = skb;
|
|
||||||
|
|
||||||
priv->assoc_id = 0;
|
|
||||||
timestamp = ((struct ieee80211_mgmt *)skb->data)->u.beacon.timestamp;
|
|
||||||
priv->timestamp = le64_to_cpu(timestamp);
|
|
||||||
|
|
||||||
IWL_DEBUG_MAC80211(priv, "leave\n");
|
|
||||||
spin_unlock_irqrestore(&priv->lock, flags);
|
|
||||||
|
|
||||||
iwl_reset_qos(priv);
|
|
||||||
|
|
||||||
priv->cfg->ops->lib->post_associate(priv);
|
|
||||||
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*****************************************************************************
|
/*****************************************************************************
|
||||||
*
|
*
|
||||||
* sysfs attributes
|
* sysfs attributes
|
||||||
|
Loading…
Reference in New Issue
Block a user