aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLarry Finger <Larry.Finger@lwfinger.net>2010-08-30 22:32:34 -0500
committerGreg Kroah-Hartman <gregkh@suse.de>2010-08-31 10:59:52 -0700
commit1c9bb32a384d629339fbb56bcf7e4afa55141419 (patch)
tree32b89785bd7f46e878d8f9626fce02409b442887
parent16e53729b799dce572557022952d63cc19f47a7b (diff)
downloadkernel_samsung_smdk4412-1c9bb32a384d629339fbb56bcf7e4afa55141419.zip
kernel_samsung_smdk4412-1c9bb32a384d629339fbb56bcf7e4afa55141419.tar.gz
kernel_samsung_smdk4412-1c9bb32a384d629339fbb56bcf7e4afa55141419.tar.bz2
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>
-rw-r--r--drivers/staging/rtl8712/rtl871x_cmd.c30
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)