iwl3945: use iwl_mac_add_interface from iwlwifi
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
727882d624
commit
cbb6ab94b6
@ -2036,42 +2036,6 @@ static int iwl_mac_tx(struct ieee80211_hw *hw, struct sk_buff *skb)
|
||||
return NETDEV_TX_OK;
|
||||
}
|
||||
|
||||
static int iwl_mac_add_interface(struct ieee80211_hw *hw,
|
||||
struct ieee80211_if_init_conf *conf)
|
||||
{
|
||||
struct iwl_priv *priv = hw->priv;
|
||||
unsigned long flags;
|
||||
|
||||
IWL_DEBUG_MAC80211(priv, "enter: type %d\n", conf->type);
|
||||
|
||||
if (priv->vif) {
|
||||
IWL_DEBUG_MAC80211(priv, "leave - vif != NULL\n");
|
||||
return -EOPNOTSUPP;
|
||||
}
|
||||
|
||||
spin_lock_irqsave(&priv->lock, flags);
|
||||
priv->vif = conf->vif;
|
||||
priv->iw_mode = conf->type;
|
||||
|
||||
spin_unlock_irqrestore(&priv->lock, flags);
|
||||
|
||||
mutex_lock(&priv->mutex);
|
||||
|
||||
if (conf->mac_addr) {
|
||||
IWL_DEBUG_MAC80211(priv, "Set %pM\n", conf->mac_addr);
|
||||
memcpy(priv->mac_addr, conf->mac_addr, ETH_ALEN);
|
||||
}
|
||||
|
||||
if (iwl_set_mode(priv, conf->type) == -EAGAIN)
|
||||
/* we are not ready, will run again when ready */
|
||||
set_bit(STATUS_MODE_PENDING, &priv->status);
|
||||
|
||||
mutex_unlock(&priv->mutex);
|
||||
|
||||
IWL_DEBUG_MAC80211(priv, "leave\n");
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* iwl_mac_config - mac80211 config callback
|
||||
*
|
||||
|
@ -2381,6 +2381,43 @@ int iwl_set_mode(struct iwl_priv *priv, int mode)
|
||||
}
|
||||
EXPORT_SYMBOL(iwl_set_mode);
|
||||
|
||||
int iwl_mac_add_interface(struct ieee80211_hw *hw,
|
||||
struct ieee80211_if_init_conf *conf)
|
||||
{
|
||||
struct iwl_priv *priv = hw->priv;
|
||||
unsigned long flags;
|
||||
|
||||
IWL_DEBUG_MAC80211(priv, "enter: type %d\n", conf->type);
|
||||
|
||||
if (priv->vif) {
|
||||
IWL_DEBUG_MAC80211(priv, "leave - vif != NULL\n");
|
||||
return -EOPNOTSUPP;
|
||||
}
|
||||
|
||||
spin_lock_irqsave(&priv->lock, flags);
|
||||
priv->vif = conf->vif;
|
||||
priv->iw_mode = conf->type;
|
||||
|
||||
spin_unlock_irqrestore(&priv->lock, flags);
|
||||
|
||||
mutex_lock(&priv->mutex);
|
||||
|
||||
if (conf->mac_addr) {
|
||||
IWL_DEBUG_MAC80211(priv, "Set %pM\n", conf->mac_addr);
|
||||
memcpy(priv->mac_addr, conf->mac_addr, ETH_ALEN);
|
||||
}
|
||||
|
||||
if (iwl_set_mode(priv, conf->type) == -EAGAIN)
|
||||
/* we are not ready, will run again when ready */
|
||||
set_bit(STATUS_MODE_PENDING, &priv->status);
|
||||
|
||||
mutex_unlock(&priv->mutex);
|
||||
|
||||
IWL_DEBUG_MAC80211(priv, "leave\n");
|
||||
return 0;
|
||||
}
|
||||
EXPORT_SYMBOL(iwl_mac_add_interface);
|
||||
|
||||
#ifdef CONFIG_PM
|
||||
|
||||
int iwl_pci_suspend(struct pci_dev *pdev, pm_message_t state)
|
||||
|
@ -274,6 +274,8 @@ void iwl_bss_info_changed(struct ieee80211_hw *hw,
|
||||
int iwl_mac_beacon_update(struct ieee80211_hw *hw, struct sk_buff *skb);
|
||||
int iwl_commit_rxon(struct iwl_priv *priv);
|
||||
int iwl_set_mode(struct iwl_priv *priv, int mode);
|
||||
int iwl_mac_add_interface(struct ieee80211_hw *hw,
|
||||
struct ieee80211_if_init_conf *conf);
|
||||
|
||||
/*****************************************************
|
||||
* RX handlers.
|
||||
|
@ -3380,41 +3380,6 @@ static int iwl3945_mac_tx(struct ieee80211_hw *hw, struct sk_buff *skb)
|
||||
return NETDEV_TX_OK;
|
||||
}
|
||||
|
||||
static int iwl3945_mac_add_interface(struct ieee80211_hw *hw,
|
||||
struct ieee80211_if_init_conf *conf)
|
||||
{
|
||||
struct iwl_priv *priv = hw->priv;
|
||||
unsigned long flags;
|
||||
|
||||
IWL_DEBUG_MAC80211(priv, "enter: type %d\n", conf->type);
|
||||
|
||||
if (priv->vif) {
|
||||
IWL_DEBUG_MAC80211(priv, "leave - vif != NULL\n");
|
||||
return -EOPNOTSUPP;
|
||||
}
|
||||
|
||||
spin_lock_irqsave(&priv->lock, flags);
|
||||
priv->vif = conf->vif;
|
||||
priv->iw_mode = conf->type;
|
||||
|
||||
spin_unlock_irqrestore(&priv->lock, flags);
|
||||
|
||||
mutex_lock(&priv->mutex);
|
||||
|
||||
if (conf->mac_addr) {
|
||||
IWL_DEBUG_MAC80211(priv, "Set: %pM\n", conf->mac_addr);
|
||||
memcpy(priv->mac_addr, conf->mac_addr, ETH_ALEN);
|
||||
}
|
||||
|
||||
if (iwl_set_mode(priv, conf->type) == -EAGAIN)
|
||||
set_bit(STATUS_MODE_PENDING, &priv->status);
|
||||
|
||||
mutex_unlock(&priv->mutex);
|
||||
|
||||
IWL_DEBUG_MAC80211(priv, "leave\n");
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* iwl3945_mac_config - mac80211 config callback
|
||||
*
|
||||
@ -4372,7 +4337,7 @@ static struct ieee80211_ops iwl3945_hw_ops = {
|
||||
.tx = iwl3945_mac_tx,
|
||||
.start = iwl3945_mac_start,
|
||||
.stop = iwl3945_mac_stop,
|
||||
.add_interface = iwl3945_mac_add_interface,
|
||||
.add_interface = iwl_mac_add_interface,
|
||||
.remove_interface = iwl3945_mac_remove_interface,
|
||||
.config = iwl3945_mac_config,
|
||||
.config_interface = iwl3945_mac_config_interface,
|
||||
|
Loading…
Reference in New Issue
Block a user