]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
prism54: correct assignment of DOT1XENABLE in WE-19 codepaths
authorDan Williams <dcbw@redhat.com>
Tue, 13 Feb 2007 21:07:27 +0000 (16:07 -0500)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 9 Mar 2007 18:50:17 +0000 (10:50 -0800)
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>
drivers/net/wireless/prism54/isl_ioctl.c

index 838d510213c60ef74b3e6c1e04d24b156e27db01..a5396c171dc9b95c63c32ba4690645031dfeea90 100644 (file)
@@ -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;
                }