}\r
}\r
\r
+void\r
+dhd_conf_read_wme_ac_params(dhd_pub_t *dhd, char *bufp, uint len)\r
+{\r
+ uint len_val;\r
+ char pick[MAXSZ_BUF];\r
+ struct dhd_conf *conf = dhd->conf;\r
+\r
+ /* Process WMM parameters */\r
+ memset(pick, 0, MAXSZ_BUF);\r
+ len_val = process_config_vars(bufp, len, pick, "force_wme_ac=");\r
+ if (len_val) {\r
+ conf->force_wme_ac = (int)simple_strtol(pick, NULL, 10);\r
+ printf("%s: force_wme_ac = %d\n", __FUNCTION__, conf->force_wme_ac);\r
+ }\r
+\r
+ if (conf->force_wme_ac) {\r
+ memset(pick, 0, MAXSZ_BUF);\r
+ len_val = process_config_vars(bufp, len, pick, "bk_aifsn=");\r
+ if (len_val) {\r
+ conf->wme.aifsn[AC_BK] = (int)simple_strtol(pick, NULL, 10);\r
+ printf("%s: AC_BK aifsn = %d\n", __FUNCTION__, conf->wme.aifsn[AC_BK]);\r
+ }\r
+\r
+ memset(pick, 0, MAXSZ_BUF);\r
+ len_val = process_config_vars(bufp, len, pick, "bk_cwmin=");\r
+ if (len_val) {\r
+ conf->wme.cwmin[AC_BK] = (int)simple_strtol(pick, NULL, 10);\r
+ printf("%s: AC_BK cwmin = %d\n", __FUNCTION__, conf->wme.cwmin[AC_BK]);\r
+ }\r
+\r
+ memset(pick, 0, MAXSZ_BUF);\r
+ len_val = process_config_vars(bufp, len, pick, "bk_cwmax=");\r
+ if (len_val) {\r
+ conf->wme.cwmax[AC_BK] = (int)simple_strtol(pick, NULL, 10);\r
+ printf("%s: AC_BK cwmax = %d\n", __FUNCTION__, conf->wme.cwmax[AC_BK]);\r
+ }\r
+\r
+ memset(pick, 0, MAXSZ_BUF);\r
+ len_val = process_config_vars(bufp, len, pick, "be_aifsn=");\r
+ if (len_val) {\r
+ conf->wme.aifsn[AC_BE] = (int)simple_strtol(pick, NULL, 10);\r
+ printf("%s: AC_BE aifsn = %d\n", __FUNCTION__, conf->wme.aifsn[AC_BE]);\r
+ }\r
+\r
+ memset(pick, 0, MAXSZ_BUF);\r
+ len_val = process_config_vars(bufp, len, pick, "be_cwmin=");\r
+ if (len_val) {\r
+ conf->wme.cwmin[AC_BE] = (int)simple_strtol(pick, NULL, 10);\r
+ printf("%s: AC_BE cwmin = %d\n", __FUNCTION__, conf->wme.cwmin[AC_BE]);\r
+ }\r
+\r
+ memset(pick, 0, MAXSZ_BUF);\r
+ len_val = process_config_vars(bufp, len, pick, "be_cwmax=");\r
+ if (len_val) {\r
+ conf->wme.cwmax[AC_BE] = (int)simple_strtol(pick, NULL, 10);\r
+ printf("%s: AC_BE cwmax = %d\n", __FUNCTION__, conf->wme.cwmax[AC_BE]);\r
+ }\r
+\r
+ memset(pick, 0, MAXSZ_BUF);\r
+ len_val = process_config_vars(bufp, len, pick, "vi_aifsn=");\r
+ if (len_val) {\r
+ conf->wme.aifsn[AC_VI] = (int)simple_strtol(pick, NULL, 10);\r
+ printf("%s: AC_VI aifsn = %d\n", __FUNCTION__, conf->wme.aifsn[AC_VI]);\r
+ }\r
+\r
+ memset(pick, 0, MAXSZ_BUF);\r
+ len_val = process_config_vars(bufp, len, pick, "vi_cwmin=");\r
+ if (len_val) {\r
+ conf->wme.cwmin[AC_VI] = (int)simple_strtol(pick, NULL, 10);\r
+ printf("%s: AC_VI cwmin = %d\n", __FUNCTION__, conf->wme.cwmin[AC_VI]);\r
+ }\r
+\r
+ memset(pick, 0, MAXSZ_BUF);\r
+ len_val = process_config_vars(bufp, len, pick, "vi_cwmax=");\r
+ if (len_val) {\r
+ conf->wme.cwmax[AC_VI] = (int)simple_strtol(pick, NULL, 10);\r
+ printf("%s: AC_VI cwmax = %d\n", __FUNCTION__, conf->wme.cwmax[AC_VI]);\r
+ }\r
+\r
+ memset(pick, 0, MAXSZ_BUF);\r
+ len_val = process_config_vars(bufp, len, pick, "vo_aifsn=");\r
+ if (len_val) {\r
+ conf->wme.aifsn[AC_VO] = (int)simple_strtol(pick, NULL, 10);\r
+ printf("%s: AC_VO aifsn = %d\n", __FUNCTION__, conf->wme.aifsn[AC_VO]);\r
+ }\r
+\r
+ memset(pick, 0, MAXSZ_BUF);\r
+ len_val = process_config_vars(bufp, len, pick, "vo_cwmin=");\r
+ if (len_val) {\r
+ conf->wme.cwmin[AC_VO] = (int)simple_strtol(pick, NULL, 10);\r
+ printf("%s: AC_VO cwmin = %d\n", __FUNCTION__, conf->wme.cwmin[AC_VO]);\r
+ }\r
+\r
+ memset(pick, 0, MAXSZ_BUF);\r
+ len_val = process_config_vars(bufp, len, pick, "vo_cwmax=");\r
+ if (len_val) {\r
+ conf->wme.cwmax[AC_VO] = (int)simple_strtol(pick, NULL, 10);\r
+ printf("%s: AC_VO cwmax = %d\n", __FUNCTION__, conf->wme.cwmax[AC_VO]);\r
+ }\r
+ }\r
+\r
+}\r
+\r
+void\r
+dhd_conf_read_roam_params(dhd_pub_t *dhd, char *bufp, uint len)\r
+{\r
+ uint len_val;\r
+ char pick[MAXSZ_BUF];\r
+ struct dhd_conf *conf = dhd->conf;\r
+ \r
+ /* Process roam */\r
+ memset(pick, 0, MAXSZ_BUF);\r
+ len_val = process_config_vars(bufp, len, pick, "roam_off=");\r
+ if (len_val) {\r
+ if (!strncmp(pick, "0", len_val))\r
+ conf->roam_off = 0;\r
+ else\r
+ conf->roam_off = 1;\r
+ printf("%s: roam_off = %d\n", __FUNCTION__, conf->roam_off);\r
+ }\r
+\r
+ memset(pick, 0, MAXSZ_BUF);\r
+ len_val = process_config_vars(bufp, len, pick, "roam_off_suspend=");\r
+ if (len_val) {\r
+ if (!strncmp(pick, "0", len_val))\r
+ conf->roam_off_suspend = 0;\r
+ else\r
+ conf->roam_off_suspend = 1;\r
+ printf("%s: roam_off_suspend = %d\n", __FUNCTION__,\r
+ conf->roam_off_suspend);\r
+ }\r
+\r
+ if (!conf->roam_off || !conf->roam_off_suspend) {\r
+ memset(pick, 0, MAXSZ_BUF);\r
+ len_val = process_config_vars(bufp, len, pick, "roam_trigger=");\r
+ if (len_val)\r
+ conf->roam_trigger[0] = (int)simple_strtol(pick, NULL, 10);\r
+ printf("%s: roam_trigger = %d\n", __FUNCTION__,\r
+ conf->roam_trigger[0]);\r
+\r
+ memset(pick, 0, MAXSZ_BUF);\r
+ len_val = process_config_vars(bufp, len, pick, "roam_scan_period=");\r
+ if (len_val)\r
+ conf->roam_scan_period[0] = (int)simple_strtol(pick, NULL, 10);\r
+ printf("%s: roam_scan_period = %d\n", __FUNCTION__,\r
+ conf->roam_scan_period[0]);\r
+\r
+ memset(pick, 0, MAXSZ_BUF);\r
+ len_val = process_config_vars(bufp, len, pick, "roam_delta=");\r
+ if (len_val)\r
+ conf->roam_delta[0] = (int)simple_strtol(pick, NULL, 10);\r
+ printf("%s: roam_delta = %d\n", __FUNCTION__, conf->roam_delta[0]);\r
+\r
+ memset(pick, 0, MAXSZ_BUF);\r
+ len_val = process_config_vars(bufp, len, pick, "fullroamperiod=");\r
+ if (len_val)\r
+ conf->fullroamperiod = (int)simple_strtol(pick, NULL, 10);\r
+ printf("%s: fullroamperiod = %d\n", __FUNCTION__,\r
+ conf->fullroamperiod);\r
+ }\r
+\r
+}\r
+\r
/*\r
* [fw_by_mac]:\r
* fw_by_mac=[fw_mac_num] \\r
\r
/* Process log_level */\r
dhd_conf_read_log_level(dhd, bufp, len);\r
+ dhd_conf_read_roam_params(dhd, bufp, len);\r
+ dhd_conf_read_wme_ac_params(dhd, bufp, len);\r
\r
/* Process fw_by_mac */\r
memset(pick, 0, MAXSZ_BUF);\r
printf("\n");\r
}\r
\r
- /* Process roam */\r
- memset(pick, 0, MAXSZ_BUF);\r
- len_val = process_config_vars(bufp, len, pick, "roam_off=");\r
- if (len_val) {\r
- if (!strncmp(pick, "0", len_val))\r
- conf->roam_off = 0;\r
- else\r
- conf->roam_off = 1;\r
- printf("%s: roam_off = %d\n", __FUNCTION__, conf->roam_off);\r
- }\r
-\r
- memset(pick, 0, MAXSZ_BUF);\r
- len_val = process_config_vars(bufp, len, pick, "roam_off_suspend=");\r
- if (len_val) {\r
- if (!strncmp(pick, "0", len_val))\r
- conf->roam_off_suspend = 0;\r
- else\r
- conf->roam_off_suspend = 1;\r
- printf("%s: roam_off_suspend = %d\n", __FUNCTION__,\r
- conf->roam_off_suspend);\r
- }\r
-\r
- if (!conf->roam_off || !conf->roam_off_suspend) {\r
- memset(pick, 0, MAXSZ_BUF);\r
- len_val = process_config_vars(bufp, len, pick, "roam_trigger=");\r
- if (len_val)\r
- conf->roam_trigger[0] = (int)simple_strtol(pick, NULL, 10);\r
- printf("%s: roam_trigger = %d\n", __FUNCTION__,\r
- conf->roam_trigger[0]);\r
-\r
- memset(pick, 0, MAXSZ_BUF);\r
- len_val = process_config_vars(bufp, len, pick, "roam_scan_period=");\r
- if (len_val)\r
- conf->roam_scan_period[0] = (int)simple_strtol(pick, NULL, 10);\r
- printf("%s: roam_scan_period = %d\n", __FUNCTION__,\r
- conf->roam_scan_period[0]);\r
-\r
- memset(pick, 0, MAXSZ_BUF);\r
- len_val = process_config_vars(bufp, len, pick, "roam_delta=");\r
- if (len_val)\r
- conf->roam_delta[0] = (int)simple_strtol(pick, NULL, 10);\r
- printf("%s: roam_delta = %d\n", __FUNCTION__, conf->roam_delta[0]);\r
-\r
- memset(pick, 0, MAXSZ_BUF);\r
- len_val = process_config_vars(bufp, len, pick, "fullroamperiod=");\r
- if (len_val)\r
- conf->fullroamperiod = (int)simple_strtol(pick, NULL, 10);\r
- printf("%s: fullroamperiod = %d\n", __FUNCTION__,\r
- conf->fullroamperiod);\r
- }\r
-\r
/* Process keep alive period */\r
memset(pick, 0, MAXSZ_BUF);\r
len_val = process_config_vars(bufp, len, pick, "keep_alive_period=");\r
conf->keep_alive_period);\r
}\r
\r
- /* Process WMM parameters */\r
- memset(pick, 0, MAXSZ_BUF);\r
- len_val = process_config_vars(bufp, len, pick, "force_wme_ac=");\r
- if (len_val) {\r
- conf->force_wme_ac = (int)simple_strtol(pick, NULL, 10);\r
- printf("%s: force_wme_ac = %d\n", __FUNCTION__, conf->force_wme_ac);\r
- }\r
-\r
- if (conf->force_wme_ac) {\r
- memset(pick, 0, MAXSZ_BUF);\r
- len_val = process_config_vars(bufp, len, pick, "bk_aifsn=");\r
- if (len_val) {\r
- conf->wme.aifsn[AC_BK] = (int)simple_strtol(pick, NULL, 10);\r
- printf("%s: AC_BK aifsn = %d\n", __FUNCTION__, conf->wme.aifsn[AC_BK]);\r
- }\r
-\r
- memset(pick, 0, MAXSZ_BUF);\r
- len_val = process_config_vars(bufp, len, pick, "bk_cwmin=");\r
- if (len_val) {\r
- conf->wme.cwmin[AC_BK] = (int)simple_strtol(pick, NULL, 10);\r
- printf("%s: AC_BK cwmin = %d\n", __FUNCTION__, conf->wme.cwmin[AC_BK]);\r
- }\r
-\r
- memset(pick, 0, MAXSZ_BUF);\r
- len_val = process_config_vars(bufp, len, pick, "bk_cwmax=");\r
- if (len_val) {\r
- conf->wme.cwmax[AC_BK] = (int)simple_strtol(pick, NULL, 10);\r
- printf("%s: AC_BK cwmax = %d\n", __FUNCTION__, conf->wme.cwmax[AC_BK]);\r
- }\r
-\r
- memset(pick, 0, MAXSZ_BUF);\r
- len_val = process_config_vars(bufp, len, pick, "be_aifsn=");\r
- if (len_val) {\r
- conf->wme.aifsn[AC_BE] = (int)simple_strtol(pick, NULL, 10);\r
- printf("%s: AC_BE aifsn = %d\n", __FUNCTION__, conf->wme.aifsn[AC_BE]);\r
- }\r
-\r
- memset(pick, 0, MAXSZ_BUF);\r
- len_val = process_config_vars(bufp, len, pick, "be_cwmin=");\r
- if (len_val) {\r
- conf->wme.cwmin[AC_BE] = (int)simple_strtol(pick, NULL, 10);\r
- printf("%s: AC_BE cwmin = %d\n", __FUNCTION__, conf->wme.cwmin[AC_BE]);\r
- }\r
-\r
- memset(pick, 0, MAXSZ_BUF);\r
- len_val = process_config_vars(bufp, len, pick, "be_cwmax=");\r
- if (len_val) {\r
- conf->wme.cwmax[AC_BE] = (int)simple_strtol(pick, NULL, 10);\r
- printf("%s: AC_BE cwmax = %d\n", __FUNCTION__, conf->wme.cwmax[AC_BE]);\r
- }\r
-\r
- memset(pick, 0, MAXSZ_BUF);\r
- len_val = process_config_vars(bufp, len, pick, "vi_aifsn=");\r
- if (len_val) {\r
- conf->wme.aifsn[AC_VI] = (int)simple_strtol(pick, NULL, 10);\r
- printf("%s: AC_VI aifsn = %d\n", __FUNCTION__, conf->wme.aifsn[AC_VI]);\r
- }\r
-\r
- memset(pick, 0, MAXSZ_BUF);\r
- len_val = process_config_vars(bufp, len, pick, "vi_cwmin=");\r
- if (len_val) {\r
- conf->wme.cwmin[AC_VI] = (int)simple_strtol(pick, NULL, 10);\r
- printf("%s: AC_VI cwmin = %d\n", __FUNCTION__, conf->wme.cwmin[AC_VI]);\r
- }\r
-\r
- memset(pick, 0, MAXSZ_BUF);\r
- len_val = process_config_vars(bufp, len, pick, "vi_cwmax=");\r
- if (len_val) {\r
- conf->wme.cwmax[AC_VI] = (int)simple_strtol(pick, NULL, 10);\r
- printf("%s: AC_VI cwmax = %d\n", __FUNCTION__, conf->wme.cwmax[AC_VI]);\r
- }\r
-\r
- memset(pick, 0, MAXSZ_BUF);\r
- len_val = process_config_vars(bufp, len, pick, "vo_aifsn=");\r
- if (len_val) {\r
- conf->wme.aifsn[AC_VO] = (int)simple_strtol(pick, NULL, 10);\r
- printf("%s: AC_VO aifsn = %d\n", __FUNCTION__, conf->wme.aifsn[AC_VO]);\r
- }\r
-\r
- memset(pick, 0, MAXSZ_BUF);\r
- len_val = process_config_vars(bufp, len, pick, "vo_cwmin=");\r
- if (len_val) {\r
- conf->wme.cwmin[AC_VO] = (int)simple_strtol(pick, NULL, 10);\r
- printf("%s: AC_VO cwmin = %d\n", __FUNCTION__, conf->wme.cwmin[AC_VO]);\r
- }\r
-\r
- memset(pick, 0, MAXSZ_BUF);\r
- len_val = process_config_vars(bufp, len, pick, "vo_cwmax=");\r
- if (len_val) {\r
- conf->wme.cwmax[AC_VO] = (int)simple_strtol(pick, NULL, 10);\r
- printf("%s: AC_VO cwmax = %d\n", __FUNCTION__, conf->wme.cwmax[AC_VO]);\r
- }\r
- }\r
-\r
/* Process STBC parameters */\r
memset(pick, 0, MAXSZ_BUF);\r
len_val = process_config_vars(bufp, len, pick, "stbc=");\r