mirror of
https://github.com/lwfinger/rtl8188eu.git
synced 2025-05-08 14:33:05 +00:00
rtl8188eu: Fix most errors from smatch
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
This commit is contained in:
parent
ee006634cb
commit
993b4435cb
40 changed files with 1508 additions and 2204 deletions
|
@ -549,23 +549,20 @@ void rtw_cfg80211_ibss_indicate_connect(struct adapter *padapter)
|
|||
{
|
||||
|
||||
memcpy(&cur_network->network, pnetwork, sizeof(struct wlan_bssid_ex));
|
||||
if(cur_network)
|
||||
{
|
||||
if(cur_network) {
|
||||
if (!rtw_cfg80211_inform_bss(padapter,cur_network))
|
||||
DBG_871X(FUNC_ADPT_FMT" inform fail !!\n", FUNC_ADPT_ARG(padapter));
|
||||
else
|
||||
DBG_871X(FUNC_ADPT_FMT" inform success !!\n", FUNC_ADPT_ARG(padapter));
|
||||
}
|
||||
else
|
||||
{
|
||||
} else {
|
||||
DBG_871X("cur_network is not exist!!!\n");
|
||||
return ;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if(scanned == NULL)
|
||||
} else {
|
||||
if (scanned == NULL) {
|
||||
rtw_warn_on(1);
|
||||
return;
|
||||
}
|
||||
|
||||
if (_rtw_memcmp(&(scanned->network.Ssid), &(pnetwork->Ssid), sizeof(NDIS_802_11_SSID)) == true
|
||||
&& _rtw_memcmp(scanned->network.MacAddress, pnetwork->MacAddress, sizeof(NDIS_802_11_MAC_ADDRESS)) == true
|
||||
|
@ -819,20 +816,18 @@ static int set_group_key(struct adapter *padapter, u8 *key, u8 alg, int keyid)
|
|||
|
||||
psetkeyparm->set_tx = 1;
|
||||
|
||||
switch(alg)
|
||||
{
|
||||
case _WEP40_:
|
||||
keylen = 5;
|
||||
break;
|
||||
case _WEP104_:
|
||||
keylen = 13;
|
||||
break;
|
||||
case _TKIP_:
|
||||
case _TKIP_WTMIC_:
|
||||
case _AES_:
|
||||
keylen = 16;
|
||||
default:
|
||||
keylen = 16;
|
||||
switch(alg) {
|
||||
case _WEP40_:
|
||||
keylen = 5;
|
||||
break;
|
||||
case _WEP104_:
|
||||
keylen = 13;
|
||||
break;
|
||||
case _TKIP_:
|
||||
case _TKIP_WTMIC_:
|
||||
case _AES_:
|
||||
default:
|
||||
keylen = 16;
|
||||
}
|
||||
|
||||
memcpy(&(psetkeyparm->key[0]), key, keylen);
|
||||
|
@ -1226,12 +1221,11 @@ static int rtw_cfg80211_set_encryption(struct net_device *dev, struct ieee_param
|
|||
|
||||
wep_key_len = wep_key_len <= 5 ? 5 : 13;
|
||||
|
||||
psecuritypriv->ndisencryptstatus = Ndis802_11Encryption1Enabled;
|
||||
psecuritypriv->ndisencryptstatus = Ndis802_11Encryption1Enabled;
|
||||
psecuritypriv->dot11PrivacyAlgrthm = _WEP40_;
|
||||
psecuritypriv->dot118021XGrpPrivacy = _WEP40_;
|
||||
|
||||
if(wep_key_len==13)
|
||||
{
|
||||
if(wep_key_len==13) {
|
||||
psecuritypriv->dot11PrivacyAlgrthm = _WEP104_;
|
||||
psecuritypriv->dot118021XGrpPrivacy = _WEP104_;
|
||||
}
|
||||
|
@ -1531,13 +1525,13 @@ static int cfg80211_rtw_set_default_key(struct wiphy *wiphy,
|
|||
struct adapter *padapter = (struct adapter *)rtw_netdev_priv(ndev);
|
||||
struct security_priv *psecuritypriv = &padapter->securitypriv;
|
||||
|
||||
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,38)) || defined(COMPAT_KERNEL_RELEASE)
|
||||
DBG_871X(FUNC_NDEV_FMT" key_index=%d, unicast=%d, multicast=%d\n",
|
||||
FUNC_NDEV_ARG(ndev), key_index , unicast, multicast);
|
||||
#else
|
||||
DBG_871X(FUNC_NDEV_FMT" key_index=%d\n", FUNC_NDEV_ARG(ndev),
|
||||
key_index);
|
||||
#endif
|
||||
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,38)) || defined(COMPAT_KERNEL_RELEASE)
|
||||
DBG_871X(FUNC_NDEV_FMT" key_index=%d, unicast=%d, multicast=%d\n",
|
||||
FUNC_NDEV_ARG(ndev), key_index , unicast, multicast);
|
||||
#else
|
||||
DBG_871X(FUNC_NDEV_FMT" key_index=%d\n", FUNC_NDEV_ARG(ndev),
|
||||
key_index);
|
||||
#endif
|
||||
|
||||
if ((key_index < WEP_KEYS) && ((psecuritypriv->dot11PrivacyAlgrthm == _WEP40_) || (psecuritypriv->dot11PrivacyAlgrthm == _WEP104_))) /* set wep default key */
|
||||
{
|
||||
|
@ -2011,18 +2005,12 @@ static int cfg80211_rtw_scan(struct wiphy *wiphy
|
|||
#ifdef CONFIG_P2P
|
||||
if( pwdinfo->driver_interface == DRIVER_CFG80211 )
|
||||
{
|
||||
if(ssids->ssid != NULL
|
||||
&& _rtw_memcmp(ssids->ssid, "DIRECT-", 7)
|
||||
&& rtw_get_p2p_ie((u8 *)request->ie, request->ie_len, NULL, NULL)
|
||||
)
|
||||
{
|
||||
if(rtw_p2p_chk_state(pwdinfo, P2P_STATE_NONE))
|
||||
{
|
||||
if (_rtw_memcmp(ssids->ssid, "DIRECT-", 7) &&
|
||||
rtw_get_p2p_ie((u8 *)request->ie, request->ie_len, NULL, NULL)) {
|
||||
if(rtw_p2p_chk_state(pwdinfo, P2P_STATE_NONE)) {
|
||||
rtw_p2p_enable(padapter, P2P_ROLE_DEVICE);
|
||||
wdev_to_priv(padapter->rtw_wdev)->p2p_enabled = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
} else {
|
||||
rtw_p2p_set_pre_state(pwdinfo, rtw_p2p_state(pwdinfo));
|
||||
#ifdef CONFIG_DEBUG_CFG80211
|
||||
DBG_8192C("%s, role=%d, p2p_state=%d\n", __func__, rtw_p2p_role(pwdinfo), rtw_p2p_state(pwdinfo));
|
||||
|
@ -2030,22 +2018,17 @@ static int cfg80211_rtw_scan(struct wiphy *wiphy
|
|||
}
|
||||
rtw_p2p_set_state(pwdinfo, P2P_STATE_LISTEN);
|
||||
|
||||
if(request->n_channels == 3 &&
|
||||
request->channels[0]->hw_value == 1 &&
|
||||
request->channels[1]->hw_value == 6 &&
|
||||
request->channels[2]->hw_value == 11
|
||||
)
|
||||
{
|
||||
if (request->n_channels == 3 &&
|
||||
request->channels[0]->hw_value == 1 &&
|
||||
request->channels[1]->hw_value == 6 &&
|
||||
request->channels[2]->hw_value == 11)
|
||||
social_channel = 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif /* CONFIG_P2P */
|
||||
|
||||
if(request->ie && request->ie_len>0)
|
||||
{
|
||||
rtw_cfg80211_set_probe_req_wpsp2pie(padapter, (u8 *)request->ie, request->ie_len );
|
||||
}
|
||||
|
||||
if (check_fwstate(pmlmepriv, _FW_UNDER_SURVEY) == true) {
|
||||
DBG_8192C("%s, fwstate=0x%x\n", __func__, pmlmepriv->fw_state);
|
||||
|
@ -2057,8 +2040,7 @@ static int cfg80211_rtw_scan(struct wiphy *wiphy
|
|||
goto check_need_indicate_scan_done;
|
||||
}
|
||||
|
||||
if (pmlmepriv->LinkDetectInfo.bBusyTraffic == true)
|
||||
{
|
||||
if (pmlmepriv->LinkDetectInfo.bBusyTraffic) {
|
||||
DBG_8192C("%s, bBusyTraffic == true\n", __func__);
|
||||
need_indicate_scan_done = true;
|
||||
goto check_need_indicate_scan_done;
|
||||
|
@ -2071,10 +2053,9 @@ static int cfg80211_rtw_scan(struct wiphy *wiphy
|
|||
}
|
||||
|
||||
#ifdef CONFIG_P2P
|
||||
if( pwdinfo->driver_interface == DRIVER_CFG80211 )
|
||||
{
|
||||
if(!rtw_p2p_chk_state(pwdinfo, P2P_STATE_NONE) && !rtw_p2p_chk_state(pwdinfo, P2P_STATE_IDLE))
|
||||
{
|
||||
if( pwdinfo->driver_interface == DRIVER_CFG80211 ) {
|
||||
if (!rtw_p2p_chk_state(pwdinfo, P2P_STATE_NONE) &&
|
||||
!rtw_p2p_chk_state(pwdinfo, P2P_STATE_IDLE)) {
|
||||
rtw_p2p_set_state(pwdinfo, P2P_STATE_FIND_PHASE_SEARCH);
|
||||
rtw_free_network_queue(padapter, true);
|
||||
|
||||
|
@ -2086,7 +2067,6 @@ static int cfg80211_rtw_scan(struct wiphy *wiphy
|
|||
}
|
||||
#endif /* CONFIG_P2P */
|
||||
|
||||
|
||||
memset(ssid, 0, sizeof(NDIS_802_11_SSID)*RTW_SSID_SCAN_AMOUNT);
|
||||
/* parsing request ssids, n_ssids */
|
||||
for (i = 0; i < request->n_ssids && i < RTW_SSID_SCAN_AMOUNT; i++) {
|
||||
|
@ -2115,9 +2095,7 @@ static int cfg80211_rtw_scan(struct wiphy *wiphy
|
|||
} else if (request->n_channels <= 4) {
|
||||
for(j=request->n_channels-1;j>=0;j--)
|
||||
for(i=0;i<survey_times;i++)
|
||||
{
|
||||
memcpy(&ch[j*survey_times+i], &ch[j], sizeof(struct rtw_ieee80211_channel));
|
||||
}
|
||||
memcpy(&ch[j*survey_times+i], &ch[j], sizeof(struct rtw_ieee80211_channel));
|
||||
_status = rtw_sitesurvey_cmd(padapter, ssid, RTW_SSID_SCAN_AMOUNT, ch, survey_times * request->n_channels);
|
||||
} else {
|
||||
_status = rtw_sitesurvey_cmd(padapter, ssid, RTW_SSID_SCAN_AMOUNT, NULL, 0);
|
||||
|
@ -2126,9 +2104,7 @@ static int cfg80211_rtw_scan(struct wiphy *wiphy
|
|||
|
||||
|
||||
if(_status == false)
|
||||
{
|
||||
ret = -1;
|
||||
}
|
||||
|
||||
check_need_indicate_scan_done:
|
||||
if(need_indicate_scan_done)
|
||||
|
@ -2137,7 +2113,6 @@ check_need_indicate_scan_done:
|
|||
exit:
|
||||
|
||||
return ret;
|
||||
|
||||
}
|
||||
|
||||
static int cfg80211_rtw_set_wiphy_params(struct wiphy *wiphy, u32 changed)
|
||||
|
@ -2146,8 +2121,6 @@ static int cfg80211_rtw_set_wiphy_params(struct wiphy *wiphy, u32 changed)
|
|||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
static int rtw_cfg80211_set_wpa_version(struct security_priv *psecuritypriv, u32 wpa_version)
|
||||
{
|
||||
DBG_8192C("%s, wpa_version=%d\n", __func__, wpa_version);
|
||||
|
@ -2157,21 +2130,10 @@ static int rtw_cfg80211_set_wpa_version(struct security_priv *psecuritypriv, u32
|
|||
return 0;
|
||||
}
|
||||
|
||||
|
||||
if (wpa_version & (NL80211_WPA_VERSION_1 | NL80211_WPA_VERSION_2))
|
||||
{
|
||||
psecuritypriv->ndisauthtype = Ndis802_11AuthModeWPAPSK;
|
||||
}
|
||||
|
||||
/*
|
||||
if (wpa_version & NL80211_WPA_VERSION_2)
|
||||
{
|
||||
psecuritypriv->ndisauthtype = Ndis802_11AuthModeWPA2PSK;
|
||||
}
|
||||
*/
|
||||
|
||||
return 0;
|
||||
|
||||
}
|
||||
|
||||
static int rtw_cfg80211_set_auth_type(struct security_priv *psecuritypriv,
|
||||
|
@ -2182,30 +2144,23 @@ static int rtw_cfg80211_set_auth_type(struct security_priv *psecuritypriv,
|
|||
|
||||
switch (sme_auth_type) {
|
||||
case NL80211_AUTHTYPE_AUTOMATIC:
|
||||
|
||||
psecuritypriv->dot11AuthAlgrthm = dot11AuthAlgrthm_Auto;
|
||||
|
||||
break;
|
||||
case NL80211_AUTHTYPE_OPEN_SYSTEM:
|
||||
|
||||
psecuritypriv->dot11AuthAlgrthm = dot11AuthAlgrthm_Open;
|
||||
|
||||
if(psecuritypriv->ndisauthtype>Ndis802_11AuthModeWPA)
|
||||
psecuritypriv->dot11AuthAlgrthm = dot11AuthAlgrthm_8021X;
|
||||
break;
|
||||
case NL80211_AUTHTYPE_SHARED_KEY:
|
||||
|
||||
psecuritypriv->dot11AuthAlgrthm = dot11AuthAlgrthm_Shared;
|
||||
|
||||
psecuritypriv->ndisencryptstatus = Ndis802_11Encryption1Enabled;
|
||||
break;
|
||||
default:
|
||||
psecuritypriv->dot11AuthAlgrthm = dot11AuthAlgrthm_Open;
|
||||
/* return -ENOTSUPP; */
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
||||
}
|
||||
|
||||
static int rtw_cfg80211_set_cipher(struct security_priv *psecuritypriv, u32 cipher, bool ucast)
|
||||
|
@ -2217,7 +2172,6 @@ static int rtw_cfg80211_set_cipher(struct security_priv *psecuritypriv, u32 ciph
|
|||
|
||||
DBG_8192C("%s, ucast=%d, cipher=0x%x\n", __func__, ucast, cipher);
|
||||
|
||||
|
||||
if (!cipher) {
|
||||
*profile_cipher = _NO_PRIVACY_;
|
||||
psecuritypriv->ndisencryptstatus = ndisencryptstatus;
|
||||
|
@ -3030,8 +2984,9 @@ static int rtw_cfg80211_monitor_if_xmit_entry(struct sk_buff *skb, struct net_de
|
|||
|
||||
DBG_871X(FUNC_NDEV_FMT"\n", FUNC_NDEV_ARG(ndev));
|
||||
|
||||
if (skb)
|
||||
rtw_mstat_update(MSTAT_TYPE_SKB, MSTAT_ALLOC_SUCCESS, skb->truesize);
|
||||
if (!skb)
|
||||
return -1;
|
||||
rtw_mstat_update(MSTAT_TYPE_SKB, MSTAT_ALLOC_SUCCESS, skb->truesize);
|
||||
|
||||
if (unlikely(skb->len < sizeof(struct ieee80211_radiotap_header)))
|
||||
goto fail;
|
||||
|
@ -5014,18 +4969,11 @@ static void rtw_cfg80211_preinit_wiphy(struct adapter *padapter, struct wiphy *w
|
|||
wiphy->software_iftypes |= BIT(NL80211_IFTYPE_MONITOR);
|
||||
#endif
|
||||
|
||||
/*
|
||||
wiphy->iface_combinations = &rtw_combinations;
|
||||
wiphy->n_iface_combinations = 1;
|
||||
*/
|
||||
|
||||
wiphy->cipher_suites = rtw_cipher_suites;
|
||||
wiphy->n_cipher_suites = ARRAY_SIZE(rtw_cipher_suites);
|
||||
|
||||
/* if (padapter->registrypriv.wireless_mode & WIRELESS_11G) */
|
||||
wiphy->bands[IEEE80211_BAND_2GHZ] = rtw_spt_band_alloc(IEEE80211_BAND_2GHZ);
|
||||
/* if (padapter->registrypriv.wireless_mode & WIRELESS_11A) */
|
||||
wiphy->bands[IEEE80211_BAND_5GHZ] = rtw_spt_band_alloc(IEEE80211_BAND_5GHZ);
|
||||
wiphy->bands[IEEE80211_BAND_2GHZ] = rtw_spt_band_alloc(IEEE80211_BAND_2GHZ);
|
||||
wiphy->bands[IEEE80211_BAND_5GHZ] = rtw_spt_band_alloc(IEEE80211_BAND_5GHZ);
|
||||
|
||||
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,38) && LINUX_VERSION_CODE < KERNEL_VERSION(3,0,0))
|
||||
wiphy->flags |= WIPHY_FLAG_SUPPORTS_SEPARATE_DEFAULT_KEYS;
|
||||
|
@ -5105,14 +5053,13 @@ int rtw_wdev_alloc(struct adapter *padapter, struct device *dev)
|
|||
|
||||
return ret;
|
||||
|
||||
rtw_mfree((u8*)wdev, sizeof(struct wireless_dev));
|
||||
// rtw_mfree((u8*)wdev, sizeof(struct wireless_dev));
|
||||
unregister_wiphy:
|
||||
wiphy_unregister(wiphy);
|
||||
free_wiphy:
|
||||
wiphy_free(wiphy);
|
||||
exit:
|
||||
return ret;
|
||||
|
||||
}
|
||||
|
||||
void rtw_wdev_free(struct wireless_dev *wdev)
|
||||
|
|
|
@ -226,6 +226,8 @@ static char *translate_scan(struct adapter *padapter,
|
|||
struct iw_request_info* info, struct wlan_network *pnetwork,
|
||||
char *start, char *stop)
|
||||
{
|
||||
struct mlme_priv *pmlmepriv = &(padapter->mlmepriv);
|
||||
u8 ss, sq;
|
||||
struct iw_event iwe;
|
||||
u16 cap;
|
||||
__le16 le_cap;
|
||||
|
@ -529,10 +531,6 @@ static char *translate_scan(struct adapter *padapter,
|
|||
}
|
||||
}
|
||||
|
||||
{
|
||||
struct mlme_priv *pmlmepriv = &(padapter->mlmepriv);
|
||||
u8 ss, sq;
|
||||
|
||||
/* Add quality statistics */
|
||||
iwe.cmd = IWEVQUAL;
|
||||
iwe.u.qual.updated = IW_QUAL_QUAL_UPDATED | IW_QUAL_LEVEL_UPDATED | IW_QUAL_NOISE_INVALID;
|
||||
|
@ -557,7 +555,6 @@ static char *translate_scan(struct adapter *padapter,
|
|||
iwe.u.qual.noise = 0; /* noise level */
|
||||
|
||||
start = iwe_stream_add_event(info, start, stop, &iwe, IW_EV_QUAL_LEN);
|
||||
}
|
||||
|
||||
{
|
||||
u8 buf[MAX_WPA_IE_LEN];
|
||||
|
@ -728,8 +725,7 @@ static int wpa_set_encryption(struct net_device *dev, struct ieee_param *param,
|
|||
ret = -EOPNOTSUPP ;
|
||||
goto exit;
|
||||
}
|
||||
|
||||
memcpy(&(psecuritypriv->dot11DefKey[wep_key_idx].skey[0]), pwep->KeyMaterial, pwep->KeyLength);
|
||||
memcpy(&(psecuritypriv->dot11DefKey[wep_key_idx].skey[0]), pwep->KeyMaterial, pwep->KeyLength);
|
||||
psecuritypriv->dot11DefKeylen[wep_key_idx]=pwep->KeyLength;
|
||||
rtw_set_key(padapter, psecuritypriv, wep_key_idx, 0,true);
|
||||
}
|
||||
|
@ -1190,34 +1186,18 @@ static int rtw_wx_get_mode(struct net_device *dev, struct iw_request_info *a,
|
|||
|
||||
RT_TRACE(_module_rtl871x_mlme_c_,_drv_info_,(" rtw_wx_get_mode \n"));
|
||||
|
||||
;
|
||||
|
||||
if (check_fwstate(pmlmepriv, WIFI_STATION_STATE) == true)
|
||||
{
|
||||
wrqu->mode = IW_MODE_INFRA;
|
||||
}
|
||||
else if ((check_fwstate(pmlmepriv, WIFI_ADHOC_MASTER_STATE) == true) ||
|
||||
(check_fwstate(pmlmepriv, WIFI_ADHOC_STATE) == true))
|
||||
|
||||
{
|
||||
wrqu->mode = IW_MODE_ADHOC;
|
||||
}
|
||||
else if(check_fwstate(pmlmepriv, WIFI_AP_STATE) == true)
|
||||
{
|
||||
wrqu->mode = IW_MODE_MASTER;
|
||||
}
|
||||
else
|
||||
{
|
||||
wrqu->mode = IW_MODE_AUTO;
|
||||
}
|
||||
|
||||
;
|
||||
|
||||
return 0;
|
||||
|
||||
}
|
||||
|
||||
|
||||
static int rtw_wx_set_pmkid(struct net_device *dev,
|
||||
struct iw_request_info *a,
|
||||
union iwreq_data *wrqu, char *extra)
|
||||
|
@ -1232,22 +1212,16 @@ static int rtw_wx_set_pmkid(struct net_device *dev,
|
|||
u8 strIssueBssid[ ETH_ALEN ] = { 0x00 };
|
||||
|
||||
memcpy( strIssueBssid, pPMK->bssid.sa_data, ETH_ALEN);
|
||||
if ( pPMK->cmd == IW_PMKSA_ADD )
|
||||
{
|
||||
DBG_871X( "[rtw_wx_set_pmkid] IW_PMKSA_ADD!\n" );
|
||||
if ( _rtw_memcmp( strIssueBssid, strZeroMacAddress, ETH_ALEN ) == true )
|
||||
{
|
||||
return( intReturn );
|
||||
}
|
||||
else
|
||||
{
|
||||
intReturn = true;
|
||||
}
|
||||
if ( pPMK->cmd == IW_PMKSA_ADD ) {
|
||||
DBG_871X( "[rtw_wx_set_pmkid] IW_PMKSA_ADD!\n" );
|
||||
if ( _rtw_memcmp( strIssueBssid, strZeroMacAddress, ETH_ALEN ) == true )
|
||||
return( intReturn );
|
||||
else
|
||||
intReturn = true;
|
||||
blInserted = false;
|
||||
|
||||
/* overwrite PMKID */
|
||||
for(j=0 ; j<NUM_PMKID_CACHE; j++)
|
||||
{
|
||||
for(j=0 ; j<NUM_PMKID_CACHE; j++) {
|
||||
if( _rtw_memcmp( psecuritypriv->PMKIDList[j].Bssid, strIssueBssid, ETH_ALEN) ==true )
|
||||
{ /* BSSID is matched, the same AP => rewrite with new PMKID. */
|
||||
|
||||
|
@ -1261,8 +1235,7 @@ static int rtw_wx_set_pmkid(struct net_device *dev,
|
|||
}
|
||||
}
|
||||
|
||||
if(!blInserted)
|
||||
{
|
||||
if(!blInserted) {
|
||||
/* Find a new entry */
|
||||
DBG_871X( "[rtw_wx_set_pmkid] Use the new entry index = %d for this PMKID.\n",
|
||||
psecuritypriv->PMKIDIndex );
|
||||
|
@ -1273,17 +1246,12 @@ static int rtw_wx_set_pmkid(struct net_device *dev,
|
|||
psecuritypriv->PMKIDList[ psecuritypriv->PMKIDIndex ].bUsed = true;
|
||||
psecuritypriv->PMKIDIndex++ ;
|
||||
if(psecuritypriv->PMKIDIndex==16)
|
||||
{
|
||||
psecuritypriv->PMKIDIndex =0;
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ( pPMK->cmd == IW_PMKSA_REMOVE )
|
||||
{
|
||||
} else if ( pPMK->cmd == IW_PMKSA_REMOVE ) {
|
||||
DBG_871X( "[rtw_wx_set_pmkid] IW_PMKSA_REMOVE!\n" );
|
||||
intReturn = true;
|
||||
for(j=0 ; j<NUM_PMKID_CACHE; j++)
|
||||
{
|
||||
for(j=0 ; j<NUM_PMKID_CACHE; j++) {
|
||||
if( _rtw_memcmp( psecuritypriv->PMKIDList[j].Bssid, strIssueBssid, ETH_ALEN) ==true )
|
||||
{ /* BSSID is matched, the same AP => Remove this PMKID information and reset it. */
|
||||
memset( psecuritypriv->PMKIDList[ j ].Bssid, 0x00, ETH_ALEN );
|
||||
|
@ -1291,15 +1259,13 @@ static int rtw_wx_set_pmkid(struct net_device *dev,
|
|||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ( pPMK->cmd == IW_PMKSA_FLUSH )
|
||||
{
|
||||
} else if ( pPMK->cmd == IW_PMKSA_FLUSH ) {
|
||||
DBG_871X( "[rtw_wx_set_pmkid] IW_PMKSA_FLUSH!\n" );
|
||||
memset( &psecuritypriv->PMKIDList[ 0 ], 0x00, sizeof( RT_PMKID_LIST ) * NUM_PMKID_CACHE );
|
||||
psecuritypriv->PMKIDIndex = 0;
|
||||
intReturn = true;
|
||||
}
|
||||
return( intReturn );
|
||||
return( intReturn );
|
||||
}
|
||||
|
||||
static int rtw_wx_get_sens(struct net_device *dev,
|
||||
|
@ -1353,7 +1319,7 @@ static int rtw_wx_get_range(struct net_device *dev,
|
|||
|
||||
range->avg_qual.qual = 92; /* > 8% missed beacons is 'bad' */
|
||||
/* TODO: Find real 'good' to 'bad' threshol value for RSSI */
|
||||
range->avg_qual.level = 20 + -98;
|
||||
range->avg_qual.level = 178; /* equals -78 */
|
||||
range->avg_qual.noise = 0;
|
||||
range->avg_qual.updated = 7; /* Updated all three */
|
||||
|
||||
|
@ -1462,8 +1428,8 @@ static int rtw_wx_set_wap(struct net_device *dev,
|
|||
|
||||
authmode = padapter->securitypriv.ndisauthtype;
|
||||
spin_lock_bh(&queue->lock);
|
||||
phead = get_list_head(queue);
|
||||
pmlmepriv->pscanned = get_next(phead);
|
||||
phead = get_list_head(queue);
|
||||
pmlmepriv->pscanned = get_next(phead);
|
||||
|
||||
while (1) {
|
||||
|
||||
|
@ -1602,8 +1568,8 @@ static int rtw_wx_set_scan(struct net_device *dev, struct iw_request_info *a,
|
|||
goto exit;
|
||||
}
|
||||
|
||||
if(padapter->bDriverStopped){
|
||||
DBG_871X("bDriverStopped=%d\n", padapter->bDriverStopped);
|
||||
if (padapter->bDriverStopped) {
|
||||
DBG_871X("bDriverStopped=%d\n", padapter->bDriverStopped);
|
||||
ret= -1;
|
||||
goto exit;
|
||||
}
|
||||
|
@ -1830,10 +1796,8 @@ static int rtw_wx_get_scan(struct net_device *dev, struct iw_request_info *a,
|
|||
#endif
|
||||
;
|
||||
|
||||
while (check_fwstate(pmlmepriv, wait_status) == true)
|
||||
{
|
||||
if (check_fwstate(pmlmepriv, wait_status))
|
||||
return -EAGAIN;
|
||||
}
|
||||
|
||||
spin_lock_bh(&(pmlmepriv->scanned_queue.lock));
|
||||
|
||||
|
@ -1866,7 +1830,7 @@ static int rtw_wx_get_scan(struct net_device *dev, struct iw_request_info *a,
|
|||
|
||||
spin_unlock_bh(&(pmlmepriv->scanned_queue.lock));
|
||||
|
||||
wrqu->data.length = ev-extra;
|
||||
wrqu->data.length = ev-extra;
|
||||
wrqu->data.flags = 0;
|
||||
|
||||
exit:
|
||||
|
@ -1964,8 +1928,8 @@ static int rtw_wx_set_essid(struct net_device *dev,
|
|||
|
||||
RT_TRACE(_module_rtl871x_ioctl_os_c, _drv_info_, ("rtw_wx_set_essid: ssid=[%s]\n", src_ssid));
|
||||
spin_lock_bh(&queue->lock);
|
||||
phead = get_list_head(queue);
|
||||
pmlmepriv->pscanned = get_next(phead);
|
||||
phead = get_list_head(queue);
|
||||
pmlmepriv->pscanned = get_next(phead);
|
||||
|
||||
while (1) {
|
||||
if (rtw_end_of_queue_search(phead, pmlmepriv->pscanned) == true) {
|
||||
|
@ -2078,9 +2042,7 @@ static int rtw_wx_set_rate(struct net_device *dev,
|
|||
u32 target_rate = wrqu->bitrate.value;
|
||||
u32 fixed = wrqu->bitrate.fixed;
|
||||
u32 ratevalue = 0;
|
||||
u8 mpdatarate[NumRates]={11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0, 0xff};
|
||||
|
||||
;
|
||||
u8 mpdatarate[NumRates]={11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0, 0xff};
|
||||
|
||||
RT_TRACE(_module_rtl871x_mlme_c_,_drv_info_,(" rtw_wx_set_rate \n"));
|
||||
RT_TRACE(_module_rtl871x_ioctl_os_c,_drv_info_,("target_rate = %d, fixed = %d\n",target_rate,fixed));
|
||||
|
@ -2466,12 +2428,9 @@ static int rtw_wx_set_gen_ie(struct net_device *dev,
|
|||
struct iw_request_info *info,
|
||||
union iwreq_data *wrqu, char *extra)
|
||||
{
|
||||
int ret;
|
||||
struct adapter *padapter = (struct adapter *)rtw_netdev_priv(dev);
|
||||
|
||||
ret = rtw_set_wpa_ie(padapter, extra, wrqu->data.length);
|
||||
|
||||
return ret;
|
||||
return rtw_set_wpa_ie(padapter, extra, wrqu->data.length);
|
||||
}
|
||||
|
||||
static int rtw_wx_set_auth(struct net_device *dev,
|
||||
|
@ -4203,7 +4162,7 @@ static int rtw_p2p_get_invitation_procedure(struct net_device *dev,
|
|||
if (!blnMatch) {
|
||||
sprintf(inv_proc_str, "\nIP=-1");
|
||||
} else {
|
||||
if (attr_content[0] && 0x20)
|
||||
if (attr_content[0] & 0x20)
|
||||
sprintf(inv_proc_str, "\nIP=1");
|
||||
else
|
||||
sprintf(inv_proc_str, "\nIP=0");
|
||||
|
@ -5380,7 +5339,7 @@ static int rtw_p2p_get2(struct net_device *dev,
|
|||
|
||||
if (copy_from_user(buffer, wrqu->data.pointer, wrqu->data.length))
|
||||
{
|
||||
ret - EFAULT;
|
||||
ret = -EFAULT;
|
||||
goto bad;
|
||||
}
|
||||
|
||||
|
@ -5642,19 +5601,16 @@ static int rtw_dbg_port(struct net_device *dev,
|
|||
rtw_hal_write_rfreg(padapter, minor_cmd, arg, 0xffffffff, extra_arg);
|
||||
DBG_871X("write RF_reg path(0x%02x),offset(0x%x),value(0x%08x)\n",minor_cmd,arg, rtw_hal_read_rfreg(padapter, minor_cmd, arg, 0xffffffff));
|
||||
break;
|
||||
|
||||
case 0x76:
|
||||
switch(minor_cmd)
|
||||
{
|
||||
case 0x00: /* normal mode, */
|
||||
padapter->recvpriv.is_signal_dbg = 0;
|
||||
break;
|
||||
case 0x01: /* dbg mode */
|
||||
padapter->recvpriv.is_signal_dbg = 1;
|
||||
extra_arg = extra_arg>100?100:extra_arg;
|
||||
extra_arg = extra_arg<0?0:extra_arg;
|
||||
padapter->recvpriv.signal_strength_dbg=extra_arg;
|
||||
break;
|
||||
switch(minor_cmd) {
|
||||
case 0x00: /* normal mode, */
|
||||
padapter->recvpriv.is_signal_dbg = 0;
|
||||
break;
|
||||
case 0x01: /* dbg mode */
|
||||
padapter->recvpriv.is_signal_dbg = 1;
|
||||
extra_arg = extra_arg > 100 ? 100 : extra_arg;
|
||||
padapter->recvpriv.signal_strength_dbg=extra_arg;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case 0x78: /* IOL test */
|
||||
|
@ -6252,31 +6208,23 @@ static int wpa_set_param(struct net_device *dev, u8 name, u32 value)
|
|||
|
||||
switch (name){
|
||||
case IEEE_PARAM_WPA_ENABLED:
|
||||
|
||||
padapter->securitypriv.dot11AuthAlgrthm= dot11AuthAlgrthm_8021X; /* 802.1x */
|
||||
|
||||
/* ret = ieee80211_wpa_enable(ieee, value); */
|
||||
|
||||
switch((value)&0xff)
|
||||
{
|
||||
case 1 : /* WPA */
|
||||
switch((value)&0xff) {
|
||||
case 1 : /* WPA */
|
||||
padapter->securitypriv.ndisauthtype = Ndis802_11AuthModeWPAPSK; /* WPA_PSK */
|
||||
padapter->securitypriv.ndisencryptstatus = Ndis802_11Encryption2Enabled;
|
||||
break;
|
||||
case 2: /* WPA2 */
|
||||
break;
|
||||
case 2: /* WPA2 */
|
||||
padapter->securitypriv.ndisauthtype = Ndis802_11AuthModeWPA2PSK; /* WPA2_PSK */
|
||||
padapter->securitypriv.ndisencryptstatus = Ndis802_11Encryption3Enabled;
|
||||
break;
|
||||
break;
|
||||
}
|
||||
|
||||
RT_TRACE(_module_rtl871x_ioctl_os_c,_drv_info_,("wpa_set_param:padapter->securitypriv.ndisauthtype=%d\n", padapter->securitypriv.ndisauthtype));
|
||||
|
||||
break;
|
||||
|
||||
case IEEE_PARAM_TKIP_COUNTERMEASURES:
|
||||
/* ieee->tkip_countermeasures=value; */
|
||||
break;
|
||||
|
||||
case IEEE_PARAM_DROP_UNENCRYPTED:
|
||||
/* HACK:
|
||||
*
|
||||
|
@ -6483,7 +6431,6 @@ static int set_group_key(struct adapter *padapter, u8 *key, u8 alg, int keyid)
|
|||
case _TKIP_:
|
||||
case _TKIP_WTMIC_:
|
||||
case _AES_:
|
||||
keylen = 16;
|
||||
default:
|
||||
keylen = 16;
|
||||
}
|
||||
|
@ -6629,13 +6576,10 @@ static int rtw_set_encryption(struct net_device *dev, struct ieee_param *param,
|
|||
psecuritypriv->dot11PrivacyAlgrthm=_WEP40_;
|
||||
psecuritypriv->dot118021XGrpPrivacy=_WEP40_;
|
||||
|
||||
if(pwep->KeyLength==13)
|
||||
{
|
||||
if (pwep->KeyLength==13) {
|
||||
psecuritypriv->dot11PrivacyAlgrthm=_WEP104_;
|
||||
psecuritypriv->dot118021XGrpPrivacy=_WEP104_;
|
||||
}
|
||||
|
||||
|
||||
psecuritypriv->dot11PrivacyKeyIndex = wep_key_idx;
|
||||
|
||||
memcpy(&(psecuritypriv->dot11DefKey[wep_key_idx].skey[0]), pwep->KeyMaterial, pwep->KeyLength);
|
||||
|
@ -6643,17 +6587,13 @@ static int rtw_set_encryption(struct net_device *dev, struct ieee_param *param,
|
|||
psecuritypriv->dot11DefKeylen[wep_key_idx]=pwep->KeyLength;
|
||||
|
||||
set_wep_key(padapter, pwep->KeyMaterial, pwep->KeyLength, wep_key_idx);
|
||||
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
} else {
|
||||
DBG_871X("wep, set_tx=0\n");
|
||||
|
||||
/* don't update "psecuritypriv->dot11PrivacyAlgrthm" and */
|
||||
/* psecuritypriv->dot11PrivacyKeyIndex=keyid", but can rtw_set_key to cam */
|
||||
|
||||
memcpy(&(psecuritypriv->dot11DefKey[wep_key_idx].skey[0]), pwep->KeyMaterial, pwep->KeyLength);
|
||||
memcpy(&(psecuritypriv->dot11DefKey[wep_key_idx].skey[0]), pwep->KeyMaterial, pwep->KeyLength);
|
||||
|
||||
psecuritypriv->dot11DefKeylen[wep_key_idx] = pwep->KeyLength;
|
||||
|
||||
|
@ -7289,21 +7229,10 @@ static int rtw_set_hidden_ssid(struct net_device *dev, struct ieee_param *param,
|
|||
memcpy(ssid, ssid_ie+2, ssid_len);
|
||||
ssid[ssid_len>NDIS_802_11_LENGTH_SSID?NDIS_802_11_LENGTH_SSID:ssid_len] = 0x0;
|
||||
|
||||
if(0)
|
||||
DBG_871X(FUNC_ADPT_FMT" ssid:(%s,%d), from ie:(%s,%d), (%s,%d)\n", FUNC_ADPT_ARG(adapter),
|
||||
ssid, ssid_len,
|
||||
pbss_network->Ssid.Ssid, pbss_network->Ssid.SsidLength,
|
||||
pbss_network_ext->Ssid.Ssid, pbss_network_ext->Ssid.SsidLength);
|
||||
|
||||
memcpy(pbss_network->Ssid.Ssid, (void *)ssid, ssid_len);
|
||||
pbss_network->Ssid.SsidLength = ssid_len;
|
||||
memcpy(pbss_network_ext->Ssid.Ssid, (void *)ssid, ssid_len);
|
||||
pbss_network_ext->Ssid.SsidLength = ssid_len;
|
||||
|
||||
if(0)
|
||||
DBG_871X(FUNC_ADPT_FMT" after ssid:(%s,%d), (%s,%d)\n", FUNC_ADPT_ARG(adapter),
|
||||
pbss_network->Ssid.Ssid, pbss_network->Ssid.SsidLength,
|
||||
pbss_network_ext->Ssid.Ssid, pbss_network_ext->Ssid.SsidLength);
|
||||
}
|
||||
|
||||
DBG_871X(FUNC_ADPT_FMT" ignore_broadcast_ssid:%d, %s,%d\n", FUNC_ADPT_ARG(adapter),
|
||||
|
@ -7794,8 +7723,7 @@ static int rtw_mp_efuse_get(struct net_device *dev,
|
|||
|
||||
if(strcmp(tmp[0], "status") == 0){
|
||||
sprintf(extra, "Load File efuse=%s,Load File MAC=%s",(pEEPROM->bloadfile_fail_flag? "FAIL" : "OK"),(pEEPROM->bloadmac_fail_flag? "FAIL" : "OK"));
|
||||
|
||||
goto exit;
|
||||
goto exit;
|
||||
}
|
||||
else if (strcmp(tmp[0], "drvmap") == 0)
|
||||
{
|
||||
|
@ -7804,22 +7732,16 @@ static int rtw_mp_efuse_get(struct net_device *dev,
|
|||
sprintf(extra, "\n");
|
||||
for (i = 0; i < EFUSE_MAP_SIZE; i += 16)
|
||||
{
|
||||
/* DBG_871X("0x%02x\t", i); */
|
||||
sprintf(extra, "%s0x%02x\t", extra, i);
|
||||
for (j=0; j<8; j++) {
|
||||
/* DBG_871X("%02X ", data[i+j]); */
|
||||
sprintf(extra, "%s%02X ", extra, PROMContent[i+j]);
|
||||
}
|
||||
/* DBG_871X("\t"); */
|
||||
sprintf(extra, "%s\t", extra);
|
||||
for (; j<16; j++) {
|
||||
/* DBG_871X("%02X ", data[i+j]); */
|
||||
sprintf(extra, "%s%02X ", extra, PROMContent[i+j]);
|
||||
}
|
||||
/* DBG_871X("\n"); */
|
||||
sprintf(extra,"%s\n",extra);
|
||||
}
|
||||
/* DBG_871X("\n"); */
|
||||
}
|
||||
else if (strcmp(tmp[0], "realmap") == 0)
|
||||
{
|
||||
|
@ -7831,30 +7753,23 @@ static int rtw_mp_efuse_get(struct net_device *dev,
|
|||
goto exit;
|
||||
}
|
||||
|
||||
/* DBG_871X("OFFSET\tVALUE(hex)\n"); */
|
||||
sprintf(extra, "\n");
|
||||
for (i = 0; i < EFUSE_MAP_SIZE; i += 16)
|
||||
{
|
||||
/* DBG_871X("0x%02x\t", i); */
|
||||
sprintf(extra, "%s0x%02x\t", extra, i);
|
||||
for (j=0; j<8; j++) {
|
||||
if (i + j >= EFUSE_MAX_MAP_LEN)
|
||||
continue;
|
||||
/* DBG_871X("%02X ", data[i+j]); */
|
||||
sprintf(extra, "%s%02X ", extra, pEfuseHal->fakeEfuseInitMap[i+j]);
|
||||
}
|
||||
/* DBG_871X("\t"); */
|
||||
sprintf(extra, "%s\t", extra);
|
||||
for (; j<16; j++) {
|
||||
if (i + j >= EFUSE_MAX_MAP_LEN)
|
||||
continue;
|
||||
/* DBG_871X("%02X ", data[i+j]); */
|
||||
sprintf(extra, "%s%02X ", extra, pEfuseHal->fakeEfuseInitMap[i+j]);
|
||||
}
|
||||
/* DBG_871X("\n"); */
|
||||
sprintf(extra,"%s\n",extra);
|
||||
}
|
||||
/* DBG_871X("\n"); */
|
||||
}
|
||||
else if (strcmp(tmp[0], "rmap") == 0)
|
||||
{
|
||||
|
@ -7893,13 +7808,10 @@ static int rtw_mp_efuse_get(struct net_device *dev,
|
|||
goto exit;
|
||||
}
|
||||
|
||||
/* DBG_871X("%s: data={", __FUNCTION__); */
|
||||
*extra = 0;
|
||||
for (i=0; i<cnts; i++) {
|
||||
/* DBG_871X("0x%02x ", data[i]); */
|
||||
sprintf(extra, "%s0x%02X ", extra, data[i]);
|
||||
}
|
||||
/* DBG_871X("}\n"); */
|
||||
}
|
||||
else if (strcmp(tmp[0], "realraw") == 0)
|
||||
{
|
||||
|
@ -7912,26 +7824,20 @@ static int rtw_mp_efuse_get(struct net_device *dev,
|
|||
goto exit;
|
||||
}
|
||||
|
||||
/* DBG_871X("%s: realraw={\n", __FUNCTION__); */
|
||||
sprintf(extra, "\n");
|
||||
for (i=0; i<mapLen; i++)
|
||||
{
|
||||
/* DBG_871X("%02X", rawdata[i]); */
|
||||
sprintf(extra, "%s%02X", extra, rawdata[i]);
|
||||
|
||||
if ((i & 0xF) == 0xF) {
|
||||
/* DBG_871X("\n"); */
|
||||
sprintf(extra, "%s\n", extra);
|
||||
}
|
||||
else if ((i & 0x7) == 0x7){
|
||||
/* DBG_871X("\t"); */
|
||||
sprintf(extra, "%s\t", extra);
|
||||
} else {
|
||||
/* DBG_871X(" "); */
|
||||
sprintf(extra, "%s ", extra);
|
||||
}
|
||||
}
|
||||
/* DBG_871X("}\n"); */
|
||||
}
|
||||
else if (strcmp(tmp[0], "mac") == 0)
|
||||
{
|
||||
|
@ -7956,15 +7862,10 @@ static int rtw_mp_efuse_get(struct net_device *dev,
|
|||
*extra = 0;
|
||||
for (i=0; i<cnts; i++)
|
||||
{
|
||||
/* DBG_871X("%02X", data[i]); */
|
||||
sprintf(extra, "%s%02X", extra, data[i]);
|
||||
if (i != (cnts-1))
|
||||
{
|
||||
/* DBG_871X(":"); */
|
||||
sprintf(extra,"%s:",extra);
|
||||
}
|
||||
}
|
||||
/* DBG_871X("}\n"); */
|
||||
}
|
||||
else if (strcmp(tmp[0], "vidpid") == 0)
|
||||
{
|
||||
|
@ -7984,19 +7885,13 @@ static int rtw_mp_efuse_get(struct net_device *dev,
|
|||
goto exit;
|
||||
}
|
||||
|
||||
/* DBG_871X("%s: {VID,PID}={", __FUNCTION__); */
|
||||
*extra = 0;
|
||||
for (i=0; i<cnts; i++)
|
||||
{
|
||||
/* DBG_871X("0x%02x", data[i]); */
|
||||
sprintf(extra, "%s0x%02X", extra, data[i]);
|
||||
if (i != (cnts-1))
|
||||
{
|
||||
/* DBG_871X(","); */
|
||||
sprintf(extra,"%s,",extra);
|
||||
}
|
||||
}
|
||||
/* DBG_871X("}\n"); */
|
||||
}
|
||||
else if (strcmp(tmp[0], "ableraw") == 0)
|
||||
{
|
||||
|
@ -8014,26 +7909,17 @@ static int rtw_mp_efuse_get(struct net_device *dev,
|
|||
goto exit;
|
||||
}
|
||||
|
||||
/* DBG_871X("OFFSET\tVALUE(hex)\n"); */
|
||||
sprintf(extra, "\n");
|
||||
for (i=0; i<512; i+=16) /* set 512 because the iwpriv's extra size have limit 0x7FF */
|
||||
{
|
||||
/* DBG_871X("0x%03x\t", i); */
|
||||
sprintf(extra, "%s0x%03x\t", extra, i);
|
||||
for (j=0; j<8; j++) {
|
||||
/* DBG_871X("%02X ", pEfuseHal->BTEfuseInitMap[i+j]); */
|
||||
for (j=0; j<8; j++)
|
||||
sprintf(extra, "%s%02X ", extra, pEfuseHal->BTEfuseInitMap[i+j]);
|
||||
}
|
||||
/* DBG_871X("\t"); */
|
||||
sprintf(extra,"%s\t",extra);
|
||||
for (; j<16; j++) {
|
||||
/* DBG_871X("%02X ", pEfuseHal->BTEfuseInitMap[i+j]); */
|
||||
for (; j<16; j++)
|
||||
sprintf(extra, "%s%02X ", extra, pEfuseHal->BTEfuseInitMap[i+j]);
|
||||
}
|
||||
/* DBG_871X("\n"); */
|
||||
sprintf(extra, "%s\n", extra);
|
||||
}
|
||||
/* DBG_871X("\n"); */
|
||||
}
|
||||
else if (strcmp(tmp[0],"btbmap") == 0)
|
||||
{
|
||||
|
@ -8045,27 +7931,17 @@ static int rtw_mp_efuse_get(struct net_device *dev,
|
|||
goto exit;
|
||||
}
|
||||
|
||||
/* DBG_871X("OFFSET\tVALUE(hex)\n"); */
|
||||
sprintf(extra, "\n");
|
||||
for (i=512; i<1024 ; i+=16)
|
||||
{
|
||||
/* DBG_871X("0x%03x\t", i); */
|
||||
sprintf(extra, "%s0x%03x\t", extra, i);
|
||||
for (j=0; j<8; j++)
|
||||
{
|
||||
/* DBG_871X("%02X ", data[i+j]); */
|
||||
sprintf(extra, "%s%02X ", extra, pEfuseHal->BTEfuseInitMap[i+j]);
|
||||
}
|
||||
/* DBG_871X("\t"); */
|
||||
sprintf(extra,"%s\t",extra);
|
||||
for (; j<16; j++) {
|
||||
/* DBG_871X("%02X ", data[i+j]); */
|
||||
for (; j<16; j++)
|
||||
sprintf(extra, "%s%02X ", extra, pEfuseHal->BTEfuseInitMap[i+j]);
|
||||
}
|
||||
/* DBG_871X("\n"); */
|
||||
sprintf(extra, "%s\n", extra);
|
||||
}
|
||||
/* DBG_871X("\n"); */
|
||||
}
|
||||
else if (strcmp(tmp[0],"btrmap") == 0)
|
||||
{
|
||||
|
@ -8188,65 +8064,53 @@ static int rtw_mp_efuse_get(struct net_device *dev,
|
|||
}
|
||||
/* DBG_871X("\n"); */
|
||||
|
||||
}
|
||||
else if (strcmp(tmp[0],"wlrfkrmap")== 0)
|
||||
{
|
||||
if ((tmp[1]==NULL) || (tmp[2]==NULL))
|
||||
{
|
||||
DBG_871X("%s: rmap Fail!! Parameters error!\n", __FUNCTION__);
|
||||
err = -EINVAL;
|
||||
goto exit;
|
||||
}
|
||||
/* rmap addr cnts */
|
||||
addr = simple_strtoul(tmp[1], &ptmp, 16);
|
||||
DBG_871X("%s: addr=%x\n", __FUNCTION__, addr);
|
||||
} else if (strcmp(tmp[0],"wlrfkrmap")== 0) {
|
||||
if ((tmp[1]==NULL) || (tmp[2]==NULL)) {
|
||||
DBG_871X("%s: rmap Fail!! Parameters error!\n", __FUNCTION__);
|
||||
err = -EINVAL;
|
||||
goto exit;
|
||||
}
|
||||
/* rmap addr cnts */
|
||||
addr = simple_strtoul(tmp[1], &ptmp, 16);
|
||||
DBG_871X("%s: addr=%x\n", __FUNCTION__, addr);
|
||||
|
||||
cnts = simple_strtoul(tmp[2], &ptmp, 10);
|
||||
if (cnts == 0)
|
||||
{
|
||||
DBG_871X("%s: rmap Fail!! cnts error!\n", __FUNCTION__);
|
||||
err = -EINVAL;
|
||||
goto exit;
|
||||
}
|
||||
DBG_871X("%s: cnts=%d\n", __FUNCTION__, cnts);
|
||||
cnts = simple_strtoul(tmp[2], &ptmp, 10);
|
||||
if (cnts == 0) {
|
||||
DBG_871X("%s: rmap Fail!! cnts error!\n", __FUNCTION__);
|
||||
err = -EINVAL;
|
||||
goto exit;
|
||||
}
|
||||
DBG_871X("%s: cnts=%d\n", __FUNCTION__, cnts);
|
||||
|
||||
/* DBG_871X("%s: data={", __FUNCTION__); */
|
||||
*extra = 0;
|
||||
for (i=0; i<cnts; i++) {
|
||||
DBG_871X("wlrfkrmap = 0x%02x \n", pEfuseHal->fakeEfuseModifiedMap[addr+i]);
|
||||
sprintf(extra, "%s0x%02X ", extra, pEfuseHal->fakeEfuseModifiedMap[addr+i]);
|
||||
}
|
||||
}
|
||||
else if (strcmp(tmp[0],"btrfkrmap")== 0)
|
||||
{
|
||||
if ((tmp[1]==NULL) || (tmp[2]==NULL))
|
||||
{
|
||||
DBG_871X("%s: rmap Fail!! Parameters error!\n", __FUNCTION__);
|
||||
err = -EINVAL;
|
||||
goto exit;
|
||||
}
|
||||
/* rmap addr cnts */
|
||||
addr = simple_strtoul(tmp[1], &ptmp, 16);
|
||||
DBG_871X("%s: addr=%x\n", __FUNCTION__, addr);
|
||||
*extra = 0;
|
||||
for (i=0; i<cnts; i++) {
|
||||
DBG_871X("wlrfkrmap = 0x%02x \n", pEfuseHal->fakeEfuseModifiedMap[addr+i]);
|
||||
sprintf(extra, "%s0x%02X ", extra, pEfuseHal->fakeEfuseModifiedMap[addr+i]);
|
||||
}
|
||||
} else if (strcmp(tmp[0],"btrfkrmap")== 0) {
|
||||
if ((tmp[1]==NULL) || (tmp[2]==NULL)) {
|
||||
DBG_871X("%s: rmap Fail!! Parameters error!\n", __FUNCTION__);
|
||||
err = -EINVAL;
|
||||
goto exit;
|
||||
}
|
||||
/* rmap addr cnts */
|
||||
addr = simple_strtoul(tmp[1], &ptmp, 16);
|
||||
DBG_871X("%s: addr=%x\n", __FUNCTION__, addr);
|
||||
|
||||
cnts = simple_strtoul(tmp[2], &ptmp, 10);
|
||||
if (cnts == 0)
|
||||
{
|
||||
DBG_871X("%s: rmap Fail!! cnts error!\n", __FUNCTION__);
|
||||
err = -EINVAL;
|
||||
goto exit;
|
||||
}
|
||||
DBG_871X("%s: cnts=%d\n", __FUNCTION__, cnts);
|
||||
cnts = simple_strtoul(tmp[2], &ptmp, 10);
|
||||
if (cnts == 0) {
|
||||
DBG_871X("%s: rmap Fail!! cnts error!\n", __FUNCTION__);
|
||||
err = -EINVAL;
|
||||
goto exit;
|
||||
}
|
||||
DBG_871X("%s: cnts=%d\n", __FUNCTION__, cnts);
|
||||
|
||||
/* DBG_871X("%s: data={", __FUNCTION__); */
|
||||
*extra = 0;
|
||||
for (i=0; i<cnts; i++) {
|
||||
DBG_871X("wlrfkrmap = 0x%02x \n", pEfuseHal->fakeBTEfuseModifiedMap[addr+i]);
|
||||
sprintf(extra, "%s0x%02X ", extra, pEfuseHal->fakeBTEfuseModifiedMap[addr+i]);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
*extra = 0;
|
||||
for (i=0; i<cnts; i++) {
|
||||
DBG_871X("wlrfkrmap = 0x%02x \n", pEfuseHal->fakeBTEfuseModifiedMap[addr+i]);
|
||||
sprintf(extra, "%s0x%02X ", extra, pEfuseHal->fakeBTEfuseModifiedMap[addr+i]);
|
||||
}
|
||||
} else {
|
||||
sprintf(extra, "Command not found!");
|
||||
}
|
||||
|
||||
|
@ -8706,18 +8570,14 @@ static int rtw_wfd_tdls_enable(struct net_device *dev,
|
|||
struct iw_request_info *info,
|
||||
union iwreq_data *wrqu, char *extra)
|
||||
{
|
||||
int ret = 0;
|
||||
|
||||
return ret;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int rtw_tdls_weaksec(struct net_device *dev,
|
||||
struct iw_request_info *info,
|
||||
union iwreq_data *wrqu, char *extra)
|
||||
{
|
||||
int ret = 0;
|
||||
|
||||
return ret;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
@ -8725,92 +8585,70 @@ static int rtw_tdls_enable(struct net_device *dev,
|
|||
struct iw_request_info *info,
|
||||
union iwreq_data *wrqu, char *extra)
|
||||
{
|
||||
int ret = 0;
|
||||
|
||||
return ret;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int rtw_tdls_setup(struct net_device *dev,
|
||||
struct iw_request_info *info,
|
||||
union iwreq_data *wrqu, char *extra)
|
||||
{
|
||||
int ret = 0;
|
||||
|
||||
return ret;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int rtw_tdls_teardown(struct net_device *dev,
|
||||
struct iw_request_info *info,
|
||||
union iwreq_data *wrqu, char *extra)
|
||||
{
|
||||
int ret = 0;
|
||||
|
||||
return ret;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int rtw_tdls_discovery(struct net_device *dev,
|
||||
struct iw_request_info *info,
|
||||
union iwreq_data *wrqu, char *extra)
|
||||
{
|
||||
int ret = 0;
|
||||
|
||||
return ret;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int rtw_tdls_ch_switch(struct net_device *dev,
|
||||
struct iw_request_info *info,
|
||||
union iwreq_data *wrqu, char *extra)
|
||||
{
|
||||
int ret = 0;
|
||||
|
||||
return ret;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int rtw_tdls_pson(struct net_device *dev,
|
||||
struct iw_request_info *info,
|
||||
union iwreq_data *wrqu, char *extra)
|
||||
{
|
||||
int ret = 0;
|
||||
|
||||
return ret;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int rtw_tdls_psoff(struct net_device *dev,
|
||||
struct iw_request_info *info,
|
||||
union iwreq_data *wrqu, char *extra)
|
||||
{
|
||||
int ret = 0;
|
||||
|
||||
return ret;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int rtw_tdls_setip(struct net_device *dev,
|
||||
struct iw_request_info *info,
|
||||
union iwreq_data *wrqu, char *extra)
|
||||
{
|
||||
int ret = 0;
|
||||
|
||||
return ret;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int rtw_tdls_getip(struct net_device *dev,
|
||||
struct iw_request_info *info,
|
||||
union iwreq_data *wrqu, char *extra)
|
||||
{
|
||||
int ret = 0;
|
||||
|
||||
return ret;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int rtw_tdls_getport(struct net_device *dev,
|
||||
struct iw_request_info *info,
|
||||
union iwreq_data *wrqu, char *extra)
|
||||
{
|
||||
|
||||
int ret = 0;
|
||||
|
||||
return ret;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* WFDTDLS, for sigma test */
|
||||
|
@ -8818,11 +8656,7 @@ static int rtw_tdls_dis_result(struct net_device *dev,
|
|||
struct iw_request_info *info,
|
||||
union iwreq_data *wrqu, char *extra)
|
||||
{
|
||||
|
||||
int ret = 0;
|
||||
|
||||
return ret;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* WFDTDLS, for sigma test */
|
||||
|
@ -8830,28 +8664,21 @@ static int rtw_wfd_tdls_status(struct net_device *dev,
|
|||
struct iw_request_info *info,
|
||||
union iwreq_data *wrqu, char *extra)
|
||||
{
|
||||
|
||||
int ret = 0;
|
||||
|
||||
return ret;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int rtw_tdls_ch_switch_off(struct net_device *dev,
|
||||
struct iw_request_info *info,
|
||||
union iwreq_data *wrqu, char *extra)
|
||||
{
|
||||
int ret = 0;
|
||||
|
||||
return ret;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int rtw_tdls(struct net_device *dev,
|
||||
struct iw_request_info *info,
|
||||
union iwreq_data *wrqu, char *extra)
|
||||
{
|
||||
int ret = 0;
|
||||
|
||||
return ret;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
@ -8886,10 +8713,6 @@ static int rtw_tdls_get(struct net_device *dev,
|
|||
return ret;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#ifdef CONFIG_MAC_LOOPBACK_DRIVER
|
||||
|
||||
#include <rtl8188e_hal.h>
|
||||
|
@ -9671,20 +9494,17 @@ static iw_handler rtw_private_handler[] =
|
|||
#if WIRELESS_EXT >= 17
|
||||
static struct iw_statistics *rtw_get_wireless_stats(struct net_device *dev)
|
||||
{
|
||||
struct adapter *padapter = (struct adapter *)rtw_netdev_priv(dev);
|
||||
struct iw_statistics *piwstats=&padapter->iwstats;
|
||||
struct adapter *padapter = (struct adapter *)rtw_netdev_priv(dev);
|
||||
struct iw_statistics *piwstats=&padapter->iwstats;
|
||||
int tmp_level = 0;
|
||||
int tmp_qual = 0;
|
||||
int tmp_noise = 0;
|
||||
|
||||
if (check_fwstate(&padapter->mlmepriv, _FW_LINKED) != true)
|
||||
{
|
||||
if (check_fwstate(&padapter->mlmepriv, _FW_LINKED) != true) {
|
||||
piwstats->qual.qual = 0;
|
||||
piwstats->qual.level = 0;
|
||||
piwstats->qual.noise = 0;
|
||||
/* DBG_871X("No link level:%d, qual:%d, noise:%d\n", tmp_level, tmp_qual, tmp_noise); */
|
||||
}
|
||||
else{
|
||||
} else {
|
||||
tmp_level = padapter->recvpriv.signal_strength;
|
||||
#ifdef CONFIG_BT_COEXIST
|
||||
{
|
||||
|
@ -9696,7 +9516,6 @@ static struct iw_statistics *rtw_get_wireless_stats(struct net_device *dev)
|
|||
|
||||
tmp_qual = padapter->recvpriv.signal_qual;
|
||||
tmp_noise =padapter->recvpriv.noise;
|
||||
/* DBG_871X("level:%d, qual:%d, noise:%d, rssi (%d)\n", tmp_level, tmp_qual, tmp_noise,padapter->recvpriv.rssi); */
|
||||
|
||||
piwstats->qual.level = tmp_level;
|
||||
piwstats->qual.qual = tmp_qual;
|
||||
|
|
|
@ -178,21 +178,14 @@ void rtw_reset_securitypriv( struct adapter *adapter )
|
|||
|
||||
void rtw_os_indicate_disconnect( struct adapter *adapter )
|
||||
{
|
||||
/* RT_PMKID_LIST backupPMKIDList[ NUM_PMKID_CACHE ]; */
|
||||
|
||||
;
|
||||
|
||||
netif_carrier_off(adapter->pnetdev); /* Do it first for tx broadcast pkt after disconnection issue! */
|
||||
|
||||
rtw_cfg80211_indicate_disconnect(adapter);
|
||||
|
||||
rtw_indicate_wx_disassoc_event(adapter);
|
||||
|
||||
/* modify for CONFIG_IEEE80211W, none 11w also can use the same command */
|
||||
rtw_reset_securitypriv_cmd(adapter);
|
||||
|
||||
;
|
||||
|
||||
/* modify for CONFIG_IEEE80211W, none 11w also can use the same command */
|
||||
rtw_reset_securitypriv_cmd(adapter);
|
||||
}
|
||||
|
||||
void rtw_report_sec_ie(struct adapter *adapter,u8 authmode,u8 *sec_ie)
|
||||
|
@ -201,13 +194,10 @@ void rtw_report_sec_ie(struct adapter *adapter,u8 authmode,u8 *sec_ie)
|
|||
u8 *buff,*p,i;
|
||||
union iwreq_data wrqu;
|
||||
|
||||
;
|
||||
|
||||
RT_TRACE(_module_mlme_osdep_c_,_drv_info_,("+rtw_report_sec_ie, authmode=%d\n", authmode));
|
||||
|
||||
buff = NULL;
|
||||
if(authmode==_WPA_IE_ID_)
|
||||
{
|
||||
if(authmode==_WPA_IE_ID_) {
|
||||
RT_TRACE(_module_mlme_osdep_c_,_drv_info_,("rtw_report_sec_ie, authmode=%d\n", authmode));
|
||||
|
||||
buff = rtw_malloc(IW_CUSTOM_MAX);
|
||||
|
|
|
@ -1294,7 +1294,7 @@ static int ips_netdrv_open(struct adapter *padapter)
|
|||
rtw_set_pwr_state_check_timer(adapter_to_pwrctl(padapter));
|
||||
_set_timer(&padapter->mlmepriv.dynamic_chk_timer,5000);
|
||||
|
||||
return _SUCCESS;
|
||||
return _SUCCESS;
|
||||
|
||||
netdev_open_error:
|
||||
/* padapter->bup = false; */
|
||||
|
|
|
@ -51,21 +51,19 @@ u32 rtw_atoi(u8* s)
|
|||
|
||||
int num=0,flag=0;
|
||||
int i;
|
||||
for(i=0;i<=strlen(s);i++)
|
||||
{
|
||||
if(s[i] >= '0' && s[i] <= '9')
|
||||
num = num * 10 + s[i] -'0';
|
||||
else if(s[0] == '-' && i==0)
|
||||
flag =1;
|
||||
else
|
||||
break;
|
||||
for(i=0;i<=strlen(s);i++) {
|
||||
if(s[i] >= '0' && s[i] <= '9')
|
||||
num = num * 10 + s[i] -'0';
|
||||
else if(s[0] == '-' && i==0)
|
||||
flag =1;
|
||||
else
|
||||
break;
|
||||
}
|
||||
|
||||
if(flag == 1)
|
||||
num = num * -1;
|
||||
|
||||
return(num);
|
||||
num = num * -1;
|
||||
|
||||
return num;
|
||||
}
|
||||
|
||||
inline u8* _rtw_vmalloc(u32 sz)
|
||||
|
@ -1166,13 +1164,14 @@ RETURN:
|
|||
int rtw_change_ifname(struct adapter *padapter, const char *ifname)
|
||||
{
|
||||
struct net_device *pnetdev;
|
||||
struct net_device *cur_pnetdev = padapter->pnetdev;
|
||||
struct net_device *cur_pnetdev;
|
||||
struct rereg_nd_name_data *rereg_priv;
|
||||
int ret;
|
||||
|
||||
if(!padapter)
|
||||
goto error;
|
||||
|
||||
cur_pnetdev = padapter->pnetdev;
|
||||
rereg_priv = &padapter->rereg_nd_name_priv;
|
||||
|
||||
/* free the old_pnetdev */
|
||||
|
|
|
@ -211,6 +211,8 @@ int rtw_recv_indicatepkt(struct adapter *padapter, union recv_frame *precv_frame
|
|||
}
|
||||
#endif
|
||||
|
||||
if (!precv_frame)
|
||||
goto _recv_indicatepkt_drop;
|
||||
skb = precv_frame->u.hdr.pkt;
|
||||
if(skb == NULL)
|
||||
{
|
||||
|
|
|
@ -459,7 +459,7 @@ void rtw_dev_unload(struct adapter *padapter)
|
|||
|
||||
/* s4. */
|
||||
if(!adapter_to_pwrctl(padapter)->bInternalAutoSuspend )
|
||||
rtw_stop_drv_threads(padapter);
|
||||
rtw_stop_drv_threads(padapter);
|
||||
|
||||
|
||||
/* s5. */
|
||||
|
@ -508,8 +508,6 @@ int rtw_hw_suspend(struct adapter *padapter )
|
|||
struct usb_interface *pusb_intf = adapter_to_dvobj(padapter)->pusbintf;
|
||||
struct net_device *pnetdev = padapter->pnetdev;
|
||||
|
||||
;
|
||||
|
||||
if((!padapter->bup) || (padapter->bDriverStopped)||(padapter->bSurpriseRemoved))
|
||||
{
|
||||
DBG_871X("padapter->bup=%d bDriverStopped=%d bSurpriseRemoved = %d\n",
|
||||
|
@ -517,57 +515,49 @@ int rtw_hw_suspend(struct adapter *padapter )
|
|||
goto error_exit;
|
||||
}
|
||||
|
||||
if(padapter)/* system suspend */
|
||||
LeaveAllPowerSaveMode(padapter);
|
||||
|
||||
DBG_871X("==> rtw_hw_suspend\n");
|
||||
_enter_pwrlock(&pwrpriv->lock);
|
||||
pwrpriv->bips_processing = true;
|
||||
/* s1. */
|
||||
if(pnetdev)
|
||||
{
|
||||
LeaveAllPowerSaveMode(padapter);
|
||||
|
||||
DBG_871X("==> rtw_hw_suspend\n");
|
||||
_enter_pwrlock(&pwrpriv->lock);
|
||||
pwrpriv->bips_processing = true;
|
||||
/* padapter->net_closed = true; */
|
||||
/* s1. */
|
||||
if(pnetdev)
|
||||
{
|
||||
netif_carrier_off(pnetdev);
|
||||
rtw_netif_stop_queue(pnetdev);
|
||||
}
|
||||
|
||||
/* s2. */
|
||||
rtw_disassoc_cmd(padapter, 500, false);
|
||||
|
||||
/* s2-2. indicate disconnect to os */
|
||||
/* rtw_indicate_disconnect(padapter); */
|
||||
{
|
||||
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
|
||||
|
||||
if(check_fwstate(pmlmepriv, _FW_LINKED))
|
||||
{
|
||||
_clr_fwstate_(pmlmepriv, _FW_LINKED);
|
||||
|
||||
rtw_led_control(padapter, LED_CTL_NO_LINK);
|
||||
|
||||
rtw_os_indicate_disconnect(padapter);
|
||||
|
||||
/* donnot enqueue cmd */
|
||||
rtw_lps_ctrl_wk_cmd(padapter, LPS_CTRL_DISCONNECT, 0);
|
||||
}
|
||||
|
||||
}
|
||||
/* s2-3. */
|
||||
rtw_free_assoc_resources(padapter, 1);
|
||||
|
||||
/* s2-4. */
|
||||
rtw_free_network_queue(padapter,true);
|
||||
rtw_ips_dev_unload(padapter);
|
||||
pwrpriv->rf_pwrstate = rf_off;
|
||||
pwrpriv->bips_processing = false;
|
||||
|
||||
_exit_pwrlock(&pwrpriv->lock);
|
||||
netif_carrier_off(pnetdev);
|
||||
rtw_netif_stop_queue(pnetdev);
|
||||
}
|
||||
else
|
||||
goto error_exit;
|
||||
|
||||
;
|
||||
/* s2. */
|
||||
rtw_disassoc_cmd(padapter, 500, false);
|
||||
|
||||
/* s2-2. indicate disconnect to os */
|
||||
{
|
||||
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
|
||||
|
||||
if(check_fwstate(pmlmepriv, _FW_LINKED))
|
||||
{
|
||||
_clr_fwstate_(pmlmepriv, _FW_LINKED);
|
||||
|
||||
rtw_led_control(padapter, LED_CTL_NO_LINK);
|
||||
|
||||
rtw_os_indicate_disconnect(padapter);
|
||||
|
||||
/* donnot enqueue cmd */
|
||||
rtw_lps_ctrl_wk_cmd(padapter, LPS_CTRL_DISCONNECT, 0);
|
||||
}
|
||||
|
||||
}
|
||||
/* s2-3. */
|
||||
rtw_free_assoc_resources(padapter, 1);
|
||||
|
||||
/* s2-4. */
|
||||
rtw_free_network_queue(padapter,true);
|
||||
rtw_ips_dev_unload(padapter);
|
||||
pwrpriv->rf_pwrstate = rf_off;
|
||||
pwrpriv->bips_processing = false;
|
||||
|
||||
_exit_pwrlock(&pwrpriv->lock);
|
||||
|
||||
return 0;
|
||||
|
||||
error_exit:
|
||||
|
@ -578,21 +568,21 @@ error_exit:
|
|||
|
||||
int rtw_hw_resume(struct adapter *padapter)
|
||||
{
|
||||
struct pwrctrl_priv *pwrpriv = adapter_to_pwrctl(padapter);
|
||||
struct usb_interface *pusb_intf = adapter_to_dvobj(padapter)->pusbintf;
|
||||
struct net_device *pnetdev = padapter->pnetdev;
|
||||
|
||||
;
|
||||
struct pwrctrl_priv *pwrpriv;
|
||||
struct usb_interface *pusb_intf;
|
||||
struct net_device *pnetdev;
|
||||
|
||||
if(padapter)/* system resume */
|
||||
{
|
||||
pwrpriv = adapter_to_pwrctl(padapter);
|
||||
pusb_intf = adapter_to_dvobj(padapter)->pusbintf;
|
||||
pnetdev = padapter->pnetdev;
|
||||
DBG_871X("==> rtw_hw_resume\n");
|
||||
_enter_pwrlock(&pwrpriv->lock);
|
||||
pwrpriv->bips_processing = true;
|
||||
rtw_reset_drv_sw(padapter);
|
||||
|
||||
if(pm_netdev_open(pnetdev,false) != 0)
|
||||
{
|
||||
if(pm_netdev_open(pnetdev,false) != 0) {
|
||||
_exit_pwrlock(&pwrpriv->lock);
|
||||
goto error_exit;
|
||||
}
|
||||
|
@ -612,14 +602,10 @@ int rtw_hw_resume(struct adapter *padapter)
|
|||
pwrpriv->bips_processing = false;
|
||||
|
||||
_exit_pwrlock(&pwrpriv->lock);
|
||||
}
|
||||
else
|
||||
{
|
||||
} else {
|
||||
goto error_exit;
|
||||
}
|
||||
|
||||
;
|
||||
|
||||
return 0;
|
||||
error_exit:
|
||||
DBG_871X("%s, Open net dev failed \n",__FUNCTION__);
|
||||
|
@ -694,7 +680,7 @@ static int rtw_resume(struct usb_interface *pusb_intf)
|
|||
struct adapter *padapter = dvobj->if1;
|
||||
struct net_device *pnetdev = padapter->pnetdev;
|
||||
struct pwrctrl_priv *pwrpriv = dvobj_to_pwrctl(dvobj);
|
||||
int ret = 0;
|
||||
int ret = 0;
|
||||
|
||||
if(pwrpriv->bInternalAutoSuspend ){
|
||||
ret = rtw_resume_process(padapter);
|
||||
|
|
|
@ -311,7 +311,7 @@ static void usb_write_port_complete(struct urb *purb, struct pt_regs *regs)
|
|||
/* struct xmit_frame *pxmitframe = (struct xmit_frame *)pxmitbuf->priv_data; */
|
||||
/* struct adapter *padapter = pxmitframe->padapter; */
|
||||
struct adapter *padapter = pxmitbuf->padapter;
|
||||
struct xmit_priv *pxmitpriv = &padapter->xmitpriv;
|
||||
struct xmit_priv *pxmitpriv = &padapter->xmitpriv;
|
||||
/* struct pkt_attrib *pattrib = &pxmitframe->attrib; */
|
||||
|
||||
;
|
||||
|
|
|
@ -53,33 +53,22 @@ uint _rtw_pktfile_read (struct pkt_file *pfile, u8 *rmem, uint rlen)
|
|||
{
|
||||
uint len = 0;
|
||||
|
||||
;
|
||||
|
||||
len = rtw_remainder_len(pfile);
|
||||
len = rtw_remainder_len(pfile);
|
||||
len = (rlen > len)? len: rlen;
|
||||
|
||||
if(rmem)
|
||||
skb_copy_bits(pfile->pkt, pfile->buf_len-pfile->pkt_len, rmem, len);
|
||||
|
||||
pfile->cur_addr += len;
|
||||
pfile->pkt_len -= len;
|
||||
|
||||
;
|
||||
if (rmem)
|
||||
skb_copy_bits(pfile->pkt, pfile->buf_len-pfile->pkt_len, rmem, len);
|
||||
|
||||
pfile->cur_addr += len;
|
||||
pfile->pkt_len -= len;
|
||||
return len;
|
||||
}
|
||||
|
||||
sint rtw_endofpktfile(struct pkt_file *pfile)
|
||||
{
|
||||
;
|
||||
|
||||
if (pfile->pkt_len == 0) {
|
||||
;
|
||||
return true;
|
||||
}
|
||||
|
||||
;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue