cleanup code and minor mods to docs

pull/72/head
morrownr 2023-02-23 14:29:27 -06:00
parent 589ec21474
commit 8c45ce6dae
5 changed files with 69 additions and 53 deletions

View File

@ -11,7 +11,7 @@ EXTRA_CFLAGS += -Wno-unused-variable
#EXTRA_CFLAGS += -Wno-unused-value #EXTRA_CFLAGS += -Wno-unused-value
#EXTRA_CFLAGS += -Wno-unused-label #EXTRA_CFLAGS += -Wno-unused-label
#EXTRA_CFLAGS += -Wno-unused-parameter #EXTRA_CFLAGS += -Wno-unused-parameter
EXTRA_CFLAGS += -Wno-unused-function #EXTRA_CFLAGS += -Wno-unused-function
#EXTRA_CFLAGS += -Wno-unused #EXTRA_CFLAGS += -Wno-unused
#EXTRA_CFLAGS += -Wno-uninitialized #EXTRA_CFLAGS += -Wno-uninitialized
#EXTRA_CFLAGS += -Wno-vla #EXTRA_CFLAGS += -Wno-vla
@ -122,7 +122,7 @@ CONFIG_RTW_DEBUG = y
CONFIG_RTW_LOG_LEVEL = 1 CONFIG_RTW_LOG_LEVEL = 1
# enable /proc/net/rtlxxxx/ debug interfaces # enable /proc/net/rtlxxxx/ debug interfaces
CONFIG_PROC_DEBUG = y CONFIG_PROC_DEBUG = n
######################## Wake On Lan ########################## ######################## Wake On Lan ##########################
CONFIG_WOWLAN = n CONFIG_WOWLAN = n

View File

@ -563,10 +563,9 @@ as good as it.
To-Do: To-Do:
- Improve secure boot support. - Improve secure boot support.
- Add driver compression for kernels > 5.3.
- Detect and alert users when Airplane Mode is on. - Detect and alert users when Airplane Mode is on.
- Test for installation in VM's. - Test for installation in VM's.
- Installation script needs to check country code setup. - Check country code setup.
- Reduce the size of the README while keeping the needed information. - Reduce the size of the README while keeping the needed information.
- Optimize scripts. - Optimize scripts.
@ -575,4 +574,3 @@ To-Do:
#### [Go to Main Menu](https://github.com/morrownr/USB-WiFi) #### [Go to Main Menu](https://github.com/morrownr/USB-WiFi)
----- -----

View File

