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 <[EMAIL PROTECTED]>
Signed-off-by: Greg Kroah-Hartman <[EMAIL PROTECTED]>

---
 drivers/net/wireless/prism54/isl_ioctl.c |    8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

--- linux-2.6.20.1.orig/drivers/net/wireless/prism54/isl_ioctl.c
+++ linux-2.6.20.1/drivers/net/wireless/prism54/isl_ioctl.c
@@ -1395,11 +1395,16 @@ static int prism54_set_auth(struct net_d
                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 
                        }
                        key.type = DOT11_PRIV_TKIP;
                        key.length = KEY_SIZE_TKIP;
+                       break;
                default:
                        return -EINVAL;
                }

--
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to