Merge branch 'for-2.6.30' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie...
[pandora-kernel.git] / drivers / net / wireless / libertas / assoc.c
index 92be604..a0e440c 100644 (file)
@@ -1,6 +1,10 @@
 /* Copyright (C) 2006, Red Hat, Inc. */
 
+#include <linux/types.h>
 #include <linux/etherdevice.h>
+#include <linux/ieee80211.h>
+#include <linux/if_arp.h>
+#include <net/lib80211.h>
 
 #include "assoc.h"
 #include "decl.h"
@@ -151,18 +155,18 @@ static int lbs_adhoc_join(struct lbs_private *priv,
        struct cmd_ds_802_11_ad_hoc_join cmd;
        struct bss_descriptor *bss = &assoc_req->bss;
        u8 preamble = RADIO_PREAMBLE_LONG;
-       DECLARE_MAC_BUF(mac);
+       DECLARE_SSID_BUF(ssid);
        u16 ratesize = 0;
        int ret = 0;
 
        lbs_deb_enter(LBS_DEB_ASSOC);
 
        lbs_deb_join("current SSID '%s', ssid length %u\n",
-               escape_essid(priv->curbssparams.ssid,
+               print_ssid(ssid, priv->curbssparams.ssid,
                priv->curbssparams.ssid_len),
                priv->curbssparams.ssid_len);
        lbs_deb_join("requested ssid '%s', ssid length %u\n",
-               escape_essid(bss->ssid, bss->ssid_len),
+               print_ssid(ssid, bss->ssid, bss->ssid_len),
                bss->ssid_len);
 
        /* check if the requested SSID is already joined */
@@ -226,8 +230,8 @@ static int lbs_adhoc_join(struct lbs_private *priv,
               bss->capability, CAPINFO_MASK);
 
        /* information on BSSID descriptor passed to FW */
-       lbs_deb_join("ADHOC_J_CMD: BSSID = %s, SSID = '%s'\n",
-                       print_mac(mac, cmd.bss.bssid), cmd.bss.ssid);
+       lbs_deb_join("ADHOC_J_CMD: BSSID = %pM, SSID = '%s'\n",
+                       cmd.bss.bssid, cmd.bss.ssid);
 
        /* Only v8 and below support setting these */
        if (priv->fwrelease < 0x09000000) {
@@ -307,6 +311,7 @@ static int lbs_adhoc_start(struct lbs_private *priv,
        size_t ratesize = 0;
        u16 tmpcap = 0;
        int ret = 0;
+       DECLARE_SSID_BUF(ssid);
 
        lbs_deb_enter(LBS_DEB_ASSOC);
 
@@ -326,7 +331,7 @@ static int lbs_adhoc_start(struct lbs_private *priv,
        memcpy(cmd.ssid, assoc_req->ssid, assoc_req->ssid_len);
 
        lbs_deb_join("ADHOC_START: SSID '%s', ssid length %u\n",
-               escape_essid(assoc_req->ssid, assoc_req->ssid_len),
+               print_ssid(ssid, assoc_req->ssid, assoc_req->ssid_len),
                assoc_req->ssid_len);
 
        cmd.bsstype = CMD_BSS_TYPE_IBSS;
@@ -338,12 +343,12 @@ static int lbs_adhoc_start(struct lbs_private *priv,
        WARN_ON(!assoc_req->channel);
 
        /* set Physical parameter set */
-       cmd.phyparamset.dsparamset.elementid = MFIE_TYPE_DS_SET;
+       cmd.phyparamset.dsparamset.elementid = WLAN_EID_DS_PARAMS;
        cmd.phyparamset.dsparamset.len = 1;
        cmd.phyparamset.dsparamset.currentchan = assoc_req->channel;
 
        /* set IBSS parameter set */
-       cmd.ssparamset.ibssparamset.elementid = MFIE_TYPE_IBSS_SET;
+       cmd.ssparamset.ibssparamset.elementid = WLAN_EID_IBSS_PARAMS;
        cmd.ssparamset.ibssparamset.len = 2;
        cmd.ssparamset.ibssparamset.atimwindow = 0;
 
@@ -427,8 +432,8 @@ static inline int match_bss_no_security(struct lbs_802_11_security *secinfo,
 {
        if (!secinfo->wep_enabled  && !secinfo->WPAenabled
            && !secinfo->WPA2enabled
-           && match_bss->wpa_ie[0] != MFIE_TYPE_GENERIC
-           && match_bss->rsn_ie[0] != MFIE_TYPE_RSN
+           && match_bss->wpa_ie[0] != WLAN_EID_GENERIC
+           && match_bss->rsn_ie[0] != WLAN_EID_RSN
            && !(match_bss->capability & WLAN_CAPABILITY_PRIVACY))
                return 1;
        else
@@ -450,7 +455,7 @@ static inline int match_bss_wpa(struct lbs_802_11_security *secinfo,
                                struct bss_descriptor *match_bss)
 {
        if (!secinfo->wep_enabled && secinfo->WPAenabled
-           && (match_bss->wpa_ie[0] == MFIE_TYPE_GENERIC)
+           && (match_bss->wpa_ie[0] == WLAN_EID_GENERIC)
            /* privacy bit may NOT be set in some APs like LinkSys WRT54G
            && (match_bss->capability & WLAN_CAPABILITY_PRIVACY) */
           )
@@ -463,7 +468,7 @@ static inline int match_bss_wpa2(struct lbs_802_11_security *secinfo,
                                 struct bss_descriptor *match_bss)
 {
        if (!secinfo->wep_enabled && secinfo->WPA2enabled &&
-           (match_bss->rsn_ie[0] == MFIE_TYPE_RSN)
+           (match_bss->rsn_ie[0] == WLAN_EID_RSN)
            /* privacy bit may NOT be set in some APs like LinkSys WRT54G
            (match_bss->capability & WLAN_CAPABILITY_PRIVACY) */
           )
@@ -477,8 +482,8 @@ static inline int match_bss_dynamic_wep(struct lbs_802_11_security *secinfo,
 {
        if (!secinfo->wep_enabled && !secinfo->WPAenabled
            && !secinfo->WPA2enabled
-           && (match_bss->wpa_ie[0] != MFIE_TYPE_GENERIC)
-           && (match_bss->rsn_ie[0] != MFIE_TYPE_RSN)
+           && (match_bss->wpa_ie[0] != WLAN_EID_GENERIC)
+           && (match_bss->rsn_ie[0] != WLAN_EID_RSN)
            && (match_bss->capability & WLAN_CAPABILITY_PRIVACY))
                return 1;
        else
@@ -694,6 +699,7 @@ static int assoc_helper_essid(struct lbs_private *priv,
        int ret = 0;
        struct bss_descriptor * bss;
        int channel = -1;
+       DECLARE_SSID_BUF(ssid);
 
        lbs_deb_enter(LBS_DEB_ASSOC);
 
@@ -705,7 +711,7 @@ static int assoc_helper_essid(struct lbs_private *priv,
                channel = assoc_req->channel;
 
        lbs_deb_assoc("SSID '%s' requested\n",
-                     escape_essid(assoc_req->ssid, assoc_req->ssid_len));
+                     print_ssid(ssid, assoc_req->ssid, assoc_req->ssid_len));
        if (assoc_req->mode == IW_MODE_INFRA) {
                lbs_send_specific_ssid_scan(priv, assoc_req->ssid,
                        assoc_req->ssid_len);
@@ -752,17 +758,15 @@ static int assoc_helper_bssid(struct lbs_private *priv,
 {
        int ret = 0;
        struct bss_descriptor * bss;
-       DECLARE_MAC_BUF(mac);
 
-       lbs_deb_enter_args(LBS_DEB_ASSOC, "BSSID %s",
-               print_mac(mac, assoc_req->bssid));
+       lbs_deb_enter_args(LBS_DEB_ASSOC, "BSSID %pM", assoc_req->bssid);
 
        /* Search for index position in list for requested MAC */
        bss = lbs_find_bssid_in_list(priv, assoc_req->bssid,
                            assoc_req->mode);
        if (bss == NULL) {
-               lbs_deb_assoc("ASSOC: WAP: BSSID %s not found, "
-                       "cannot associate.\n", print_mac(mac, assoc_req->bssid));
+               lbs_deb_assoc("ASSOC: WAP: BSSID %pM not found, "
+                       "cannot associate.\n", assoc_req->bssid);
                goto out;
        }
 
@@ -1208,7 +1212,7 @@ void lbs_association_worker(struct work_struct *work)
        struct assoc_request * assoc_req = NULL;
        int ret = 0;
        int find_any_ssid = 0;
-       DECLARE_MAC_BUF(mac);
+       DECLARE_SSID_BUF(ssid);
 
        lbs_deb_enter(LBS_DEB_ASSOC);
 
@@ -1228,13 +1232,13 @@ void lbs_association_worker(struct work_struct *work)
                "    chann:     %d\n"
                "    band:      %d\n"
                "    mode:      %d\n"
-               "    BSSID:     %s\n"
+               "    BSSID:     %pM\n"
                "    secinfo:  %s%s%s\n"
                "    auth_mode: %d\n",
                assoc_req->flags,
-               escape_essid(assoc_req->ssid, assoc_req->ssid_len),
+               print_ssid(ssid, assoc_req->ssid, assoc_req->ssid_len),
                assoc_req->channel, assoc_req->band, assoc_req->mode,
-               print_mac(mac, assoc_req->bssid),
+               assoc_req->bssid,
                assoc_req->secinfo.WPAenabled ? " WPA" : "",
                assoc_req->secinfo.WPA2enabled ? " WPA2" : "",
                assoc_req->secinfo.wep_enabled ? " WEP" : "",
@@ -1357,8 +1361,8 @@ void lbs_association_worker(struct work_struct *work)
                }
 
                if (success) {
-                       lbs_deb_assoc("associated to %s\n",
-                               print_mac(mac, priv->curbssparams.bssid));
+                       lbs_deb_assoc("associated to %pM\n",
+                               priv->curbssparams.bssid);
                        lbs_prepare_and_send_command(priv,
                                CMD_802_11_RSSI,
                                0, CMD_OPTION_WAITFORRSP, 0, NULL);
@@ -1478,7 +1482,6 @@ int lbs_cmd_80211_authenticate(struct lbs_private *priv,
        struct cmd_ds_802_11_authenticate *pauthenticate = &cmd->params.auth;
        int ret = -1;
        u8 *bssid = pdata_buf;
-       DECLARE_MAC_BUF(mac);
 
        lbs_deb_enter(LBS_DEB_JOIN);
 
@@ -1505,8 +1508,8 @@ int lbs_cmd_80211_authenticate(struct lbs_private *priv,
 
        memcpy(pauthenticate->macaddr, bssid, ETH_ALEN);
 
-       lbs_deb_join("AUTH_CMD: BSSID %s, auth 0x%x\n",
-               print_mac(mac, bssid), pauthenticate->authtype);
+       lbs_deb_join("AUTH_CMD: BSSID %pM, auth 0x%x\n",
+               bssid, pauthenticate->authtype);
        ret = 0;
 
 out:
@@ -1770,7 +1773,7 @@ static int lbs_adhoc_post(struct lbs_private *priv, struct cmd_header *resp)
        struct cmd_ds_802_11_ad_hoc_result *adhoc_resp;
        union iwreq_data wrqu;
        struct bss_descriptor *bss;
-       DECLARE_MAC_BUF(mac);
+       DECLARE_SSID_BUF(ssid);
 
        lbs_deb_enter(LBS_DEB_JOIN);
 
@@ -1819,9 +1822,9 @@ static int lbs_adhoc_post(struct lbs_private *priv, struct cmd_header *resp)
        wrqu.ap_addr.sa_family = ARPHRD_ETHER;
        wireless_send_event(priv->dev, SIOCGIWAP, &wrqu, NULL);
 
-       lbs_deb_join("ADHOC_RESP: Joined/started '%s', BSSID %s, channel %d\n",
-                    escape_essid(bss->ssid, bss->ssid_len),
-                    print_mac(mac, priv->curbssparams.bssid),
+       lbs_deb_join("ADHOC_RESP: Joined/started '%s', BSSID %pM, channel %d\n",
+                    print_ssid(ssid, bss->ssid, bss->ssid_len),
+                    priv->curbssparams.bssid,
                     priv->curbssparams.channel);
 
 done: