iwmc3200wifi: Set wireless mode correctly
Set the wireless mode with regard to both the driver's configuration
and the device's EEPROM result.
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
diff --git a/drivers/net/wireless/iwmc3200wifi/main.c b/drivers/net/wireless/iwmc3200wifi/main.c
index e61265a..92e4eaf 100644
--- a/drivers/net/wireless/iwmc3200wifi/main.c
+++ b/drivers/net/wireless/iwmc3200wifi/main.c
@@ -701,12 +701,12 @@
/*
* Read our SKU capabilities.
- * If it's valid, we overwrite the wireless mode conf entry and the
- * current profile one.
+ * If it's valid, we AND the configured wireless mode with the
+ * device EEPROM value as the current profile wireless mode.
*/
wireless_mode = iwm_eeprom_wireless_mode(iwm);
if (wireless_mode) {
- iwm->conf.wireless_mode = wireless_mode;
+ iwm->conf.wireless_mode &= wireless_mode;
if (iwm->umac_profile)
iwm->umac_profile->wireless_mode =
iwm->conf.wireless_mode;