rtl8188eu: Fix most errors from smatch

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
This commit is contained in:
Larry Finger 2015-03-10 11:18:03 -05:00
parent ee006634cb
commit 993b4435cb
40 changed files with 1508 additions and 2204 deletions

View file

@ -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)

View file

@ -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;

View file

@ -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);

View file

@ -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; */

View file

@ -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 */

View file

@ -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)
{

View file

@ -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);

View file

@ -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; */
;

View file

@ -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;
}