diff options
author | Abhijeet Kolekar <abhijeet.kolekar@intel.com> | 2009-04-08 14:26:45 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2009-04-22 16:54:42 -0400 |
commit | 727882d62477ed45d248e8cd6d53cf794537b073 (patch) | |
tree | e474cc2e65acb84a595f4cd5560e54882142070a /drivers/net/wireless/iwlwifi/iwl3945-base.c | |
parent | 45823531662028a8cbd68906c20e887bb287c85e (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.c | 40 |
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 7f35017d9df2..666c1fff62b2 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 | ||
573 | static 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 | |||
609 | static void iwl3945_build_tx_cmd_hwcrypto(struct iwl_priv *priv, | 573 | static 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); |