brcm80211: use endian annotations for assoc ie length request
authorArend van Spriel <arend@broadcom.com>
Wed, 12 Oct 2011 18:51:21 +0000 (20:51 +0200)
committerJohn W. Linville <linville@tuxdriver.com>
Fri, 14 Oct 2011 18:48:18 +0000 (14:48 -0400)
The driver requests the device for number of ie's in assoc request
and response. This needed to be endian annotated.

Reported-by: Johannes Berg <johannes@sipsolutions.net>
Reviewed-by: Roland Vossen <rvossen@broadcom.com>
Reviewed-by: Franky (Zhenhui) Lin <frankyl@broadcom.com>
Signed-off-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/brcm80211/brcmfmac/wl_cfg80211.c
drivers/net/wireless/brcm80211/brcmfmac/wl_cfg80211.h

index 9e69cd7..8e20753 100644 (file)
@@ -2767,7 +2767,7 @@ static void brcmf_clear_assoc_ies(struct brcmf_cfg80211_priv *cfg_priv)
 static s32 brcmf_get_assoc_ies(struct brcmf_cfg80211_priv *cfg_priv)
 {
        struct net_device *ndev = cfg_to_ndev(cfg_priv);
-       struct brcmf_cfg80211_assoc_ielen *assoc_info;
+       struct brcmf_cfg80211_assoc_ielen_le *assoc_info;
        struct brcmf_cfg80211_connect_info *conn_info = cfg_to_conn(cfg_priv);
        u32 req_len;
        u32 resp_len;
@@ -2781,9 +2781,10 @@ static s32 brcmf_get_assoc_ies(struct brcmf_cfg80211_priv *cfg_priv)
                WL_ERR("could not get assoc info (%d)\n", err);
                return err;
        }
-       assoc_info = (struct brcmf_cfg80211_assoc_ielen *)cfg_priv->extra_buf;
-       req_len = assoc_info->req_len;
-       resp_len = assoc_info->resp_len;
+       assoc_info =
+               (struct brcmf_cfg80211_assoc_ielen_le *)cfg_priv->extra_buf;
+       req_len = le32_to_cpu(assoc_info->req_len);
+       resp_len = le32_to_cpu(assoc_info->resp_len);
        if (req_len) {
                err = brcmf_dev_bufvar_get(ndev, "assoc_req_ies",
                                           cfg_priv->extra_buf,
index e69f4f6..62dc461 100644 (file)
@@ -264,9 +264,9 @@ struct brcmf_cfg80211_connect_info {
 };
 
 /* assoc ie length */
-struct brcmf_cfg80211_assoc_ielen {
-       u32 req_len;
-       u32 resp_len;
+struct brcmf_cfg80211_assoc_ielen_le {
+       __le32 req_len;
+       __le32 resp_len;
 };
 
 /* wpa2 pmk list */