diff options
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl4965-base.c')
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl4965-base.c | 26 |
1 files changed, 21 insertions, 5 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl4965-base.c b/drivers/net/wireless/iwlwifi/iwl4965-base.c index 61500a209297..7b9227c562b7 100644 --- a/drivers/net/wireless/iwlwifi/iwl4965-base.c +++ b/drivers/net/wireless/iwlwifi/iwl4965-base.c | |||
@@ -7252,7 +7252,7 @@ static void iwl_bg_scan_completed(struct work_struct *work) | |||
7252 | * | 7252 | * |
7253 | *****************************************************************************/ | 7253 | *****************************************************************************/ |
7254 | 7254 | ||
7255 | static int iwl_mac_open(struct ieee80211_hw *hw) | 7255 | static int iwl_mac_start(struct ieee80211_hw *hw) |
7256 | { | 7256 | { |
7257 | struct iwl_priv *priv = hw->priv; | 7257 | struct iwl_priv *priv = hw->priv; |
7258 | 7258 | ||
@@ -7271,7 +7271,7 @@ static int iwl_mac_open(struct ieee80211_hw *hw) | |||
7271 | return 0; | 7271 | return 0; |
7272 | } | 7272 | } |
7273 | 7273 | ||
7274 | static int iwl_mac_stop(struct ieee80211_hw *hw) | 7274 | static void iwl_mac_stop(struct ieee80211_hw *hw) |
7275 | { | 7275 | { |
7276 | struct iwl_priv *priv = hw->priv; | 7276 | struct iwl_priv *priv = hw->priv; |
7277 | 7277 | ||
@@ -7280,8 +7280,6 @@ static int iwl_mac_stop(struct ieee80211_hw *hw) | |||
7280 | /*netif_stop_queue(dev); */ | 7280 | /*netif_stop_queue(dev); */ |
7281 | flush_workqueue(priv->workqueue); | 7281 | flush_workqueue(priv->workqueue); |
7282 | IWL_DEBUG_MAC80211("leave\n"); | 7282 | IWL_DEBUG_MAC80211("leave\n"); |
7283 | |||
7284 | return 0; | ||
7285 | } | 7283 | } |
7286 | 7284 | ||
7287 | static int iwl_mac_tx(struct ieee80211_hw *hw, struct sk_buff *skb, | 7285 | static int iwl_mac_tx(struct ieee80211_hw *hw, struct sk_buff *skb, |
@@ -7528,8 +7526,13 @@ static int iwl_mac_config_interface(struct ieee80211_hw *hw, int if_id, | |||
7528 | IWL_DEBUG_MAC80211("bssid: %s\n", | 7526 | IWL_DEBUG_MAC80211("bssid: %s\n", |
7529 | print_mac(mac, conf->bssid)); | 7527 | print_mac(mac, conf->bssid)); |
7530 | 7528 | ||
7529 | /* | ||
7530 | * very dubious code was here; the probe filtering flag is never set: | ||
7531 | * | ||
7531 | if (unlikely(test_bit(STATUS_SCANNING, &priv->status)) && | 7532 | if (unlikely(test_bit(STATUS_SCANNING, &priv->status)) && |
7532 | !(priv->hw->flags & IEEE80211_HW_NO_PROBE_FILTERING)) { | 7533 | !(priv->hw->flags & IEEE80211_HW_NO_PROBE_FILTERING)) { |
7534 | */ | ||
7535 | if (unlikely(test_bit(STATUS_SCANNING, &priv->status))) { | ||
7533 | IWL_DEBUG_MAC80211("leave - scanning\n"); | 7536 | IWL_DEBUG_MAC80211("leave - scanning\n"); |
7534 | mutex_unlock(&priv->mutex); | 7537 | mutex_unlock(&priv->mutex); |
7535 | return 0; | 7538 | return 0; |
@@ -7604,6 +7607,18 @@ static int iwl_mac_config_interface(struct ieee80211_hw *hw, int if_id, | |||
7604 | return 0; | 7607 | return 0; |
7605 | } | 7608 | } |
7606 | 7609 | ||
7610 | static void iwl_configure_filter(struct ieee80211_hw *hw, | ||
7611 | unsigned int changed_flags, | ||
7612 | unsigned int *total_flags, | ||
7613 | int mc_count, struct dev_addr_list *mc_list) | ||
7614 | { | ||
7615 | /* | ||
7616 | * XXX: dummy | ||
7617 | * see also iwl_connection_init_rx_config | ||
7618 | */ | ||
7619 | *total_flags = 0; | ||
7620 | } | ||
7621 | |||
7607 | static void iwl_mac_remove_interface(struct ieee80211_hw *hw, | 7622 | static void iwl_mac_remove_interface(struct ieee80211_hw *hw, |
7608 | struct ieee80211_if_init_conf *conf) | 7623 | struct ieee80211_if_init_conf *conf) |
7609 | { | 7624 | { |
@@ -8852,12 +8867,13 @@ static struct attribute_group iwl_attribute_group = { | |||
8852 | 8867 | ||
8853 | static struct ieee80211_ops iwl_hw_ops = { | 8868 | static struct ieee80211_ops iwl_hw_ops = { |
8854 | .tx = iwl_mac_tx, | 8869 | .tx = iwl_mac_tx, |
8855 | .open = iwl_mac_open, | 8870 | .start = iwl_mac_start, |
8856 | .stop = iwl_mac_stop, | 8871 | .stop = iwl_mac_stop, |
8857 | .add_interface = iwl_mac_add_interface, | 8872 | .add_interface = iwl_mac_add_interface, |
8858 | .remove_interface = iwl_mac_remove_interface, | 8873 | .remove_interface = iwl_mac_remove_interface, |
8859 | .config = iwl_mac_config, | 8874 | .config = iwl_mac_config, |
8860 | .config_interface = iwl_mac_config_interface, | 8875 | .config_interface = iwl_mac_config_interface, |
8876 | .configure_filter = iwl_configure_filter, | ||
8861 | .set_key = iwl_mac_set_key, | 8877 | .set_key = iwl_mac_set_key, |
8862 | .get_stats = iwl_mac_get_stats, | 8878 | .get_stats = iwl_mac_get_stats, |
8863 | .get_tx_stats = iwl_mac_get_tx_stats, | 8879 | .get_tx_stats = iwl_mac_get_tx_stats, |