diff options
author | Dan Williams <dcbw@redhat.com> | 2007-02-13 16:07:27 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2007-03-09 10:50:17 -0800 |
commit | bbf22c56d0943d4860f0bee21863708f2d3f962a (patch) | |
tree | f8908857ba167f84d36e5f7690b779c679069777 /drivers/net | |
parent | 85560a1e39f9a974e9c4ce5352fd330d4b8fe399 (diff) | |
download | kernel-common-bbf22c56d0943d4860f0bee21863708f2d3f962a.tar.gz kernel-common-bbf22c56d0943d4860f0bee21863708f2d3f962a.tar.bz2 kernel-common-bbf22c56d0943d4860f0bee21863708f2d3f962a.zip |
prism54: correct assignment of DOT1XENABLE in WE-19 codepaths
Correct assignment of DOT1XENABLE in WE-19 codepaths.
RX_UNENCRYPTED_EAPOL = 1 really means setting DOT1XENABLE _off_, and
vice versa. The original WE-19 patch erroneously reversed that. This
patch fixes association with unencrypted and WEP networks when using
wpa_supplicant.
It also adds two missing break statements that, left out, could result
in incorrect card configuration.
Applies to (I think) 2.6.19 and later.
Signed-off-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/wireless/prism54/isl_ioctl.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/net/wireless/prism54/isl_ioctl.c b/drivers/net/wireless/prism54/isl_ioctl.c index 838d510213c6..a5396c171dc9 100644 --- a/drivers/net/wireless/prism54/isl_ioctl.c +++ b/drivers/net/wireless/prism54/isl_ioctl.c @@ -1395,11 +1395,16 @@ static int prism54_set_auth(struct net_device *ndev, break; case IW_AUTH_RX_UNENCRYPTED_EAPOL: - dot1x = param->value ? 1 : 0; + /* dot1x should be the opposite of RX_UNENCRYPTED_EAPOL; + * turn off dot1x when allowing recepit of unencrypted eapol + * frames, turn on dot1x when we disallow receipt + */ + dot1x = param->value ? 0x00 : 0x01; break; case IW_AUTH_PRIVACY_INVOKED: privinvoked = param->value ? 1 : 0; + break; case IW_AUTH_DROP_UNENCRYPTED: exunencrypt = param->value ? 1 : 0; @@ -1589,6 +1594,7 @@ static int prism54_set_encodeext(struct net_device *ndev, } key.type = DOT11_PRIV_TKIP; key.length = KEY_SIZE_TKIP; + break; default: return -EINVAL; } |