]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/net/wireless/libertas/wext.c
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc
[linux-2.6-omap-h63xx.git] / drivers / net / wireless / libertas / wext.c
index 15395bf0a2ac801d2c925e1ca9c70d0f3bfb1944..c6f5aa3cb465c4394d2140559eb1cec9c0e1de8b 100644 (file)
@@ -237,37 +237,16 @@ static int wlan_set_nick(struct net_device *dev, struct iw_request_info *info,
 static int wlan_get_nick(struct net_device *dev, struct iw_request_info *info,
                         struct iw_point *dwrq, char *extra)
 {
-       const char *cp;
-       char comm[6] = { "COMM-" };
-       char mrvl[6] = { "MRVL-" };
-       int cnt;
+       wlan_private *priv = dev->priv;
+       wlan_adapter *adapter = priv->adapter;
 
        lbs_deb_enter(LBS_DEB_WEXT);
 
-       /*
-        * Nick Name is not used internally in this mode,
-        * therefore return something useful instead. Jean II
-        */
-
-       strcpy(extra, mrvl);
-
-       cp = strstr(libertas_driver_version, comm);
-       if (cp == libertas_driver_version)      //skip leading "COMM-"
-               cp = libertas_driver_version + strlen(comm);
-       else
-               cp = libertas_driver_version;
+       dwrq->length = strlen(adapter->nodename);
+       memcpy(extra, adapter->nodename, dwrq->length);
+       extra[dwrq->length] = '\0';
 
-       cnt = strlen(mrvl);
-       extra += cnt;
-       while (cnt < 16 && (*cp != '-')) {
-               *extra++ = toupper(*cp++);
-               cnt++;
-       }
-
-       /*
-        * Push it out !
-        */
-       dwrq->length = cnt;
+       dwrq->flags = 1;        /* active */
 
        lbs_deb_leave(LBS_DEB_WEXT);
        return 0;
@@ -297,6 +276,7 @@ static int mesh_get_nick(struct net_device *dev, struct iw_request_info *info,
        lbs_deb_leave(LBS_DEB_WEXT);
        return 0;
 }
+
 static int wlan_set_rts(struct net_device *dev, struct iw_request_info *info,
                        struct iw_param *vwrq, char *extra)
 {
@@ -872,7 +852,7 @@ static struct iw_statistics *wlan_get_wireless_stats(struct net_device *dev)
        /* Quality by TX errors */
        priv->wstats.discard.retries = priv->stats.tx_errors;
 
-       tx_retries = le16_to_cpu(adapter->logmsg.retry);
+       tx_retries = le32_to_cpu(adapter->logmsg.retry);
 
        if (tx_retries > 75)
                tx_qual = (90 - tx_retries) * POOR / 15;
@@ -888,10 +868,10 @@ static struct iw_statistics *wlan_get_wireless_stats(struct net_device *dev)
                    (PERFECT - VERY_GOOD) / 50 + VERY_GOOD;
        quality = min(quality, tx_qual);
 
-       priv->wstats.discard.code = le16_to_cpu(adapter->logmsg.wepundecryptable);
-       priv->wstats.discard.fragment = le16_to_cpu(adapter->logmsg.rxfrag);
+       priv->wstats.discard.code = le32_to_cpu(adapter->logmsg.wepundecryptable);
+       priv->wstats.discard.fragment = le32_to_cpu(adapter->logmsg.rxfrag);
        priv->wstats.discard.retries = tx_retries;
-       priv->wstats.discard.misc = le16_to_cpu(adapter->logmsg.ackfailure);
+       priv->wstats.discard.misc = le32_to_cpu(adapter->logmsg.ackfailure);
 
        /* Calculate quality */
        priv->wstats.qual.qual = min_t(u8, quality, 100);
@@ -1160,7 +1140,7 @@ static int wlan_get_encode(struct net_device *dev,
 
        dwrq->flags |= IW_ENCODE_NOKEY;
 
-       lbs_deb_wext("key: " MAC_FMT ", keylen %d\n",
+       lbs_deb_wext("key: %02x:%02x:%02x:%02x:%02x:%02x, keylen %d\n",
               extra[0], extra[1], extra[2],
               extra[3], extra[4], extra[5], dwrq->length);
 
@@ -1980,13 +1960,14 @@ static int wlan_set_wap(struct net_device *dev, struct iw_request_info *info,
        wlan_adapter *adapter = priv->adapter;
        struct assoc_request * assoc_req;
        int ret = 0;
+       DECLARE_MAC_BUF(mac);
 
        lbs_deb_enter(LBS_DEB_WEXT);
 
        if (awrq->sa_family != ARPHRD_ETHER)
                return -EINVAL;
 
-       lbs_deb_wext("ASSOC: WAP: sa_data " MAC_FMT "\n", MAC_ARG(awrq->sa_data));
+       lbs_deb_wext("ASSOC: WAP: sa_data %s\n", print_mac(mac, awrq->sa_data));
 
        mutex_lock(&adapter->lock);
 
@@ -2149,13 +2130,13 @@ static const iw_handler mesh_wlan_handler[] = {
        (iw_handler) NULL,              /* SIOCSIWPMKSA */
 };
 struct iw_handler_def libertas_handler_def = {
-       .num_standard   = sizeof(wlan_handler) / sizeof(iw_handler),
+       .num_standard   = ARRAY_SIZE(wlan_handler),
        .standard       = (iw_handler *) wlan_handler,
        .get_wireless_stats = wlan_get_wireless_stats,
 };
 
 struct iw_handler_def mesh_handler_def = {
-       .num_standard   = sizeof(mesh_wlan_handler) / sizeof(iw_handler),
+       .num_standard   = ARRAY_SIZE(mesh_wlan_handler),
        .standard       = (iw_handler *) mesh_wlan_handler,
        .get_wireless_stats = wlan_get_wireless_stats,
 };