Эх сурвалжийг харах

Move code from ipw2100_wpa_enable to IPW2100_PARAM_DROP_UNENCRYPTED to
support wpa_supplicant with open AP. We need this to make driver_ipw
work.

driver_ext has already had the similar code with the WE-18 support
added.

Signed-off-by: James Ketrenos <jketreno@linux.intel.com>

Zhu Yi 20 жил өмнө
parent
commit
e4cc289987

+ 21 - 3
drivers/net/wireless/ipw2100.c

@@ -5880,9 +5880,27 @@ static int ipw2100_wpa_set_param(struct net_device *dev, u8 name, u32 value)
 
 		break;
 
-	case IPW2100_PARAM_DROP_UNENCRYPTED:
-		priv->ieee->drop_unencrypted = value;
-		break;
+	case IPW2100_PARAM_DROP_UNENCRYPTED:{
+			/* See IW_AUTH_DROP_UNENCRYPTED handling for details */
+			struct ieee80211_security sec = {
+				.flags = SEC_ENABLED,
+				.enabled = value,
+			};
+			priv->ieee->drop_unencrypted = value;
+			/* We only change SEC_LEVEL for open mode. Others
+			 * are set by ipw_wpa_set_encryption.
+			 */
+			if (!value) {
+				sec.flags |= SEC_LEVEL;
+				sec.level = SEC_LEVEL_0;
+			} else {
+				sec.flags |= SEC_LEVEL;
+				sec.level = SEC_LEVEL_1;
+			}
+			if (priv->ieee->set_security)
+				priv->ieee->set_security(priv->ieee->dev, &sec);
+			break;
+		}
 
 	case IPW2100_PARAM_PRIVACY_INVOKED:
 		priv->ieee->privacy_invoked = value;