{4, 3, 0, COEX_UNASSOC_MANUAL_SCAN_FLAGS},
        {3, 3, 0, COEX_UNASSOC_AUTO_SCAN_FLAGS},
        {5, 5, 0, COEX_CALIBRATION_FLAGS},
-       {4, 4, 0, COEX_PERIODIC_CALIBRATION_FLAGS},
+       {3, 3, 0, COEX_PERIODIC_CALIBRATION_FLAGS},
        {5, 4, 0, COEX_CONNECTION_ESTAB_FLAGS},
        {4, 4, 0, COEX_ASSOCIATED_IDLE_FLAGS},
        {4, 4, 0, COEX_ASSOC_MANUAL_SCAN_FLAGS},
        return ret;
 }
 
-int iwm_send_umac_config(struct iwm_priv *iwm,
-                        __le32 reset_flags)
+int iwm_send_umac_config(struct iwm_priv *iwm, __le32 reset_flags)
 {
        int ret;
 
        if (ret < 0)
                return ret;
 
+       ret = iwm_umac_set_config_fix(iwm, UMAC_PARAM_TBL_CFG_FIX,
+                                     CFG_WIRELESS_MODE,
+                                     iwm->conf.wireless_mode);
+       if (ret < 0)
+               return ret;
+
        ret = iwm_umac_set_config_fix(iwm, UMAC_PARAM_TBL_CFG_FIX,
                                      CFG_COEX_MODE, iwm->conf.coexist_mode);
        if (ret < 0)
                return ret;
 
        ret = iwm_umac_set_config_fix(iwm, UMAC_PARAM_TBL_CFG_FIX,
-                                     CFG_PM_CTRL_FLAGS, 0x30001);
+                                     CFG_PM_CTRL_FLAGS, 0x1);
        if (ret < 0)
                return ret;
 
 
        CFG_TLC_SPATIAL_STREAM_SUPPORTED,
        CFG_TLC_RETRY_PER_RATE,
        CFG_TLC_RETRY_PER_HT_RATE,
-       CFG_TLC_FIXED_RATE,
-       CFG_TLC_FIXED_RATE_FLAGS,
+       CFG_TLC_FIXED_MCS,
        CFG_TLC_CONTROL_FLAGS,
        CFG_TLC_SR_MIN_FAIL,
        CFG_TLC_SR_MIN_PASS,
 /* Wireless mode */
 #define WIRELESS_MODE_11A  0x1
 #define WIRELESS_MODE_11G  0x2
+#define WIRELESS_MODE_11N  0x4
 
 #define UMAC_PROFILE_EX_IE_REQUIRED    0x1
 #define UMAC_PROFILE_QOS_ALLOWED       0x2