Fix the following sparse warning:
drivers/staging//wlan-ng/prism2sta.c:1691:20: warning: incorrect type in 
assignment (different base types)

(a) Change struct hfa384x_authenticate_station_data status member type to 
__le16.
(b) All assignment to status are converted to little-endian prior to assignment.

Signed-off-by: Aviv Palivoda <pala...@gmail.com>
---
 drivers/staging/wlan-ng/hfa384x.h   |  2 +-
 drivers/staging/wlan-ng/prism2sta.c | 17 ++++++++---------
 2 files changed, 9 insertions(+), 10 deletions(-)

diff --git a/drivers/staging/wlan-ng/hfa384x.h 
b/drivers/staging/wlan-ng/hfa384x.h
index 018db22..fa8cb4a 100644
--- a/drivers/staging/wlan-ng/hfa384x.h
+++ b/drivers/staging/wlan-ng/hfa384x.h
@@ -413,7 +413,7 @@ struct hfa384x_join_request_data {
 /*-- Configuration Record: authenticateStation (data portion only) --*/
 struct hfa384x_authenticate_station_data {
        u8 address[ETH_ALEN];
-       u16 status;
+       __le16 status;
        u16 algorithm;
 } __packed;
 
diff --git a/drivers/staging/wlan-ng/prism2sta.c 
b/drivers/staging/wlan-ng/prism2sta.c
index e16da34..250af0d 100644
--- a/drivers/staging/wlan-ng/prism2sta.c
+++ b/drivers/staging/wlan-ng/prism2sta.c
@@ -1561,7 +1561,7 @@ static void prism2sta_inf_authreq_defer(struct wlandevice 
*wlandev,
         */
 
        ether_addr_copy(rec.address, inf->info.authreq.sta_addr);
-       rec.status = P80211ENUM_status_unspec_failure;
+       rec.status = cpu_to_le16(P80211ENUM_status_unspec_failure);
 
        /*
         * Authenticate based on the access mode.
@@ -1578,7 +1578,7 @@ static void prism2sta_inf_authreq_defer(struct wlandevice 
*wlandev,
                for (i = 0; i < hw->authlist.cnt; i++)
                        if (ether_addr_equal(rec.address,
                                             hw->authlist.addr[i])) {
-                               rec.status = P80211ENUM_status_successful;
+                               rec.status = 
cpu_to_le16(P80211ENUM_status_successful);
                                break;
                        }
 
@@ -1590,7 +1590,7 @@ static void prism2sta_inf_authreq_defer(struct wlandevice 
*wlandev,
                 * Allow all authentications.
                 */
 
-               rec.status = P80211ENUM_status_successful;
+               rec.status = cpu_to_le16(P80211ENUM_status_successful);
                break;
 
        case WLAN_ACCESS_ALLOW:
@@ -1615,7 +1615,7 @@ static void prism2sta_inf_authreq_defer(struct wlandevice 
*wlandev,
 
                for (i = 0; i < cnt; i++, addr += ETH_ALEN)
                        if (ether_addr_equal(rec.address, addr)) {
-                               rec.status = P80211ENUM_status_successful;
+                               rec.status = 
cpu_to_le16(P80211ENUM_status_successful);
                                break;
                        }
 
@@ -1641,11 +1641,11 @@ static void prism2sta_inf_authreq_defer(struct 
wlandevice *wlandev,
                        addr = hw->deny.addr1[0];
                }
 
-               rec.status = P80211ENUM_status_successful;
+               rec.status = cpu_to_le16(P80211ENUM_status_successful);
 
                for (i = 0; i < cnt; i++, addr += ETH_ALEN)
                        if (ether_addr_equal(rec.address, addr)) {
-                               rec.status = P80211ENUM_status_unspec_failure;
+                               rec.status = 
cpu_to_le16(P80211ENUM_status_unspec_failure);
                                break;
                        }
 
@@ -1663,7 +1663,7 @@ static void prism2sta_inf_authreq_defer(struct wlandevice 
*wlandev,
 
        added = 0;
 
-       if (rec.status == P80211ENUM_status_successful) {
+       if (rec.status == cpu_to_le16(P80211ENUM_status_successful)) {
                for (i = 0; i < hw->authlist.cnt; i++)
                        if (ether_addr_equal(rec.address,
                                             hw->authlist.addr[i]))
@@ -1671,7 +1671,7 @@ static void prism2sta_inf_authreq_defer(struct wlandevice 
*wlandev,
 
                if (i >= hw->authlist.cnt) {
                        if (hw->authlist.cnt >= WLAN_AUTH_MAX) {
-                               rec.status = P80211ENUM_status_ap_full;
+                               rec.status = 
cpu_to_le16(P80211ENUM_status_ap_full);
                        } else {
                                ether_addr_copy(
                                        hw->authlist.addr[hw->authlist.cnt],
@@ -1688,7 +1688,6 @@ static void prism2sta_inf_authreq_defer(struct wlandevice 
*wlandev,
         * it was added.
         */
 
-       rec.status = cpu_to_le16(rec.status);
        rec.algorithm = inf->info.authreq.algorithm;
 
        result = hfa384x_drvr_setconfig(hw, HFA384x_RID_AUTHENTICATESTA,
-- 
2.7.4

_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to