diff options
author | Dan Williams <dcbw@redhat.com> | 2007-02-13 14:00:22 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2007-02-14 15:45:04 -0500 |
commit | b5c41651645f7604dda7abc3445e1622f9b1b9ab (patch) | |
tree | d54bf24905e9555b066f33a9213296452dc0b0a4 /drivers/net | |
parent | 44956855ff9e21f58633a628b6b64e549a2fa0ed (diff) |
[PATCH] 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.
Signed-off-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
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..841b3c136ad9 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, | |||
1395 | break; | 1395 | break; |
1396 | 1396 | ||
1397 | case IW_AUTH_RX_UNENCRYPTED_EAPOL: | 1397 | case IW_AUTH_RX_UNENCRYPTED_EAPOL: |
1398 | dot1x = param->value ? 1 : 0; | 1398 | /* dot1x should be the opposite of RX_UNENCRYPTED_EAPOL; |
1399 | * turn off dot1x when allowing receipt of unencrypted EAPOL | ||
1400 | * frames, turn on dot1x when receipt should be disallowed | ||
1401 | */ | ||
1402 | dot1x = param->value ? 0 : 0x01; | ||
1399 | break; | 1403 | break; |
1400 | 1404 | ||
1401 | case IW_AUTH_PRIVACY_INVOKED: | 1405 | case IW_AUTH_PRIVACY_INVOKED: |
1402 | privinvoked = param->value ? 1 : 0; | 1406 | privinvoked = param->value ? 1 : 0; |
1407 | break; | ||
1403 | 1408 | ||
1404 | case IW_AUTH_DROP_UNENCRYPTED: | 1409 | case IW_AUTH_DROP_UNENCRYPTED: |
1405 | exunencrypt = param->value ? 1 : 0; | 1410 | exunencrypt = param->value ? 1 : 0; |
@@ -1589,6 +1594,7 @@ static int prism54_set_encodeext(struct net_device *ndev, | |||
1589 | } | 1594 | } |
1590 | key.type = DOT11_PRIV_TKIP; | 1595 | key.type = DOT11_PRIV_TKIP; |
1591 | key.length = KEY_SIZE_TKIP; | 1596 | key.length = KEY_SIZE_TKIP; |
1597 | break; | ||
1592 | default: | 1598 | default: |
1593 | return -EINVAL; | 1599 | return -EINVAL; |
1594 | } | 1600 | } |