diff options
author | Helmut Schaa <helmut.schaa@googlemail.com> | 2010-09-08 14:56:32 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2010-09-14 16:03:43 -0400 |
commit | 0204464329c17ba6d293e1899f71223599a0e582 (patch) | |
tree | 368b9617c1ad770b77fd22612edbb49300d0f500 /drivers/net/wireless/rt2x00/rt2x00.h | |
parent | 47ee3eb1359a5444efd9f529e3d28c02e8e405e7 (diff) |
rt2x00: Check for specific changed flags when updating the erp config
Previously rt2x00 was always updating all erp related config variables
even though mac80211 might only have changed one. Hence, pass the
changed flags to the config_erp driver callback so that the driver
can limit the changes to the correct values.
This fixes an issue in AP mode where the beacon interval is not
initialized (and thus zero) but still sent to the hardware causing an
interrupt storm on rt2800pci hanging the system.
Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com>
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/rt2x00/rt2x00.h')
-rw-r--r-- | drivers/net/wireless/rt2x00/rt2x00.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/wireless/rt2x00/rt2x00.h b/drivers/net/wireless/rt2x00/rt2x00.h index 0ae942cb66df..7832a5996a8c 100644 --- a/drivers/net/wireless/rt2x00/rt2x00.h +++ b/drivers/net/wireless/rt2x00/rt2x00.h | |||
@@ -596,7 +596,8 @@ struct rt2x00lib_ops { | |||
596 | #define CONFIG_UPDATE_BSSID ( 1 << 3 ) | 596 | #define CONFIG_UPDATE_BSSID ( 1 << 3 ) |
597 | 597 | ||
598 | void (*config_erp) (struct rt2x00_dev *rt2x00dev, | 598 | void (*config_erp) (struct rt2x00_dev *rt2x00dev, |
599 | struct rt2x00lib_erp *erp); | 599 | struct rt2x00lib_erp *erp, |
600 | u32 changed); | ||
600 | void (*config_ant) (struct rt2x00_dev *rt2x00dev, | 601 | void (*config_ant) (struct rt2x00_dev *rt2x00dev, |
601 | struct antenna_setup *ant); | 602 | struct antenna_setup *ant); |
602 | void (*config) (struct rt2x00_dev *rt2x00dev, | 603 | void (*config) (struct rt2x00_dev *rt2x00dev, |