@ -59,7 +59,7 @@ u8 rtw_set_tim_ie(u8 dtim_cnt, u8 dtim_period
if (tim_bmp[i]) if (tim_bmp[i])
break; break;
n1 = i & 0xFE; n1 = i & 0xFE;
/* find the last nonzero octet in tim_bitmap, except octet 0 */ /* find the last nonzero octet in tim_bitmap, except octet 0 */
for (i = tim_bmp_len - 1; i > 0; i--) for (i = tim_bmp_len - 1; i > 0; i--)
if (tim_bmp[i]) if (tim_bmp[i])
@ -301,7 +301,7 @@ u8 chk_sta_is_alive(struct sta_info *psta)
hwmp_alive = (psta->sta_stats.rx_hwmp_pkts != hwmp_alive = (psta->sta_stats.rx_hwmp_pkts !=
psta->sta_stats.last_rx_hwmp_pkts); psta->sta_stats.last_rx_hwmp_pkts);
bcn_alive = (psta->sta_stats.rx_beacon_pkts != bcn_alive = (psta->sta_stats.rx_beacon_pkts !=
psta->sta_stats.last_rx_beacon_pkts); psta->sta_stats.last_rx_beacon_pkts);
/* The reference for nexthop_lookup */ /* The reference for nexthop_lookup */
psta->alive = ret || hwmp_alive || bcn_alive; psta->alive = ret || hwmp_alive || bcn_alive;
@ -372,7 +372,7 @@ static void rtw_check_restore_rf18(_adapter *padapter)
struct mlme_ext_priv *pmlmeext = &(padapter->mlmeextpriv); struct mlme_ext_priv *pmlmeext = &(padapter->mlmeextpriv);
u32 reg; u32 reg;
u8 union_ch = 0, union_bw = 0, union_offset = 0, setchbw = _FALSE; u8 union_ch = 0, union_bw = 0, union_offset = 0, setchbw = _FALSE;
reg = rtw_hal_read_rfreg(padapter, 0, 0x18, 0x3FF); reg = rtw_hal_read_rfreg(padapter, 0, 0x18, 0x3FF);
if ((reg & 0xFF) == 0) if ((reg & 0xFF) == 0)
setchbw = _TRUE; setchbw = _TRUE;
@ -726,7 +726,7 @@ void expire_timeout_chk(_adapter *padapter)
#ifdef CONFIG_RTW_TOKEN_BASED_XMIT #ifdef CONFIG_RTW_TOKEN_BASED_XMIT
if (psta->tbtx_enable) if (psta->tbtx_enable)
pstapriv->tbtx_asoc_list_cnt--; pstapriv->tbtx_asoc_list_cnt--;
#endif #endif
STA_SET_MESH_PLINK(psta, NULL); STA_SET_MESH_PLINK(psta, NULL);
} }
_exit_critical_bh(&pstapriv->asoc_list_lock, &irqL); _exit_critical_bh(&pstapriv->asoc_list_lock, &irqL);
@ -1207,18 +1207,20 @@ void update_sta_info_apmode(_adapter *padapter, struct sta_info *psta)
_exit_critical_bh(&psta->lock, &irqL); _exit_critical_bh(&psta->lock, &irqL);
} }
#ifdef CONFIG_RTW_80211K // nrm
static void update_rm_cap(u8 *frame_head, _adapter *pa, u32 pktlen, int offset) // not used
{ //#ifdef CONFIG_RTW_80211K
u8 *res; //static void update_rm_cap(u8 *frame_head, _adapter *pa, u32 pktlen, int offset)
sint len; //{
// u8 *res;
res = rtw_get_ie(frame_head + offset, _EID_RRM_EN_CAP_IE_, &len, // sint len;
pktlen - offset); //
if (res != NULL) // res = rtw_get_ie(frame_head + offset, _EID_RRM_EN_CAP_IE_, &len,
_rtw_memcpy((void *)pa->rmpriv.rm_en_cap_def, (res + 2), len); // pktlen - offset);
} // if (res != NULL)
#endif // _rtw_memcpy((void *)pa->rmpriv.rm_en_cap_def, (res + 2), len);
//}
//#endif
static void update_ap_info(_adapter *padapter, struct sta_info *psta) static void update_ap_info(_adapter *padapter, struct sta_info *psta)
{ {
@ -1544,7 +1546,7 @@ static void rtw_ap_check_scan(_adapter *padapter)
if (_FALSE == ATOMIC_READ(&pmlmepriv->olbc_ht)) if (_FALSE == ATOMIC_READ(&pmlmepriv->olbc_ht))
ATOMIC_SET(&pmlmepriv->olbc_ht, _TRUE); ATOMIC_SET(&pmlmepriv->olbc_ht, _TRUE);
if (padapter->registrypriv.wifi_spec) if (padapter->registrypriv.wifi_spec)
RTW_INFO("%s: %s is a/b/g ap\n", __func__, pnetwork->network.Ssid.Ssid); RTW_INFO("%s: %s is a/b/g ap\n", __func__, pnetwork->network.Ssid.Ssid);
} }
@ -1762,7 +1764,7 @@ chbw_decision:
#ifdef CONFIG_MCC_MODE #ifdef CONFIG_MCC_MODE
if (MCC_EN(padapter)) { if (MCC_EN(padapter)) {
/* /*
* due to check under rtw_ap_chbw_decision * due to check under rtw_ap_chbw_decision
* if under MCC mode, means req channel setting is the same as current channel setting * if under MCC mode, means req channel setting is the same as current channel setting
* if not under MCC mode, mean req channel setting is not the same as current channel setting * if not under MCC mode, mean req channel setting is not the same as current channel setting
@ -2066,7 +2068,7 @@ int rtw_check_beacon_data(_adapter *padapter, u8 *pbuf, int len)
pbss_network->IELength = pbss_network->IELength - *(p+1) - 2; pbss_network->IELength = pbss_network->IELength - *(p+1) - 2;
ret_rm = rtw_ies_remove_ie(ie , &len, _BEACON_IE_OFFSET_, _ERPINFO_IE_,NULL,0); ret_rm = rtw_ies_remove_ie(ie , &len, _BEACON_IE_OFFSET_, _ERPINFO_IE_,NULL,0);
RTW_DBG("%s, remove_ie of ERP_IE=%d\n", __FUNCTION__, ret_rm); RTW_DBG("%s, remove_ie of ERP_IE=%d\n", __FUNCTION__, ret_rm);
} else } else
ERP_IE_handler(padapter, (PNDIS_802_11_VARIABLE_IEs)p); ERP_IE_handler(padapter, (PNDIS_802_11_VARIABLE_IEs)p);
} }
@ -3920,10 +3922,10 @@ u8 ap_free_sta(_adapter *padapter, struct sta_info *psta, bool active, u16 reaso
beacon_updated = bss_cap_update_on_sta_leave(padapter, psta); beacon_updated = bss_cap_update_on_sta_leave(padapter, psta);
report_del_sta_event(padapter, psta->cmn.mac_addr, reason, enqueue, _FALSE); report_del_sta_event(padapter, psta->cmn.mac_addr, reason, enqueue, _FALSE);
/* clear cam entry / key */ /* clear cam entry / key */
rtw_clearstakey_cmd(padapter, psta, enqueue); rtw_clearstakey_cmd(padapter, psta, enqueue);
return beacon_updated; return beacon_updated;
} }
@ -4735,7 +4737,7 @@ u8 rtw_ap_chbw_decision(_adapter *adapter, u8 ifbmp, u8 excl_ifbmp
rtw_hal_set_mcc_setting_disconnect(adapter); rtw_hal_set_mcc_setting_disconnect(adapter);
} }
} }
} }
#endif /* CONFIG_MCC_MODE */ #endif /* CONFIG_MCC_MODE */
@ -4859,7 +4861,7 @@ u8 rtw_ap_chbw_decision(_adapter *adapter, u8 ifbmp, u8 excl_ifbmp
u8 tmp_ch = dec_ch[i]; u8 tmp_ch = dec_ch[i];
u8 tmp_bw = dec_bw[i]; u8 tmp_bw = dec_bw[i];
u8 tmp_offset = dec_offset[i]; u8 tmp_offset = dec_offset[i];
rtw_adjust_chbw(adapter, tmp_ch, &tmp_bw, &tmp_offset); rtw_adjust_chbw(adapter, tmp_ch, &tmp_bw, &tmp_offset);
rtw_get_offset_by_chbw(tmp_ch, tmp_bw, &tmp_offset); rtw_get_offset_by_chbw(tmp_ch, tmp_bw, &tmp_offset);
@ -5586,7 +5588,7 @@ static bool rtw_ap_data_bmc_to_uc(_adapter *adapter
sta = LIST_CONTAINOR(list, struct sta_info, asoc_list); sta = LIST_CONTAINOR(list, struct sta_info, asoc_list);
list = get_next(list); list = get_next(list);
stainfo_offset = rtw_stainfo_offset(stapriv, sta); stainfo_offset = rtw_stainfo_offset(stapriv, sta);
if (stainfo_offset_valid(stainfo_offset)) if (stainfo_offset_valid(stainfo_offset))
b2u_sta_id[b2u_sta_num++] = stainfo_offset; b2u_sta_id[b2u_sta_num++] = stainfo_offset;
@ -5907,7 +5909,7 @@ int rtw_ap_rx_msdu_act_check(union recv_frame *rframe
goto fwd_chk; goto fwd_chk;
} }
if (is_da_self) { if (is_da_self) {
/* DA is self, indicate */ /* DA is self, indicate */
act |= RTW_RX_MSDU_ACT_INDICATE; act |= RTW_RX_MSDU_ACT_INDICATE;
@ -6056,8 +6058,8 @@ void rtw_issue_action_token_req(_adapter *padapter, struct sta_info *pstat)
/* update attribute */ /* update attribute */
pattrib = &pmgntframe->attrib; pattrib = &pmgntframe->attrib;
update_mgntframe_attrib(padapter, pattrib); update_mgntframe_attrib(padapter, pattrib);
pattrib->rate = MGN_24M; /* issue action request using OFDM rate? 20190716 Bruce add */ pattrib->rate = MGN_24M; /* issue action request using OFDM rate? 20190716 Bruce add */
_rtw_memset(pmgntframe->buf_addr, 0, WLANHDR_OFFSET + TXDESC_OFFSET); _rtw_memset(pmgntframe->buf_addr, 0, WLANHDR_OFFSET + TXDESC_OFFSET);
pframe = (u8 *)(pmgntframe->buf_addr) + TXDESC_OFFSET; pframe = (u8 *)(pmgntframe->buf_addr) + TXDESC_OFFSET;
@ -6069,7 +6071,7 @@ void rtw_issue_action_token_req(_adapter *padapter, struct sta_info *pstat)
_rtw_memcpy((void *)GetAddr1Ptr(pwlanhdr), pstat->cmn.mac_addr, ETH_ALEN); _rtw_memcpy((void *)GetAddr1Ptr(pwlanhdr), pstat->cmn.mac_addr, ETH_ALEN);
_rtw_memcpy((void *)get_addr2_ptr(pwlanhdr), adapter_mac_addr(padapter), ETH_ALEN); _rtw_memcpy((void *)get_addr2_ptr(pwlanhdr), adapter_mac_addr(padapter), ETH_ALEN);
_rtw_memcpy((void *)GetAddr3Ptr(pwlanhdr), get_my_bssid(&(pmlmeinfo->network)), ETH_ALEN); _rtw_memcpy((void *)GetAddr3Ptr(pwlanhdr), get_my_bssid(&(pmlmeinfo->network)), ETH_ALEN);
SetSeqNum(pwlanhdr, pmlmeext->mgnt_seq); SetSeqNum(pwlanhdr, pmlmeext->mgnt_seq);
pmlmeext->mgnt_seq++; pmlmeext->mgnt_seq++;

View File

@ -28,7 +28,7 @@
# GNU General Public License for more details. # GNU General Public License for more details.
SCRIPT_NAME="install-driver.sh" SCRIPT_NAME="install-driver.sh"
SCRIPT_VERSION="20230126" SCRIPT_VERSION="20230221"
MODULE_NAME="8821cu" MODULE_NAME="8821cu"
DRV_VERSION="5.12.0.4" DRV_VERSION="5.12.0.4"
@ -188,6 +188,9 @@ fi
#fi #fi
echo ": ---------------------------" echo ": ---------------------------"
echo
echo "Checking for previously installed drivers."
# check for and remove non-dkms installations # check for and remove non-dkms installations
# standard naming # standard naming
@ -200,6 +203,8 @@ if [ -f "${MODDESTDIR}${MODULE_NAME}.ko" ]; then
echo "Removing source files from /usr/src/${DRV_NAME}-${DRV_VERSION}" echo "Removing source files from /usr/src/${DRV_NAME}-${DRV_VERSION}"
rm -rf /usr/src/${DRV_NAME}-${DRV_VERSION} rm -rf /usr/src/${DRV_NAME}-${DRV_VERSION}
make clean >/dev/null 2>&1 make clean >/dev/null 2>&1
echo "Removal complete."
echo ": ---------------------------"
fi fi
# check for and remove non-dkms installations # check for and remove non-dkms installations
@ -213,6 +218,8 @@ if [ -f "${MODDESTDIR}rtl${MODULE_NAME}.ko" ]; then
echo "Removing source files from /usr/src/${DRV_NAME}-${DRV_VERSION}" echo "Removing source files from /usr/src/${DRV_NAME}-${DRV_VERSION}"
rm -rf /usr/src/${DRV_NAME}-${DRV_VERSION} rm -rf /usr/src/${DRV_NAME}-${DRV_VERSION}
make clean >/dev/null 2>&1 make clean >/dev/null 2>&1
echo "Removal complete."
echo ": ---------------------------"
fi fi
# check for and remove non-dkms installations # check for and remove non-dkms installations
@ -228,6 +235,8 @@ if [ -f "/usr/lib/modules/${KVER}/kernel/drivers/net/wireless/${DRV_NAME}/${MODU
echo "Removing source files from /usr/src/${DRV_NAME}-${DRV_VERSION}" echo "Removing source files from /usr/src/${DRV_NAME}-${DRV_VERSION}"
rm -rf /usr/src/${DRV_NAME}-${DRV_VERSION} rm -rf /usr/src/${DRV_NAME}-${DRV_VERSION}
make clean >/dev/null 2>&1 make clean >/dev/null 2>&1
echo "Removal complete."
echo ": ---------------------------"
fi fi
# check for and remove dkms installations # check for and remove dkms installations
@ -239,10 +248,13 @@ if command -v dkms >/dev/null 2>&1; then
rm -f /etc/modprobe.d/${OPTIONS_FILE} rm -f /etc/modprobe.d/${OPTIONS_FILE}
echo "Removing source files from /usr/src/${DRV_NAME}-${DRV_VERSION}" echo "Removing source files from /usr/src/${DRV_NAME}-${DRV_VERSION}"
rm -rf /usr/src/${DRV_NAME}-${DRV_VERSION} rm -rf /usr/src/${DRV_NAME}-${DRV_VERSION}
echo "Removal complete."
echo ": ---------------------------"
fi fi
fi fi
# sets module parameters (driver options) and blacklisted modules # sets module parameters (driver options) and blacklisted modules
echo "Starting installation."
echo "Installing ${OPTIONS_FILE} to /etc/modprobe.d" echo "Installing ${OPTIONS_FILE} to /etc/modprobe.d"
cp -f ${OPTIONS_FILE} /etc/modprobe.d cp -f ${OPTIONS_FILE} /etc/modprobe.d
@ -310,6 +322,7 @@ else
fi fi
else else
echo "The driver was added to dkms successfully." echo "The driver was added to dkms successfully."
echo ": ---------------------------"
fi fi
if command -v /usr/bin/time >/dev/null 2>&1; then if command -v /usr/bin/time >/dev/null 2>&1; then
@ -328,6 +341,7 @@ else
exit $RESULT exit $RESULT
else else
echo "The driver was built by dkms successfully." echo "The driver was built by dkms successfully."
echo ": ---------------------------"
fi fi
dkms install -m ${DRV_NAME} -v ${DRV_VERSION} dkms install -m ${DRV_NAME} -v ${DRV_VERSION}
@ -342,6 +356,7 @@ else
exit $RESULT exit $RESULT
else else
echo "The driver was installed by dkms successfully." echo "The driver was installed by dkms successfully."
echo ": ---------------------------"
fi fi
fi fi
@ -354,6 +369,7 @@ fi
# if NoPrompt is not used, ask user some questions # if NoPrompt is not used, ask user some questions
if [ $NO_PROMPT -ne 1 ]; then if [ $NO_PROMPT -ne 1 ]; then
echo
printf "Do you want to edit the driver options file now? [y/N] " printf "Do you want to edit the driver options file now? [y/N] "
read -r REPLY read -r REPLY
case "$REPLY" in case "$REPLY" in

View File

@ -1079,7 +1079,7 @@ static void rtw_regsty_load_tx_ac_lifetime(struct registry_priv *regsty)
conf->en = parm[0] & 0xF; conf->en = parm[0] & 0xF;
conf->vo_vi = parm[1]; conf->vo_vi = parm[1];
conf->be_bk = parm[2]; conf->be_bk = parm[2];
} }
} }
} }
#endif #endif
@ -2089,7 +2089,7 @@ static void rtw_ethtool_get_stats(struct net_device *dev,
struct recv_priv *precvpriv = NULL; struct recv_priv *precvpriv = NULL;
memset(data, 0, sizeof(u64) * RTW_ETHTOOL_STATS_LEN); memset(data, 0, sizeof(u64) * RTW_ETHTOOL_STATS_LEN);
padapter = (_adapter *)rtw_netdev_priv(dev); padapter = (_adapter *)rtw_netdev_priv(dev);
if (padapter) { if (padapter) {
pxmitpriv = &(padapter->xmitpriv); pxmitpriv = &(padapter->xmitpriv);
@ -2120,7 +2120,7 @@ static const struct ethtool_ops rtw_ethtool_ops = {
.get_ethtool_stats = rtw_ethtool_get_stats, .get_ethtool_stats = rtw_ethtool_get_stats,
.get_sset_count = rtw_ethtool_get_sset_count, .get_sset_count = rtw_ethtool_get_sset_count,
}; };
#endif // LINUX_VERSION_CODE >= 3.7.8 #endif // LINUX_VERSION_CODE >= 3.7.8
#endif /* CONFIG_IOCTL_CFG80211 */ #endif /* CONFIG_IOCTL_CFG80211 */
/* For ethtool --- */ /* For ethtool --- */
@ -2664,7 +2664,7 @@ struct dvobj_priv *devobj_init(void)
pdvobj->tpt_mode = 0; pdvobj->tpt_mode = 0;
pdvobj->edca_be_ul = 0x5ea42b; pdvobj->edca_be_ul = 0x5ea42b;
pdvobj->edca_be_dl = 0x00a42b; pdvobj->edca_be_dl = 0x00a42b;
#endif #endif
pdvobj->scan_deny = _FALSE; pdvobj->scan_deny = _FALSE;
/* wpas type default from w1.fi */ /* wpas type default from w1.fi */
@ -2846,14 +2846,14 @@ u8 rtw_init_drv_sw(_adapter *padapter)
dvobj->macid_ctl.macid_txrpt_pgsz = hal_spec->macid_txrpt_pgsz; dvobj->macid_ctl.macid_txrpt_pgsz = hal_spec->macid_txrpt_pgsz;
dvobj->cam_ctl.sec_cap = hal_spec->sec_cap; dvobj->cam_ctl.sec_cap = hal_spec->sec_cap;
dvobj->cam_ctl.num = rtw_min(hal_spec->sec_cam_ent_num, SEC_CAM_ENT_NUM_SW_LIMIT); dvobj->cam_ctl.num = rtw_min(hal_spec->sec_cam_ent_num, SEC_CAM_ENT_NUM_SW_LIMIT);
dvobj->wow_ctl.wow_cap = hal_spec->wow_cap; dvobj->wow_ctl.wow_cap = hal_spec->wow_cap;
#ifdef CONFIG_SDIO_TX_ENABLE_AVAL_INT #ifdef CONFIG_SDIO_TX_ENABLE_AVAL_INT
dvobj->tx_aval_int_thr_mode = 2; /*setting by max tx length*/ dvobj->tx_aval_int_thr_mode = 2; /*setting by max tx length*/
dvobj->tx_aval_int_thr_value = 0; dvobj->tx_aval_int_thr_value = 0;
#endif /*CONFIG_SDIO_TX_ENABLE_AVAL_INT*/ #endif /*CONFIG_SDIO_TX_ENABLE_AVAL_INT*/
#if CONFIG_TX_AC_LIFETIME #if CONFIG_TX_AC_LIFETIME
{ {
struct registry_priv *regsty = adapter_to_regsty(padapter); struct registry_priv *regsty = adapter_to_regsty(padapter);
@ -3092,7 +3092,7 @@ void rtw_cancel_all_timer(_adapter *padapter)
_cancel_timer_ex(&(adapter_to_pwrctl(padapter)->pwr_rpwm_timer)); _cancel_timer_ex(&(adapter_to_pwrctl(padapter)->pwr_rpwm_timer));
#endif /* CONFIG_LPS_RPWM_TIMER */ #endif /* CONFIG_LPS_RPWM_TIMER */
#ifdef CONFIG_RTW_TOKEN_BASED_XMIT #ifdef CONFIG_RTW_TOKEN_BASED_XMIT
_cancel_timer_ex(&padapter->mlmeextpriv.tbtx_xmit_timer); _cancel_timer_ex(&padapter->mlmeextpriv.tbtx_xmit_timer);
_cancel_timer_ex(&padapter->mlmeextpriv.tbtx_token_dispatch_timer); _cancel_timer_ex(&padapter->mlmeextpriv.tbtx_token_dispatch_timer);
#endif #endif
@ -3862,7 +3862,7 @@ int _netdev_open(struct net_device *pnetdev)
RTW_INFO(FUNC_NDEV_FMT" start\n", FUNC_NDEV_ARG(pnetdev)); RTW_INFO(FUNC_NDEV_FMT" start\n", FUNC_NDEV_ARG(pnetdev));
if (!rtw_is_hw_init_completed(padapter)) { // ips if (!rtw_is_hw_init_completed(padapter)) { // ips
rtw_clr_surprise_removed(padapter); rtw_clr_surprise_removed(padapter);
rtw_clr_drv_stopped(padapter); rtw_clr_drv_stopped(padapter);
RTW_ENABLE_FUNC(padapter, DF_RX_BIT); RTW_ENABLE_FUNC(padapter, DF_RX_BIT);
@ -3884,7 +3884,7 @@ int _netdev_open(struct net_device *pnetdev)
{ {
#ifdef CONFIG_BT_COEXIST_SOCKET_TRX #ifdef CONFIG_BT_COEXIST_SOCKET_TRX
_adapter *prim_adpt = GET_PRIMARY_ADAPTER(padapter); _adapter *prim_adpt = GET_PRIMARY_ADAPTER(padapter);
if (prim_adpt && (_TRUE == prim_adpt->EEPROMBluetoothCoexist)) { if (prim_adpt && (_TRUE == prim_adpt->EEPROMBluetoothCoexist)) {
rtw_btcoex_init_socket(prim_adpt); rtw_btcoex_init_socket(prim_adpt);
prim_adpt->coex_info.BtMgnt.ExtConfig.HCIExtensionVer = 0x04; prim_adpt->coex_info.BtMgnt.ExtConfig.HCIExtensionVer = 0x04;
@ -4250,7 +4250,7 @@ int _pm_netdev_open(_adapter *padapter)
RTW_INFO(FUNC_NDEV_FMT" start\n", FUNC_NDEV_ARG(pnetdev)); RTW_INFO(FUNC_NDEV_FMT" start\n", FUNC_NDEV_ARG(pnetdev));
if (!rtw_is_hw_init_completed(padapter)) { // ips if (!rtw_is_hw_init_completed(padapter)) { // ips
rtw_clr_surprise_removed(padapter); rtw_clr_surprise_removed(padapter);
rtw_clr_drv_stopped(padapter); rtw_clr_drv_stopped(padapter);
status = rtw_hal_init(padapter); status = rtw_hal_init(padapter);
@ -4805,14 +4805,14 @@ void rtw_dev_unload(PADAPTER padapter)
#endif #endif
rtw_intf_stop(padapter); rtw_intf_stop(padapter);
rtw_stop_drv_threads(padapter); rtw_stop_drv_threads(padapter);
if (ATOMIC_READ(&(pcmdpriv->cmdthd_running)) == _TRUE) { if (ATOMIC_READ(&(pcmdpriv->cmdthd_running)) == _TRUE) {
RTW_ERR("cmd_thread not stop !!\n"); RTW_ERR("cmd_thread not stop !!\n");
rtw_warn_on(1); rtw_warn_on(1);
} }
/* check the status of IPS */ /* check the status of IPS */
if (rtw_hal_check_ips_status(padapter) == _TRUE || pwrctl->rf_pwrstate == rf_off) { /* check HW status and SW state */ if (rtw_hal_check_ips_status(padapter) == _TRUE || pwrctl->rf_pwrstate == rf_off) { /* check HW status and SW state */
RTW_PRINT("%s: driver in IPS-FWLPS\n", __func__); RTW_PRINT("%s: driver in IPS-FWLPS\n", __func__);
@ -4945,16 +4945,16 @@ int rtw_suspend_wow(_adapter *padapter)
/* 2.1 clean interrupt */ /* 2.1 clean interrupt */
rtw_hal_clear_interrupt(padapter); rtw_hal_clear_interrupt(padapter);
#endif /* CONFIG_SDIO_HCI */ #endif /* CONFIG_SDIO_HCI */
/* enable ac lifetime during scan to avoid txfifo not empty. */ /* enable ac lifetime during scan to avoid txfifo not empty. */
dvobj->lifetime_en = rtw_read8(padapter, 0x426); dvobj->lifetime_en = rtw_read8(padapter, 0x426);
dvobj->pkt_lifetime = rtw_read32(padapter, 0x4c0); dvobj->pkt_lifetime = rtw_read32(padapter, 0x4c0);
rtw_write8(padapter, 0x426, rtw_read8(padapter, 0x426) | 0x0f); rtw_write8(padapter, 0x426, rtw_read8(padapter, 0x426) | 0x0f);
if(hal_spec->tx_aclt_unit_factor == 1) { if(hal_spec->tx_aclt_unit_factor == 1) {
rtw_write16(padapter, 0x4c0, 0x1000); // unit: 32us. 131ms rtw_write16(padapter, 0x4c0, 0x1000); // unit: 32us. 131ms
rtw_write16(padapter, 0x4c0 + 2 , 0x1000); // unit: 32us. 131ms rtw_write16(padapter, 0x4c0 + 2 , 0x1000); // unit: 32us. 131ms
} else { } else {
rtw_write16(padapter, 0x4c0, 0x0200); // unit: 256us. 131ms rtw_write16(padapter, 0x4c0, 0x0200); // unit: 256us. 131ms
rtw_write16(padapter, 0x4c0 + 2 , 0x0200); // unit: 256us. 131ms rtw_write16(padapter, 0x4c0 + 2 , 0x0200); // unit: 256us. 131ms
} }
for (i = 0; i < dvobj->iface_nums; i++) { for (i = 0; i < dvobj->iface_nums; i++) {
@ -4966,7 +4966,7 @@ int rtw_suspend_wow(_adapter *padapter)
} }
RTW_INFO("lifetime_en=%x, pkt_lifetime=%x\n", rtw_read8(padapter, 0x426), rtw_read32(padapter, 0x4c0)); RTW_INFO("lifetime_en=%x, pkt_lifetime=%x\n", rtw_read8(padapter, 0x426), rtw_read32(padapter, 0x4c0));
rtw_msleep_os(200); rtw_msleep_os(200);
/* 1. stop thread */ /* 1. stop thread */
rtw_set_drv_stopped(padapter); /*for stop thread*/ rtw_set_drv_stopped(padapter); /*for stop thread*/
rtw_mi_stop_drv_threads(padapter); rtw_mi_stop_drv_threads(padapter);
@ -5359,14 +5359,14 @@ int rtw_resume_process_wow(_adapter *padapter)
rtw_clr_drv_stopped(padapter); rtw_clr_drv_stopped(padapter);
RTW_INFO("%s: wowmode resuming, DriverStopped:%s\n", __func__, rtw_is_drv_stopped(padapter) ? "True" : "False"); RTW_INFO("%s: wowmode resuming, DriverStopped:%s\n", __func__, rtw_is_drv_stopped(padapter) ? "True" : "False");
if(registry_par->suspend_type == FW_IPS_WRC) if(registry_par->suspend_type == FW_IPS_WRC)
rtw_hal_set_hwreg(padapter, HW_VAR_VENDOR_WOW_MODE, &en); rtw_hal_set_hwreg(padapter, HW_VAR_VENDOR_WOW_MODE, &en);
rtw_mi_start_drv_threads(padapter); rtw_mi_start_drv_threads(padapter);
rtw_mi_intf_start(padapter); rtw_mi_intf_start(padapter);
if(registry_par->suspend_type == FW_IPS_DISABLE_BBRF && !check_fwstate(pmlmepriv, WIFI_ASOC_STATE)) { if(registry_par->suspend_type == FW_IPS_DISABLE_BBRF && !check_fwstate(pmlmepriv, WIFI_ASOC_STATE)) {
if (!rtw_is_surprise_removed(padapter)) { if (!rtw_is_surprise_removed(padapter)) {
rtw_hal_deinit(padapter); rtw_hal_deinit(padapter);