void rtw_sreset_reset(struct rtw_adapter *active_adapter) { struct rtw_adapter *padapter = GET_PRIMARY_ADAPTER(active_adapter); struct hal_data_8723a *pHalData = GET_HAL_DATA(padapter); struct sreset_priv *psrtpriv = &pHalData->srestpriv; struct pwrctrl_priv *pwrpriv = &padapter->pwrctrlpriv; unsigned long start = jiffies; DBG_8723A("%s\n", __func__); mutex_lock(&psrtpriv->silentreset_mutex); psrtpriv->silent_reset_inprogress = true; pwrpriv->change_rfpwrstate = rf_off; sreset_stop_adapter(padapter); ips_enter23a(padapter); ips_leave23a(padapter); sreset_start_adapter(padapter); psrtpriv->silent_reset_inprogress = false; mutex_unlock(&psrtpriv->silentreset_mutex); DBG_8723A("%s done in %d ms\n", __func__, jiffies_to_msecs(jiffies - start)); }
void rtw_ps_processor23a(struct rtw_adapter *padapter) { struct pwrctrl_priv *pwrpriv = &padapter->pwrctrlpriv; struct mlme_priv *pmlmepriv = &padapter->mlmepriv; pwrpriv->ps_processing = true; if (pwrpriv->bips_processing == true) goto exit; if (pwrpriv->ips_mode_req == IPS_NONE) goto exit; if (rtw_pwr_unassociated_idle(padapter) == false) goto exit; if (pwrpriv->rf_pwrstate == rf_on && (pwrpriv->pwr_state_check_cnts % 4) == 0) { DBG_8723A("==>%s .fw_state(%x)\n", __func__, get_fwstate(pmlmepriv)); pwrpriv->change_rfpwrstate = rf_off; ips_enter23a(padapter); } exit: rtw_set_pwr_state_check_timer(&padapter->pwrctrlpriv); pwrpriv->ps_processing = false; return; }