]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/staging/wlan-ng/p80211wext.c
Staging: wlan-ng: Remove stray comments in header files
[linux-2.6-omap-h63xx.git] / drivers / staging / wlan-ng / p80211wext.c
index 84b6d3208034caeedb6337cb296417c8f7d57a87..f817fe4c16f5bc6ce43ca1e1b28a6fbdb8cd9160 100644 (file)
@@ -38,7 +38,6 @@
 /* System Includes */
 
 
-#include <linux/version.h>
 
 #include <linux/kernel.h>
 #include <linux/sched.h>
 #include <asm/bitops.h>
 #include <asm/uaccess.h>
 #include <asm/byteorder.h>
+#include <linux/if_ether.h>
 
 /*================================================================*/
 /* Project Includes */
 
-#include "version.h"
 #include "wlan_compat.h"
 
 #include "p80211types.h"
@@ -76,10 +75,8 @@ static int p80211wext_giwrate(netdevice_t *dev,
 static int p80211wext_giwessid(netdevice_t *dev,
                               struct iw_request_info *info,
                               struct iw_point *data, char *essid);
-/* compatibility to wireless extensions */
-#ifdef WIRELESS_EXT
 
-static UINT8 p80211_mhz_to_channel(UINT16 mhz)
+static u8 p80211_mhz_to_channel(u16 mhz)
 {
        if (mhz >= 5000) {
                return ((mhz - 5000) / 5);
@@ -95,7 +92,7 @@ static UINT8 p80211_mhz_to_channel(UINT16 mhz)
        return 0;
 }
 
-static UINT16 p80211_channel_to_mhz(UINT8 ch, int dot11a)
+static u16 p80211_channel_to_mhz(u8 ch, int dot11a)
 {
 
        if (ch == 0)
@@ -126,7 +123,7 @@ static const long p80211wext_channel_freq[] = {
        2412, 2417, 2422, 2427, 2432, 2437, 2442,
        2447, 2452, 2457, 2462, 2467, 2472, 2484
 };
-#define NUM_CHANNELS (sizeof(p80211wext_channel_freq) / sizeof(p80211wext_channel_freq[0]))
+#define NUM_CHANNELS ARRAY_SIZE(p80211wext_channel_freq)
 
 /* steal a spare bit to store the shared/opensystems state. should default to open if not set */
 #define HOSTWEP_SHAREDKEY BIT3
@@ -145,7 +142,7 @@ static int qual_as_percent(int snr ) {
 
 
 
-static int p80211wext_dorequest(wlandevice_t *wlandev, UINT32 did, UINT32 data)
+static int p80211wext_dorequest(wlandevice_t *wlandev, u32 did, u32 data)
 {
        p80211msg_dot11req_mibset_t     msg;
        p80211item_uint32_t             mibitem;
@@ -157,7 +154,7 @@ static int p80211wext_dorequest(wlandevice_t *wlandev, UINT32 did, UINT32 data)
        mibitem.did = did;
        mibitem.data = data;
        memcpy(&msg.mibattribute.data, &mibitem, sizeof(mibitem));
-       result = p80211req_dorequest(wlandev, (UINT8*)&msg);
+       result = p80211req_dorequest(wlandev, (u8*)&msg);
 
        DBFEXIT;
        return result;
@@ -198,7 +195,7 @@ static int p80211wext_autojoin(wlandevice_t *wlandev)
        memcpy(msg.ssid.data.data, ssid, data.length);
        msg.ssid.data.len = data.length;
 
-       result = p80211req_dorequest(wlandev, (UINT8*)&msg);
+       result = p80211req_dorequest(wlandev, (u8*)&msg);
 
        if (result) {
                err = -EFAULT;
@@ -304,7 +301,7 @@ static int p80211wext_giwfreq(netdevice_t *dev,
        msg.msgcode = DIDmsg_dot11req_mibget;
        mibitem.did = DIDmib_dot11phy_dot11PhyDSSSTable_dot11CurrentChannel;
        memcpy(&msg.mibattribute.data, &mibitem, sizeof(mibitem));
-       result = p80211req_dorequest(wlandev, (UINT8*)&msg);
+       result = p80211req_dorequest(wlandev, (u8*)&msg);
 
        if (result) {
                err = -EFAULT;
@@ -354,7 +351,7 @@ static int p80211wext_siwfreq(netdevice_t *dev,
                mibitem.data = p80211_mhz_to_channel(freq->m);
 
        memcpy(&msg.mibattribute.data, &mibitem, sizeof(mibitem));
-       result = p80211req_dorequest(wlandev, (UINT8*)&msg);
+       result = p80211req_dorequest(wlandev, (u8*)&msg);
 
        if (result) {
                err = -EFAULT;
@@ -437,14 +434,11 @@ static int p80211wext_siwmode(netdevice_t *dev,
        }
 
        /* Set Operation mode to the PORT TYPE RID */
-
-#warning "get rid of p2mib here"
-
        msg.msgcode = DIDmsg_dot11req_mibset;
        mibitem.did = DIDmib_p2_p2Static_p2CnfPortType;
        mibitem.data = (*mode == IW_MODE_ADHOC) ? 0 : 1;
        memcpy(&msg.mibattribute.data, &mibitem, sizeof(mibitem));
-       result = p80211req_dorequest(wlandev, (UINT8*)&msg);
+       result = p80211req_dorequest(wlandev, (u8*)&msg);
 
        if (result)
                err = -EFAULT;
@@ -554,10 +548,13 @@ static int p80211wext_giwencode(netdevice_t *dev,
 
        DBFENTER;
 
+       i = (erq->flags & IW_ENCODE_INDEX) - 1;
+       erq->flags = 0;
+
        if (wlandev->hostwep & HOSTWEP_PRIVACYINVOKED)
-               erq->flags = IW_ENCODE_ENABLED;
+               erq->flags |= IW_ENCODE_ENABLED;
        else
-               erq->flags = IW_ENCODE_DISABLED;
+               erq->flags |= IW_ENCODE_DISABLED;
 
        if (wlandev->hostwep & HOSTWEP_EXCLUDEUNENCRYPTED)
                erq->flags |= IW_ENCODE_RESTRICTED;
@@ -595,7 +592,6 @@ static int p80211wext_siwencode(netdevice_t *dev,
 
        int err = 0;
        int result = 0;
-       int enable = 0;
        int i;
 
        DBFENTER;
@@ -614,23 +610,23 @@ static int p80211wext_siwencode(netdevice_t *dev,
                else
                        i--;
 
-               result = p80211wext_dorequest(wlandev, DIDmib_dot11smt_dot11PrivacyTable_dot11WEPDefaultKeyID, i);
+               /* Set current key number only if no keys are given */
+               if (erq->flags & IW_ENCODE_NOKEY) {
+                       result = p80211wext_dorequest(wlandev, DIDmib_dot11smt_dot11PrivacyTable_dot11WEPDefaultKeyID, i);
 
-               if (result) {
-                       err = -EFAULT;
-                       goto exit;
-               }
-               else {
-                       enable = 1;
+                       if (result) {
+                               err = -EFAULT;
+                               goto exit;
+                       }
                }
 
-       }
-       else {
-               // Do not thing when no Key Index
+       } else {
+               // Use defaultkey if no Key Index
+               i = wlandev->hostwep & HOSTWEP_DEFAULTKEY_MASK;
        }
 
        /* Check if there is no key information in the iwconfig request */
-       if((erq->flags & IW_ENCODE_NOKEY) == 0 && enable == 1) {
+       if((erq->flags & IW_ENCODE_NOKEY) == 0 ) {
 
                /*------------------------------------------------------------
                 * If there is WEP Key for setting, check the Key Information
@@ -672,7 +668,7 @@ static int p80211wext_siwencode(netdevice_t *dev,
 
                        msg.msgcode = DIDmsg_dot11req_mibset;
                        memcpy(&msg.mibattribute.data, &pstr, sizeof(pstr));
-                       result = p80211req_dorequest(wlandev, (UINT8*)&msg);
+                       result = p80211req_dorequest(wlandev, (u8*)&msg);
 
                        if (result) {
                                err = -EFAULT;
@@ -685,8 +681,7 @@ static int p80211wext_siwencode(netdevice_t *dev,
        /* Check the PrivacyInvoked flag */
        if (erq->flags & IW_ENCODE_DISABLED) {
                result = p80211wext_dorequest(wlandev, DIDmib_dot11smt_dot11PrivacyTable_dot11PrivacyInvoked, P80211ENUM_truth_false);
-       }
-       else if((erq->flags & IW_ENCODE_ENABLED) || enable == 1) {
+       } else {
                result = p80211wext_dorequest(wlandev, DIDmib_dot11smt_dot11PrivacyTable_dot11PrivacyInvoked, P80211ENUM_truth_true);
        }
 
@@ -695,7 +690,13 @@ static int p80211wext_siwencode(netdevice_t *dev,
                goto exit;
        }
 
-       /* Check the ExcludeUnencrypted flag */
+       /*  The  security  mode  may  be open or restricted, and its meaning
+           depends on the card used. With  most  cards,  in  open  mode  no
+           authentication  is  used  and  the  card  may  also  accept non-
+           encrypted sessions, whereas in restricted  mode  only  encrypted
+           sessions  are  accepted  and the card will use authentication if
+           available.
+       */
        if (erq->flags & IW_ENCODE_RESTRICTED) {
                result = p80211wext_dorequest(wlandev, DIDmib_dot11smt_dot11PrivacyTable_dot11ExcludeUnencrypted, P80211ENUM_truth_true);
        }
@@ -780,7 +781,7 @@ static int p80211wext_siwessid(netdevice_t *dev,
        msg.ssid.data.len = length;
 
        WLAN_LOG_DEBUG(1,"autojoin_ssid for %s \n",essid);
-       result = p80211req_dorequest(wlandev, (UINT8*)&msg);
+       result = p80211req_dorequest(wlandev, (u8*)&msg);
         WLAN_LOG_DEBUG(1,"autojoin_ssid %d\n",result);
 
        if (result) {
@@ -832,7 +833,7 @@ static int p80211wext_giwrate(netdevice_t *dev,
        msg.msgcode = DIDmsg_dot11req_mibget;
        mibitem.did = DIDmib_p2_p2MAC_p2CurrentTxRate;
        memcpy(&msg.mibattribute.data, &mibitem, sizeof(mibitem));
-       result = p80211req_dorequest(wlandev, (UINT8*)&msg);
+       result = p80211req_dorequest(wlandev, (u8*)&msg);
 
        if (result) {
                err = -EFAULT;
@@ -845,10 +846,10 @@ static int p80211wext_giwrate(netdevice_t *dev,
        rrq->disabled = 0;
        rrq->value = 0;
 
-#define                HFA384x_RATEBIT_1                       ((UINT16)1)
-#define                HFA384x_RATEBIT_2                       ((UINT16)2)
-#define                HFA384x_RATEBIT_5dot5                   ((UINT16)4)
-#define                HFA384x_RATEBIT_11                      ((UINT16)8)
+#define                HFA384x_RATEBIT_1                       ((u16)1)
+#define                HFA384x_RATEBIT_2                       ((u16)2)
+#define                HFA384x_RATEBIT_5dot5                   ((u16)4)
+#define                HFA384x_RATEBIT_11                      ((u16)8)
 
        switch (mibitem.data) {
        case HFA384x_RATEBIT_1:
@@ -886,7 +887,7 @@ static int p80211wext_giwrts(netdevice_t *dev,
        msg.msgcode = DIDmsg_dot11req_mibget;
        mibitem.did = DIDmib_dot11mac_dot11OperationTable_dot11RTSThreshold;
        memcpy(&msg.mibattribute.data, &mibitem, sizeof(mibitem));
-       result = p80211req_dorequest(wlandev, (UINT8*)&msg);
+       result = p80211req_dorequest(wlandev, (u8*)&msg);
 
        if (result) {
                err = -EFAULT;
@@ -930,7 +931,7 @@ static int p80211wext_siwrts(netdevice_t *dev,
                mibitem.data = rts->value;
 
        memcpy(&msg.mibattribute.data, &mibitem, sizeof(mibitem));
-       result = p80211req_dorequest(wlandev, (UINT8*)&msg);
+       result = p80211req_dorequest(wlandev, (u8*)&msg);
 
        if (result) {
                err = -EFAULT;
@@ -957,7 +958,7 @@ static int p80211wext_giwfrag(netdevice_t *dev,
        msg.msgcode = DIDmsg_dot11req_mibget;
        mibitem.did = DIDmib_dot11mac_dot11OperationTable_dot11FragmentationThreshold;
        memcpy(&msg.mibattribute.data, &mibitem, sizeof(mibitem));
-       result = p80211req_dorequest(wlandev, (UINT8*)&msg);
+       result = p80211req_dorequest(wlandev, (u8*)&msg);
 
        if (result) {
                err = -EFAULT;
@@ -1001,7 +1002,7 @@ static int p80211wext_siwfrag(netdevice_t *dev,
                mibitem.data = frag->value;
 
        memcpy(&msg.mibattribute.data, &mibitem, sizeof(mibitem));
-       result = p80211req_dorequest(wlandev, (UINT8*)&msg);
+       result = p80211req_dorequest(wlandev, (u8*)&msg);
 
        if (result) {
                err = -EFAULT;
@@ -1030,7 +1031,7 @@ static int p80211wext_giwretry(netdevice_t *dev,
        p80211msg_dot11req_mibset_t     msg;
        int result;
        int err = 0;
-       UINT16 shortretry, longretry, lifetime;
+       u16 shortretry, longretry, lifetime;
 
        DBFENTER;
 
@@ -1038,7 +1039,7 @@ static int p80211wext_giwretry(netdevice_t *dev,
        mibitem.did = DIDmib_dot11mac_dot11OperationTable_dot11ShortRetryLimit;
 
        memcpy(&msg.mibattribute.data, &mibitem, sizeof(mibitem));
-       result = p80211req_dorequest(wlandev, (UINT8*)&msg);
+       result = p80211req_dorequest(wlandev, (u8*)&msg);
 
        if (result) {
                err = -EFAULT;
@@ -1052,7 +1053,7 @@ static int p80211wext_giwretry(netdevice_t *dev,
        mibitem.did = DIDmib_dot11mac_dot11OperationTable_dot11LongRetryLimit;
 
        memcpy(&msg.mibattribute.data, &mibitem, sizeof(mibitem));
-       result = p80211req_dorequest(wlandev, (UINT8*)&msg);
+       result = p80211req_dorequest(wlandev, (u8*)&msg);
 
        if (result) {
                err = -EFAULT;
@@ -1066,7 +1067,7 @@ static int p80211wext_giwretry(netdevice_t *dev,
        mibitem.did = DIDmib_dot11mac_dot11OperationTable_dot11MaxTransmitMSDULifetime;
 
        memcpy(&msg.mibattribute.data, &mibitem, sizeof(mibitem));
-       result = p80211req_dorequest(wlandev, (UINT8*)&msg);
+       result = p80211req_dorequest(wlandev, (u8*)&msg);
 
        if (result) {
                err = -EFAULT;
@@ -1129,7 +1130,7 @@ static int p80211wext_siwretry(netdevice_t *dev,
                mibitem.data =  rrq->value /= 1024;
 
                memcpy(&msg.mibattribute.data, &mibitem, sizeof(mibitem));
-               result = p80211req_dorequest(wlandev, (UINT8*)&msg);
+               result = p80211req_dorequest(wlandev, (u8*)&msg);
 
                if (result) {
                        err = -EFAULT;
@@ -1141,7 +1142,7 @@ static int p80211wext_siwretry(netdevice_t *dev,
                        mibitem.data = rrq->value;
 
                        memcpy(&msg.mibattribute.data, &mibitem, sizeof(mibitem));
-                       result = p80211req_dorequest(wlandev, (UINT8*)&msg);
+                       result = p80211req_dorequest(wlandev, (u8*)&msg);
 
                        if (result) {
                                err = -EFAULT;
@@ -1154,7 +1155,7 @@ static int p80211wext_siwretry(netdevice_t *dev,
                        mibitem.data = rrq->value;
 
                        memcpy(&msg.mibattribute.data, &mibitem, sizeof(mibitem));
-                       result = p80211req_dorequest(wlandev, (UINT8*)&msg);
+                       result = p80211req_dorequest(wlandev, (u8*)&msg);
 
                        if (result) {
                                err = -EFAULT;
@@ -1187,22 +1188,13 @@ static int p80211wext_siwtxpow(netdevice_t *dev,
         }
 
         msg.msgcode = DIDmsg_dot11req_mibset;
-
-        switch (rrq->value) {
-
-          case 1 : mibitem.did = DIDmib_dot11phy_dot11PhyTxPowerTable_dot11TxPowerLevel1; break;
-          case 2 : mibitem.did = DIDmib_dot11phy_dot11PhyTxPowerTable_dot11TxPowerLevel2; break;
-          case 3 : mibitem.did = DIDmib_dot11phy_dot11PhyTxPowerTable_dot11TxPowerLevel3; break;
-          case 4 : mibitem.did = DIDmib_dot11phy_dot11PhyTxPowerTable_dot11TxPowerLevel4; break;
-          case 5 : mibitem.did = DIDmib_dot11phy_dot11PhyTxPowerTable_dot11TxPowerLevel5; break;
-          case 6 : mibitem.did = DIDmib_dot11phy_dot11PhyTxPowerTable_dot11TxPowerLevel6; break;
-          case 7 : mibitem.did = DIDmib_dot11phy_dot11PhyTxPowerTable_dot11TxPowerLevel7; break;
-          case 8 : mibitem.did = DIDmib_dot11phy_dot11PhyTxPowerTable_dot11TxPowerLevel8; break;
-          default: mibitem.did = DIDmib_dot11phy_dot11PhyTxPowerTable_dot11TxPowerLevel8; break;
-       }
-
+       mibitem.did = DIDmib_dot11phy_dot11PhyTxPowerTable_dot11CurrentTxPowerLevel;
+       if (rrq->fixed == 0)
+         mibitem.data = 30;
+       else
+         mibitem.data = rrq->value;
         memcpy(&msg.mibattribute.data, &mibitem, sizeof(mibitem));
-        result = p80211req_dorequest(wlandev, (UINT8*)&msg);
+        result = p80211req_dorequest(wlandev, (u8*)&msg);
 
         if (result) {
                 err = -EFAULT;
@@ -1230,7 +1222,7 @@ static int p80211wext_giwtxpow(netdevice_t *dev,
        mibitem.did = DIDmib_dot11phy_dot11PhyTxPowerTable_dot11CurrentTxPowerLevel;
 
        memcpy(&msg.mibattribute.data, &mibitem, sizeof(mibitem));
-       result = p80211req_dorequest(wlandev, (UINT8*)&msg);
+       result = p80211req_dorequest(wlandev, (u8*)&msg);
 
        if (result) {
                err = -EFAULT;
@@ -1382,7 +1374,7 @@ static int p80211wext_siwscan(netdevice_t *dev,
        msg.maxchanneltime.data = 250;
        msg.minchanneltime.data = 200;
 
-       result = p80211req_dorequest(wlandev, (UINT8*)&msg);
+       result = p80211req_dorequest(wlandev, (u8*)&msg);
        if (result)
                err = prism2_result2err (msg.resultcode.data);
 
@@ -1493,7 +1485,7 @@ static int p80211wext_giwscan(netdevice_t *dev,
                msg.msgcode = DIDmsg_dot11req_scan_results;
                msg.bssindex.data = i;
 
-               result = p80211req_dorequest(wlandev, (UINT8*)&msg);
+               result = p80211req_dorequest(wlandev, (u8*)&msg);
                if ((result != 0) ||
                    (msg.resultcode.data != P80211ENUM_resultcode_success)) {
                        break;
@@ -1586,7 +1578,7 @@ static int p80211wext_set_encodeext(struct net_device *dev,
       break;
     }
     msg.msgcode = DIDmsg_dot11req_mibset;
-    result = p80211req_dorequest(wlandev,(UINT8*)&msg);
+    result = p80211req_dorequest(wlandev,(u8*)&msg);
     WLAN_LOG_DEBUG(1,"result (%d)\n",result);
   }
   return result;
@@ -1761,8 +1753,6 @@ static iw_handler p80211wext_handlers[] =  {
        (iw_handler) NULL,                              /* SIOCGIWAPLIST */
        (iw_handler) p80211wext_siwscan,                /* SIOCSIWSCAN */
        (iw_handler) p80211wext_giwscan,                /* SIOCGIWSCAN */
-       (iw_handler) NULL,      /* null */              /* SIOCSIWSCAN */
-       (iw_handler) NULL,      /* null */              /* SIOCGIWSCAN */
        (iw_handler) p80211wext_siwessid,               /* SIOCSIWESSID */
        (iw_handler) p80211wext_giwessid,               /* SIOCGIWESSID */
        (iw_handler) NULL,                              /* SIOCSIWNICKN */
@@ -1797,7 +1787,7 @@ static iw_handler p80211wext_handlers[] =  {
 };
 
 struct iw_handler_def p80211wext_handler_def = {
-       .num_standard = sizeof(p80211wext_handlers) / sizeof(iw_handler),
+       .num_standard = ARRAY_SIZE(p80211wext_handlers),
        .num_private = 0,
        .num_private_args = 0,
         .standard = p80211wext_handlers,
@@ -1816,9 +1806,9 @@ int p80211wext_event_associated(wlandevice_t *wlandev, int assoc)
         /* Send the association state first */
         data.ap_addr.sa_family = ARPHRD_ETHER;
         if (assoc) {
-                memcpy(data.ap_addr.sa_data, wlandev->bssid, WLAN_ADDR_LEN);
+                memcpy(data.ap_addr.sa_data, wlandev->bssid, ETH_ALEN);
         } else {
-                memset(data.ap_addr.sa_data, 0, WLAN_ADDR_LEN);
+                memset(data.ap_addr.sa_data, 0, ETH_ALEN);
         }
 
         if (wlan_wext_write)
@@ -1834,8 +1824,5 @@ int p80211wext_event_associated(wlandevice_t *wlandev, int assoc)
 }
 
 
-#endif /* compatibility to wireless extensions */
-
-