diff options
author | Reinette Chatre <reinette.chatre@intel.com> | 2009-12-14 17:12:10 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2009-12-21 11:32:09 -0500 |
commit | bc45a67079c916a9bd0a95b0b879cc0f259bac6e (patch) | |
tree | bdfdfa98246f0fb57da88c2c30ca17bc6f4b353c | |
parent | b7bb1756cb6a610cdbac8cfdad9e79bb5670b63b (diff) |
iwl3945: disable power save
we see from http://bugzilla.intellinuxwireless.org/show_bug.cgi?id=2125
that power saving does not work well on 3945. Since then power saving has
also been connected with association problems where an AP deathenticates a
3945 after it is unable to transmit data to it - this happens when 3945
enters power savings mode.
Disable power save support until issues are resolved.
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
CC: stable@kernel.org
Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-3945.c | 2 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl3945-base.c | 8 |
2 files changed, 7 insertions, 3 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-3945.c b/drivers/net/wireless/iwlwifi/iwl-3945.c index 4609323d8436..e413bd35bc41 100644 --- a/drivers/net/wireless/iwlwifi/iwl-3945.c +++ b/drivers/net/wireless/iwlwifi/iwl-3945.c | |||
@@ -2835,6 +2835,7 @@ static struct iwl_cfg iwl3945_bg_cfg = { | |||
2835 | .use_isr_legacy = true, | 2835 | .use_isr_legacy = true, |
2836 | .ht_greenfield_support = false, | 2836 | .ht_greenfield_support = false, |
2837 | .led_compensation = 64, | 2837 | .led_compensation = 64, |
2838 | .broken_powersave = true, | ||
2838 | }; | 2839 | }; |
2839 | 2840 | ||
2840 | static struct iwl_cfg iwl3945_abg_cfg = { | 2841 | static struct iwl_cfg iwl3945_abg_cfg = { |
@@ -2851,6 +2852,7 @@ static struct iwl_cfg iwl3945_abg_cfg = { | |||
2851 | .use_isr_legacy = true, | 2852 | .use_isr_legacy = true, |
2852 | .ht_greenfield_support = false, | 2853 | .ht_greenfield_support = false, |
2853 | .led_compensation = 64, | 2854 | .led_compensation = 64, |
2855 | .broken_powersave = true, | ||
2854 | }; | 2856 | }; |
2855 | 2857 | ||
2856 | struct pci_device_id iwl3945_hw_card_ids[] = { | 2858 | struct pci_device_id iwl3945_hw_card_ids[] = { |
diff --git a/drivers/net/wireless/iwlwifi/iwl3945-base.c b/drivers/net/wireless/iwlwifi/iwl3945-base.c index 4c0e47586896..c322d6c13182 100644 --- a/drivers/net/wireless/iwlwifi/iwl3945-base.c +++ b/drivers/net/wireless/iwlwifi/iwl3945-base.c | |||
@@ -3932,9 +3932,11 @@ static int iwl3945_setup_mac(struct iwl_priv *priv) | |||
3932 | /* Tell mac80211 our characteristics */ | 3932 | /* Tell mac80211 our characteristics */ |
3933 | hw->flags = IEEE80211_HW_SIGNAL_DBM | | 3933 | hw->flags = IEEE80211_HW_SIGNAL_DBM | |
3934 | IEEE80211_HW_NOISE_DBM | | 3934 | IEEE80211_HW_NOISE_DBM | |
3935 | IEEE80211_HW_SPECTRUM_MGMT | | 3935 | IEEE80211_HW_SPECTRUM_MGMT; |
3936 | IEEE80211_HW_SUPPORTS_PS | | 3936 | |
3937 | IEEE80211_HW_SUPPORTS_DYNAMIC_PS; | 3937 | if (!priv->cfg->broken_powersave) |
3938 | hw->flags |= IEEE80211_HW_SUPPORTS_PS | | ||
3939 | IEEE80211_HW_SUPPORTS_DYNAMIC_PS; | ||
3938 | 3940 | ||
3939 | hw->wiphy->interface_modes = | 3941 | hw->wiphy->interface_modes = |
3940 | BIT(NL80211_IFTYPE_STATION) | | 3942 | BIT(NL80211_IFTYPE_STATION) | |