int _ips_leave(_adapter * padapter) { struct pwrctrl_priv *pwrpriv = adapter_to_pwrctl(padapter); int result = _SUCCESS; if ((pwrpriv->rf_pwrstate == rf_off) &&(!pwrpriv->bips_processing)) { pwrpriv->bips_processing = true; pwrpriv->change_rfpwrstate = rf_on; pwrpriv->ips_leave_cnts++; DBG_871X("==>ips_leave cnts:%d\n", pwrpriv->ips_leave_cnts); if ((result = rtw_ips_pwr_up(padapter)) == _SUCCESS) { pwrpriv->rf_pwrstate = rf_on; } DBG_871X_LEVEL(_drv_always_, "nolinked power save leave\n"); DBG_871X("==> ips_leave.....LED(0x%08x)...\n", rtw_read32(padapter, 0x4c)); pwrpriv->bips_processing = false; pwrpriv->bkeepfwalive = false; pwrpriv->bpower_saving = false; } return result; }
int ips_leave(struct rtw_adapter *padapter) { struct pwrctrl_priv *pwrpriv = &padapter->pwrctrlpriv; struct security_priv *psecuritypriv = &(padapter->securitypriv); struct mlme_priv *pmlmepriv = &(padapter->mlmepriv); int result = _SUCCESS; int keyid; _enter_pwrlock(&pwrpriv->lock); if ((pwrpriv->rf_pwrstate == rf_off) && (!pwrpriv->bips_processing)) { pwrpriv->bips_processing = true; pwrpriv->change_rfpwrstate = rf_on; pwrpriv->ips_leave_cnts++; DBG_8192D("==>ips_leave cnts:%d\n", pwrpriv->ips_leave_cnts); result = rtw_ips_pwr_up(padapter); if (result == _SUCCESS) pwrpriv->rf_pwrstate = rf_on; if ((_WEP40_ == psecuritypriv->dot11PrivacyAlgrthm) || (_WEP104_ == psecuritypriv->dot11PrivacyAlgrthm)) { DBG_8192D("==>%s,channel(%d),processing(%x)\n", __func__, padapter->mlmeextpriv.cur_channel, pwrpriv->bips_processing); set_channel_bwmode(padapter, padapter->mlmeextpriv.cur_channel, HAL_PRIME_CHNL_OFFSET_DONT_CARE, HT_CHANNEL_WIDTH_20); for (keyid = 0; keyid < 4; keyid++) { if (pmlmepriv->key_mask & BIT(keyid)) { if (keyid == psecuritypriv->dot11PrivacyKeyIndex) result = rtw_set_key(padapter, psecuritypriv, keyid, 1); else result = rtw_set_key(padapter, psecuritypriv, keyid, 0); } } } DBG_8192D("==> ips_leave.....LED(0x%08x)...\n", rtw_read32(padapter, 0x4c)); pwrpriv->bips_processing = false; pwrpriv->bkeepfwalive = false; } _exit_pwrlock(&pwrpriv->lock); return result; }
int rtw_ips_leave(struct rtl_priv * rtlpriv) { struct pwrctrl_priv *pwrpriv = &rtlpriv->pwrctrlpriv; struct security_priv* psecuritypriv=&(rtlpriv->securitypriv); struct mlme_priv *pmlmepriv = &(rtlpriv->mlmepriv); int result = _SUCCESS; sint keyid; down(&pwrpriv->lock); if ((pwrpriv->rf_pwrstate == rf_off) &&(!pwrpriv->bips_processing)) { pwrpriv->bips_processing = _TRUE; pwrpriv->change_rfpwrstate = rf_on; pwrpriv->ips_leave_cnts++; DBG_871X("==>ips_leave cnts:%d\n",pwrpriv->ips_leave_cnts); if ((result = rtw_ips_pwr_up(rtlpriv)) == _SUCCESS) { pwrpriv->rf_pwrstate = rf_on; } DBG_871X_LEVEL(_drv_always_, "nolinked power save leave\n"); if ((_WEP40_ == psecuritypriv->dot11PrivacyAlgrthm) ||(_WEP104_ == psecuritypriv->dot11PrivacyAlgrthm)) { DBG_871X("==>%s,channel(%d),processing(%x)\n",__FUNCTION__,rtlpriv->mlmeextpriv.cur_channel,pwrpriv->bips_processing); set_channel_bwmode(rtlpriv, rtlpriv->mlmeextpriv.cur_channel, HAL_PRIME_CHNL_OFFSET_DONT_CARE, CHANNEL_WIDTH_20); for (keyid = 0; keyid < 4; keyid++) { if (pmlmepriv->key_mask & BIT(keyid)) { if (keyid == psecuritypriv->dot11PrivacyKeyIndex) result=rtw_set_key(rtlpriv,psecuritypriv, keyid, 1); else result=rtw_set_key(rtlpriv,psecuritypriv, keyid, 0); } } } DBG_871X("==> ips_leave.....LED(0x%08x)...\n",rtl_read_dword(rtlpriv,0x4c)); pwrpriv->bips_processing = _FALSE; pwrpriv->bpower_saving = _FALSE; } up(&pwrpriv->lock); return result; }
int rtw_ips_leave(struct rtl_priv * rtlpriv) { struct pwrctrl_priv *pwrpriv = &rtlpriv->pwrctrlpriv; struct security_priv* psecuritypriv=&(rtlpriv->securitypriv); struct mlme_priv *pmlmepriv = &(rtlpriv->mlmepriv); int result = _SUCCESS; int keyid; down(&pwrpriv->lock); if ((pwrpriv->rf_pwrstate == ERFOFF) &&(!pwrpriv->bips_processing)) { pwrpriv->bips_processing = true; pwrpriv->change_rfpwrstate = ERFON; pwrpriv->ips_leave_cnts++; RT_TRACE(rtlpriv, COMP_POWER, DBG_DMESG, "==>ips_leave cnts:%d\n",pwrpriv->ips_leave_cnts); if ((result = rtw_ips_pwr_up(rtlpriv)) == _SUCCESS) { pwrpriv->rf_pwrstate = ERFON; } RT_TRACE(rtlpriv, COMP_POWER, DBG_DMESG, "nolinked power save leave\n"); if ((WEP40_ENCRYPTION == psecuritypriv->dot11PrivacyAlgrthm) ||(WEP104_ENCRYPTION == psecuritypriv->dot11PrivacyAlgrthm)) { RT_TRACE(rtlpriv, COMP_POWER, DBG_DMESG, "==>%s,channel(%d),processing(%x)\n",__FUNCTION__,rtlpriv->mlmeextpriv.cur_channel,pwrpriv->bips_processing); set_channel_bwmode(rtlpriv, rtlpriv->mlmeextpriv.cur_channel, HAL_PRIME_CHNL_OFFSET_DONT_CARE, CHANNEL_WIDTH_20); for (keyid = 0; keyid < 4; keyid++) { if (pmlmepriv->key_mask & BIT(keyid)) { if (keyid == psecuritypriv->dot11PrivacyKeyIndex) result=rtw_set_key(rtlpriv,psecuritypriv, keyid, 1); else result=rtw_set_key(rtlpriv,psecuritypriv, keyid, 0); } } } RT_TRACE(rtlpriv, COMP_POWER, DBG_DMESG, "==> ips_leave.....LED(0x%08x)...\n",rtl_read_dword(rtlpriv,0x4c)); pwrpriv->bips_processing = false; pwrpriv->bpower_saving = false; } up(&pwrpriv->lock); return result; }
int ips_leave(_adapter * padapter) { struct pwrctrl_priv *pwrpriv = &padapter->pwrctrlpriv; struct security_priv* psecuritypriv=&(padapter->securitypriv); struct mlme_priv *pmlmepriv = &(padapter->mlmepriv); int result = _SUCCESS; sint keyid; _enter_pwrlock(&pwrpriv->lock); if((pwrpriv->current_rfpwrstate == rf_off) &&(!pwrpriv->bips_processing)) { pwrpriv->change_rfpwrstate = rf_on; pwrpriv->ips_leave_cnts++; DBG_8192C("==>ips_leave cnts:%d\n",pwrpriv->ips_leave_cnts); #ifdef CONFIG_IPS_LEVEL_2 pwrpriv->bkeepfwalive = _TRUE; #endif result = rtw_ips_pwr_up(padapter); pwrpriv->bips_processing = _TRUE; pwrpriv->current_rfpwrstate = rf_on; if((_WEP40_ == psecuritypriv->dot11PrivacyAlgrthm) ||(_WEP104_ == psecuritypriv->dot11PrivacyAlgrthm)) { DBG_8192C("==>%s,channel(%d),processing(%x)\n",__FUNCTION__,padapter->mlmeextpriv.cur_channel,pwrpriv->bips_processing); set_channel_bwmode(padapter, padapter->mlmeextpriv.cur_channel, HAL_PRIME_CHNL_OFFSET_DONT_CARE, HT_CHANNEL_WIDTH_20); for(keyid=0;keyid<4;keyid++){ if(pmlmepriv->key_mask & BIT(keyid)){ result=rtw_set_key(padapter,psecuritypriv, keyid); } } } DBG_8192C("==> ips_leave.....LED(0x%08x)...\n",rtw_read32(padapter,0x4c)); pwrpriv->bips_processing = _FALSE; #ifdef CONFIG_IPS_LEVEL_2 pwrpriv->bkeepfwalive = _FALSE; #endif } _exit_pwrlock(&pwrpriv->lock); return result; }
int _ips_leave(_adapter * padapter) { struct pwrctrl_priv *pwrpriv = &padapter->pwrctrlpriv; int result = _SUCCESS; if((pwrpriv->rf_pwrstate == rf_off) &&(!pwrpriv->bips_processing)) { pwrpriv->bips_processing = _TRUE; pwrpriv->change_rfpwrstate = rf_on; pwrpriv->ips_leave_cnts++; DBG_871X("==>ips_leave cnts:%d\n",pwrpriv->ips_leave_cnts); if ((result = rtw_ips_pwr_up(padapter)) == _SUCCESS) { pwrpriv->rf_pwrstate = rf_on; } DBG_871X("==> ips_leave.....LED(0x%08x)...\n",rtw_read32(padapter,0x4c)); pwrpriv->bips_processing = _FALSE; pwrpriv->bkeepfwalive = _FALSE; } return result; }