Browse Source

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>
Larry Finger 15 years ago
parent
commit
1c9bb32a38
1 changed files with 19 additions and 11 deletions
  1. 19 11
      drivers/staging/rtl8712/rtl871x_cmd.c

+ 19 - 11
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)