diff options
Diffstat (limited to 'drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_init.c')
-rw-r--r-- | drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_init.c | 35 |
1 files changed, 29 insertions, 6 deletions
diff --git a/drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_init.c b/drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_init.c index 077a6614dbc9..c57303951a04 100644 --- a/drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_init.c +++ b/drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_init.c @@ -113,6 +113,7 @@ int shutdown_hs; /** SDIO slew rate */ int slew_rate = 3; #endif +int tx_work = 0; #if defined(STA_SUPPORT) /** 802.11d configuration */ @@ -1077,6 +1078,17 @@ static mlan_status parse_cfg_read_block(t_u8 *data, t_u32 size, PRINTM(MMSG, "napi %s\n", moal_extflg_isset(handle, EXT_NAPI) ? "on" : "off"); + } else if (strncmp(line, "tx_work", strlen("tx_work")) == 0) { + if (parse_line_read_int(line, &out_data) != + MLAN_STATUS_SUCCESS) + goto err; + if (out_data) + moal_extflg_set(handle, EXT_TX_WORK); + else + moal_extflg_clear(handle, EXT_TX_WORK); + PRINTM(MMSG, "tx_work %s\n", + moal_extflg_isset(handle, EXT_TX_WORK) ? "on" : + "off"); } #if CFG80211_VERSION_CODE >= KERNEL_VERSION(3, 14, 0) else if (strncmp(line, "dfs_offload", strlen("dfs_offload")) == @@ -1109,8 +1121,8 @@ static mlan_status parse_cfg_read_block(t_u8 *data, t_u32 size, PRINTM(MMSG, "reg domain set by driver=%s\n", moal_extflg_isset(handle, EXT_DISABLE_REGD_BY_DRIVER) ? - "disable" : - "enable"); + "enable" : + "disable"); } else if (strncmp(line, "reg_alpha2", strlen("reg_alpha2")) == 0) { if (parse_line_read_string(line, &out_str) != @@ -1146,8 +1158,8 @@ static mlan_status parse_cfg_read_block(t_u8 *data, t_u32 size, moal_extflg_clear(handle, EXT_BEACON_HINTS); PRINTM(MMSG, "beacon_hints=%s\n", moal_extflg_isset(handle, EXT_BEACON_HINTS) ? - "disable" : - "enable"); + "enable" : + "disable"); } #endif #endif @@ -1173,8 +1185,8 @@ static mlan_status parse_cfg_read_block(t_u8 *data, t_u32 size, moal_extflg_clear(handle, EXT_HOST_MLME); PRINTM(MMSG, "host_mlme=%s\n", moal_extflg_isset(handle, EXT_HOST_MLME) ? - "disable" : - "enable"); + "enable" : + "disable"); } #endif #endif @@ -1415,6 +1427,9 @@ static void woal_setup_module_param(moal_handle *handle, moal_mod_para *params) } if (napi) moal_extflg_set(handle, EXT_NAPI); + if (tx_work) + moal_extflg_set(handle, EXT_TX_WORK); + #if CFG80211_VERSION_CODE >= KERNEL_VERSION(3, 14, 0) if (dfs_offload) moal_extflg_set(handle, EXT_DFS_OFFLOAD); @@ -1622,6 +1637,12 @@ void woal_init_from_dev_tree(void) } } #endif + else if (!strncmp(prop->name, "tx_work", strlen("tx_work"))) { + if (!of_property_read_u32(dt_node, prop->name, &data)) { + PRINTM(MIOCTL, "tx_work=0x%x\n", data); + tx_work = data; + } + } #ifdef MFG_CMD_SUPPORT else if (!strncmp(prop->name, "mfg_mode", strlen("mfg_mode"))) { if (!of_property_read_u32(dt_node, prop->name, &data)) { @@ -2158,6 +2179,8 @@ MODULE_PARM_DESC( slew_rate, "0:has the slowest slew rate, then 01, then 02, and 03 has the highest slew rate"); #endif +module_param(tx_work, uint, 0660); +MODULE_PARM_DESC(tx_work, "1: Enable tx_work; 0: Disable tx_work"); module_param(dpd_data_cfg, charp, 0); MODULE_PARM_DESC(dpd_data_cfg, "DPD data file name"); module_param(init_cfg, charp, 0); |