diff options
author | Larry Finger <Larry.Finger@lwfinger.net> | 2010-08-31 03:32:34 (GMT) |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2010-08-31 17:59:52 (GMT) |
commit | 1c9bb32a384d629339fbb56bcf7e4afa55141419 (patch) | |
tree | 32b89785bd7f46e878d8f9626fce02409b442887 /drivers/staging/rtl8712/rtl871x_cmd.c | |
parent | 16e53729b799dce572557022952d63cc19f47a7b (diff) | |
download | linux-fsl-qoriq-1c9bb32a384d629339fbb56bcf7e4afa55141419.tar.xz |
staging: r8712u: Use 802.11bg mode to make a WEP connection
There are some IOT issues when 802.11bgn mode is used to make a WEP
connection.
Signed-off-by: Albert Wang <albert_wang@realtek.com.tw>
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/staging/rtl8712/rtl871x_cmd.c')
-rw-r--r-- | drivers/staging/rtl8712/rtl871x_cmd.c | 30 |
1 files changed, 19 insertions, 11 deletions
diff --git a/drivers/staging/rtl8712/rtl871x_cmd.c b/drivers/staging/rtl8712/rtl871x_cmd.c index 38c7dc6..fbb2e4e 100644 --- a/drivers/staging/rtl8712/rtl871x_cmd.c +++ b/drivers/staging/rtl8712/rtl871x_cmd.c @@ -474,17 +474,25 @@ u8 r8712_joinbss_cmd(struct _adapter *padapter, struct wlan_network *pnetwork) pqospriv->qos_option = 0; /* no WMM IE in beacon */ } if (pregistrypriv->ht_enable) { - /* r8712_restructure_ht_ie */ - r8712_restructure_ht_ie(padapter, &pnetwork->network.IEs[0], - &psecnetwork->IEs[0], - pnetwork->network.IELength, - &psecnetwork->IELength); - if (check_fwstate(pmlmepriv, WIFI_ADHOC_STATE) == true) - r8712_add_ht_addt_info(padapter, - &pnetwork->network.IEs[0], - &psecnetwork->IEs[0], - pnetwork->network.IELength, - &psecnetwork->IELength); + /* For WEP mode, we will use the bg mode to do the connection + * to avoid some IOT issues, especially for Realtek 8192u + * SoftAP. + */ + if ((padapter->securitypriv.PrivacyAlgrthm != _WEP40_ ) && + (padapter->securitypriv.PrivacyAlgrthm != _WEP104_ )) { + /* restructure_ht_ie */ + r8712_restructure_ht_ie(padapter, + &pnetwork->network.IEs[0], + &psecnetwork->IEs[0], + pnetwork->network.IELength, + &psecnetwork->IELength); + if (check_fwstate(pmlmepriv, WIFI_ADHOC_STATE)) + r8712_add_ht_addt_info(padapter, + &pnetwork->network.IEs[0], + &psecnetwork->IEs[0], + pnetwork->network.IELength, + &psecnetwork->IELength); + } } psecuritypriv->supplicant_ie[0] = (u8)psecnetwork->IELength; if (psecnetwork->IELength < 255) |