summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ipw2100.c
diff options
context:
space:
mode:
authorZhu Yi <yi.zhu@intel.com>2005-07-13 12:30:34 -0500
committerJames Ketrenos <jketreno@linux.intel.com>2005-11-07 17:50:08 -0600
commite4cc28998724661c19cd979a78eaf9a424da52ef (patch)
treed39518bd2a881f40b649aa5326d08a2679a2567e /drivers/net/wireless/ipw2100.c
parentf75459e6f64ca0632f23029e2ca47b424dd33373 (diff)
downloadlinux-e4cc28998724661c19cd979a78eaf9a424da52ef.tar.bz2
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>
Diffstat (limited to 'drivers/net/wireless/ipw2100.c')
-rw-r--r--drivers/net/wireless/ipw2100.c24
1 files changed, 21 insertions, 3 deletions
diff --git a/drivers/net/wireless/ipw2100.c b/drivers/net/wireless/ipw2100.c
index 73287ab7bff1..eaf47078ee56 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;