From: Zhu Yi Date: Wed, 13 Jul 2005 17:30:34 +0000 (-0500) Subject: Move code from ipw2100_wpa_enable to IPW2100_PARAM_DROP_UNENCRYPTED to X-Git-Tag: v2.6.15-rc1~69^2~10^2~48 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e4cc28998724661c19cd979a78eaf9a424da52ef;p=linux-2.6 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 --- diff --git a/drivers/net/wireless/ipw2100.c b/drivers/net/wireless/ipw2100.c index 73287ab7bf..eaf47078ee 100644 --- a/drivers/net/wireless/ipw2100.c +++ b/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;