summaryrefslogtreecommitdiffstats
path: root/net/mac80211
diff options
context:
space:
mode:
authorJohannes Berg <johannes@sipsolutions.net>2007-09-26 17:53:17 +0200
committerDavid S. Miller <davem@sunset.davemloft.net>2007-10-10 16:54:18 -0700
commit628a140ba033ef201706a8c7e767c8a0c0f8326c (patch)
tree7aae1dbc152bf9180fee3d238f224c2f4b1741b5 /net/mac80211
parent640845a5632390eaa9357cd818646c8f0ee3d47e (diff)
downloadkernel-crypto-628a140ba033ef201706a8c7e767c8a0c0f8326c.tar.gz
kernel-crypto-628a140ba033ef201706a8c7e767c8a0c0f8326c.tar.xz
kernel-crypto-628a140ba033ef201706a8c7e767c8a0c0f8326c.zip
[MAC80211]: remove ALG_NONE
This "algorithm" is used only internally and is not useful. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Cc: Michael Buesch <mb@bu3sch.de> Acked-by: Zhu Yi <yi.zhu@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/mac80211')
-rw-r--r--net/mac80211/ieee80211_ioctl.c19
-rw-r--r--net/mac80211/key.c1
-rw-r--r--net/mac80211/rx.c3
-rw-r--r--net/mac80211/tx.c2
4 files changed, 11 insertions, 14 deletions
diff --git a/net/mac80211/ieee80211_ioctl.c b/net/mac80211/ieee80211_ioctl.c
index 48e68434b38..6c8e73e0d29 100644
--- a/net/mac80211/ieee80211_ioctl.c
+++ b/net/mac80211/ieee80211_ioctl.c
@@ -27,8 +27,9 @@
static int ieee80211_set_encryption(struct net_device *dev, u8 *sta_addr,
- int idx, int alg, int set_tx_key,
- const u8 *_key, size_t key_len)
+ int idx, int alg, int remove,
+ int set_tx_key, const u8 *_key,
+ size_t key_len)
{
struct ieee80211_local *local = wdev_priv(dev->ieee80211_ptr);
int ret = 0;
@@ -75,7 +76,7 @@ static int ieee80211_set_encryption(struct net_device *dev, u8 *sta_addr,
key = sta->key;
}
- if (alg == ALG_NONE) {
+ if (remove) {
ieee80211_key_free(key);
key = NULL;
} else {
@@ -827,6 +828,7 @@ static int ieee80211_ioctl_siwencode(struct net_device *dev,
struct ieee80211_sub_if_data *sdata;
int idx, i, alg = ALG_WEP;
u8 bcaddr[ETH_ALEN] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
+ int remove = 0;
sdata = IEEE80211_DEV_TO_SUB_IF(dev);
@@ -845,7 +847,7 @@ static int ieee80211_ioctl_siwencode(struct net_device *dev,
idx--;
if (erq->flags & IW_ENCODE_DISABLED)
- alg = ALG_NONE;
+ remove = 1;
else if (erq->length == 0) {
/* No key data - just set the default TX key index */
ieee80211_set_default_key(sdata, idx);
@@ -854,7 +856,7 @@ static int ieee80211_ioctl_siwencode(struct net_device *dev,
return ieee80211_set_encryption(
dev, bcaddr,
- idx, alg,
+ idx, alg, remove,
!sdata->default_key,
keybuf, erq->length);
}
@@ -1005,11 +1007,11 @@ static int ieee80211_ioctl_siwencodeext(struct net_device *dev,
{
struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
struct iw_encode_ext *ext = (struct iw_encode_ext *) extra;
- int alg, idx, i;
+ int uninitialized_var(alg), idx, i, remove = 0;
switch (ext->alg) {
case IW_ENCODE_ALG_NONE:
- alg = ALG_NONE;
+ remove = 1;
break;
case IW_ENCODE_ALG_WEP:
alg = ALG_WEP;
@@ -1025,7 +1027,7 @@ static int ieee80211_ioctl_siwencodeext(struct net_device *dev,
}
if (erq->flags & IW_ENCODE_DISABLED)
- alg = ALG_NONE;
+ remove = 1;
idx = erq->flags & IW_ENCODE_INDEX;
if (idx < 1 || idx > 4) {
@@ -1044,6 +1046,7 @@ static int ieee80211_ioctl_siwencodeext(struct net_device *dev,
idx--;
return ieee80211_set_encryption(dev, ext->addr.sa_data, idx, alg,
+ remove,
ext->ext_flags &
IW_ENCODE_EXT_SET_TX_KEY,
ext->key, ext->key_len);
diff --git a/net/mac80211/key.c b/net/mac80211/key.c
index f13d46b2c13..0b2328f7d67 100644
--- a/net/mac80211/key.c
+++ b/net/mac80211/key.c
@@ -121,7 +121,6 @@ struct ieee80211_key *ieee80211_key_alloc(struct ieee80211_sub_if_data *sdata,
struct ieee80211_key *key;
BUG_ON(idx < 0 || idx >= NUM_DEFAULT_KEYS);
- BUG_ON(alg == ALG_NONE);
key = kzalloc(sizeof(struct ieee80211_key) + key_len, GFP_KERNEL);
if (!key)
diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c
index f5caa1a016e..8c16574ec39 100644
--- a/net/mac80211/rx.c
+++ b/net/mac80211/rx.c
@@ -532,9 +532,6 @@ ieee80211_rx_h_decrypt(struct ieee80211_txrx_data *rx)
return ieee80211_crypto_tkip_decrypt(rx);
case ALG_CCMP:
return ieee80211_crypto_ccmp_decrypt(rx);
- case ALG_NONE:
- WARN_ON(1);
- return TXRX_CONTINUE;
}
/* not reached */
diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c
index 8f0007a925a..47416b0645d 100644
--- a/net/mac80211/tx.c
+++ b/net/mac80211/tx.c
@@ -554,8 +554,6 @@ ieee80211_tx_h_encrypt(struct ieee80211_txrx_data *tx)
return ieee80211_crypto_tkip_encrypt(tx);
case ALG_CCMP:
return ieee80211_crypto_ccmp_encrypt(tx);
- case ALG_NONE:
- return TXRX_CONTINUE;
}
/* not reached */