aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/iwl3945-base.c
diff options
context:
space:
mode:
authorAbhijeet Kolekar <abhijeet.kolekar@intel.com>2009-04-08 14:26:45 -0400
committerJohn W. Linville <linville@tuxdriver.com>2009-04-22 16:54:42 -0400
commit727882d62477ed45d248e8cd6d53cf794537b073 (patch)
treee474cc2e65acb84a595f4cd5560e54882142070a /drivers/net/wireless/iwlwifi/iwl3945-base.c
parent45823531662028a8cbd68906c20e887bb287c85e (diff)
iwl3945: use iwl_set_mode in 3945
3945 can now use iwl_set_mode from iwlcore library. 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>
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl3945-base.c')
-rw-r--r--drivers/net/wireless/iwlwifi/iwl3945-base.c40
1 files changed, 2 insertions, 38 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl3945-base.c b/drivers/net/wireless/iwlwifi/iwl3945-base.c
index 7f35017d9df..666c1fff62b 100644
--- a/drivers/net/wireless/iwlwifi/iwl3945-base.c
+++ b/drivers/net/wireless/iwlwifi/iwl3945-base.c
@@ -570,42 +570,6 @@ static void iwl3945_setup_rxon_timing(struct iwl_priv *priv)
570 le16_to_cpu(priv->rxon_timing.atim_window)); 570 le16_to_cpu(priv->rxon_timing.atim_window));
571} 571}
572 572
573static int iwl3945_set_mode(struct iwl_priv *priv, int mode)
574{
575 if (mode == NL80211_IFTYPE_ADHOC) {
576 const struct iwl_channel_info *ch_info;
577
578 ch_info = iwl_get_channel_info(priv,
579 priv->band,
580 le16_to_cpu(priv->staging_rxon.channel));
581
582 if (!ch_info || !is_channel_ibss(ch_info)) {
583 IWL_ERR(priv, "channel %d not IBSS channel\n",
584 le16_to_cpu(priv->staging_rxon.channel));
585 return -EINVAL;
586 }
587 }
588
589 iwl_connection_init_rx_config(priv, mode);
590
591 priv->cfg->ops->smgmt->clear_station_table(priv);
592
593 /* don't commit rxon if rf-kill is on*/
594 if (!iwl_is_ready_rf(priv))
595 return -EAGAIN;
596
597 cancel_delayed_work(&priv->scan_check);
598 if (iwl_scan_cancel_timeout(priv, 100)) {
599 IWL_WARN(priv, "Aborted scan still in progress after 100ms\n");
600 IWL_DEBUG_MAC80211(priv, "leaving - scan abort failed.\n");
601 return -EAGAIN;
602 }
603
604 iwlcore_commit_rxon(priv);
605
606 return 0;
607}
608
609static void iwl3945_build_tx_cmd_hwcrypto(struct iwl_priv *priv, 573static void iwl3945_build_tx_cmd_hwcrypto(struct iwl_priv *priv,
610 struct ieee80211_tx_info *info, 574 struct ieee80211_tx_info *info,
611 struct iwl_cmd *cmd, 575 struct iwl_cmd *cmd,
@@ -2701,7 +2665,7 @@ static void iwl3945_alive_start(struct iwl_priv *priv)
2701 } 2665 }
2702 2666
2703 if (test_and_clear_bit(STATUS_MODE_PENDING, &priv->status)) 2667 if (test_and_clear_bit(STATUS_MODE_PENDING, &priv->status))
2704 iwl3945_set_mode(priv, priv->iw_mode); 2668 iwl_set_mode(priv, priv->iw_mode);
2705 2669
2706 return; 2670 return;
2707 2671
@@ -3442,7 +3406,7 @@ static int iwl3945_mac_add_interface(struct ieee80211_hw *hw,
3442 memcpy(priv->mac_addr, conf->mac_addr, ETH_ALEN); 3406 memcpy(priv->mac_addr, conf->mac_addr, ETH_ALEN);
3443 } 3407 }
3444 3408
3445 if (iwl3945_set_mode(priv, conf->type) == -EAGAIN) 3409 if (iwl_set_mode(priv, conf->type) == -EAGAIN)
3446 set_bit(STATUS_MODE_PENDING, &priv->status); 3410 set_bit(STATUS_MODE_PENDING, &priv->status);
3447 3411
3448 mutex_unlock(&priv->mutex); 3412 mutex_unlock(&priv->mutex);