u8 rtw_init_drv_sw(_adapter *padapter) { u8 ret8=_SUCCESS; _func_enter_; RT_TRACE(_module_os_intfs_c_,_drv_info_,("+rtw_init_drv_sw\n")); if ((rtw_init_cmd_priv(&padapter->cmdpriv)) == _FAIL) { RT_TRACE(_module_os_intfs_c_,_drv_err_,("\n Can't init cmd_priv\n")); ret8=_FAIL; goto exit; } padapter->cmdpriv.padapter=padapter; if ((rtw_init_evt_priv(&padapter->evtpriv)) == _FAIL) { RT_TRACE(_module_os_intfs_c_,_drv_err_,("\n Can't init evt_priv\n")); ret8=_FAIL; goto exit; } if (rtw_init_mlme_priv(padapter) == _FAIL) { RT_TRACE(_module_os_intfs_c_,_drv_err_,("\n Can't init mlme_priv\n")); ret8=_FAIL; goto exit; } #ifdef CONFIG_IOCTL_CFG80211 #ifdef CONFIG_P2P rtw_init_cfg80211_wifidirect_info(padapter); #endif //CONFIG_P2P #endif //CONFIG_IOCTL_CFG80211 if(init_mlme_ext_priv(padapter) == _FAIL) { RT_TRACE(_module_os_intfs_c_,_drv_err_,("\n Can't init mlme_ext_priv\n")); ret8=_FAIL; goto exit; } #ifdef CONFIG_TDLS if(rtw_init_tdls_info(padapter) == _FAIL) { DBG_871X("Can't rtw_init_tdls_info\n"); ret8=_FAIL; goto exit; } #endif //CONFIG_TDLS if(_rtw_init_xmit_priv(&padapter->xmitpriv, padapter) == _FAIL) { DBG_871X("Can't _rtw_init_xmit_priv\n"); ret8=_FAIL; goto exit; } if(_rtw_init_recv_priv(&padapter->recvpriv, padapter) == _FAIL) { DBG_871X("Can't _rtw_init_recv_priv\n"); ret8=_FAIL; goto exit; } // We don't need to memset padapter->XXX to zero, because adapter is allocated by rtw_zvmalloc(). //_rtw_memset((unsigned char *)&padapter->securitypriv, 0, sizeof (struct security_priv)); //_init_timer(&(padapter->securitypriv.tkip_timer), padapter->pnetdev, rtw_use_tkipkey_handler, padapter); if(_rtw_init_sta_priv(&padapter->stapriv) == _FAIL) { DBG_871X("Can't _rtw_init_sta_priv\n"); ret8=_FAIL; goto exit; } padapter->stapriv.padapter = padapter; rtw_init_bcmc_stainfo(padapter); rtw_init_pwrctrl_priv(padapter); //_rtw_memset((u8 *)&padapter->qospriv, 0, sizeof (struct qos_priv));//move to mlme_priv #ifdef CONFIG_MP_INCLUDED if (init_mp_priv(padapter) == _FAIL) { ERR_8192C("%s: initialize MP private data Fail!\n", __func__); } #endif ret8 = rtw_init_default_value(padapter); rtw_dm_init(padapter); rtw_sw_led_init(padapter); #ifdef DBG_CONFIG_ERROR_DETECT rtw_sreset_init(padapter); #endif #ifdef CONFIG_BR_EXT _rtw_spinlock_init(&padapter->br_ext_lock); #endif // CONFIG_BR_EXT exit: RT_TRACE(_module_os_intfs_c_,_drv_info_,("-rtw_init_drv_sw\n")); _func_exit_; return ret8; }
u8 rtw_init_drv_sw(_adapter *padapter) { u8 ret8=_SUCCESS; _func_enter_; RT_TRACE(_module_os_intfs_c_,_drv_info_,("+rtw_init_drv_sw\n")); if ((rtw_init_cmd_priv(&padapter->cmdpriv)) == _FAIL) { RT_TRACE(_module_os_intfs_c_,_drv_err_,("\n Can't init cmd_priv\n")); ret8=_FAIL; goto exit; } padapter->cmdpriv.padapter=padapter; if ((rtw_init_evt_priv(&padapter->evtpriv)) == _FAIL) { RT_TRACE(_module_os_intfs_c_,_drv_err_,("\n Can't init evt_priv\n")); ret8=_FAIL; goto exit; } if (rtw_init_mlme_priv(padapter) == _FAIL) { RT_TRACE(_module_os_intfs_c_,_drv_err_,("\n Can't init mlme_priv\n")); ret8=_FAIL; goto exit; } if(init_mlme_ext_priv(padapter) == _FAIL) { RT_TRACE(_module_os_intfs_c_,_drv_err_,("\n Can't init mlme_ext_priv\n")); ret8=_FAIL; goto exit; } if(_rtw_init_xmit_priv(&padapter->xmitpriv, padapter) == _FAIL) { DBG_871X("Can't _rtw_init_xmit_priv\n"); ret8=_FAIL; goto exit; } if(_rtw_init_recv_priv(&padapter->recvpriv, padapter) == _FAIL) { DBG_871X("Can't _rtw_init_recv_priv\n"); ret8=_FAIL; goto exit; } _rtw_memset((unsigned char *)&padapter->securitypriv, 0, sizeof (struct security_priv)); //_init_timer(&(padapter->securitypriv.tkip_timer), padapter->pnetdev, rtw_use_tkipkey_handler, padapter); if(_rtw_init_sta_priv(&padapter->stapriv) == _FAIL) { DBG_871X("Can't _rtw_init_sta_priv\n"); ret8=_FAIL; goto exit; } padapter->stapriv.padapter = padapter; rtw_init_bcmc_stainfo(padapter); rtw_init_pwrctrl_priv(padapter); //_rtw_memset((u8 *)&padapter->qospriv, 0, sizeof (struct qos_priv));//move to mlme_priv #ifdef CONFIG_MP_INCLUDED if (init_mp_priv(padapter) == _FAIL) { ERR_8192C("%s: initialize MP private data Fail!\n", __func__); } #endif ret8 = rtw_init_default_value(padapter); rtw_dm_init(padapter); rtw_sw_led_init(padapter); #ifdef SILENT_RESET_FOR_SPECIFIC_PLATFOM rtw_sreset_init(padapter); #endif//SILENT_RESET_FOR_SPECIFIC_PLATFOM exit: RT_TRACE(_module_os_intfs_c_,_drv_info_,("-rtw_init_drv_sw\n")); _func_exit_; return ret8; }