mac80211: align struct ps_data.tim to unsigned long
authorJoe Perches <joe@perches.com>
Thu, 19 Dec 2013 00:52:17 +0000 (16:52 -0800)
committerJohannes Berg <johannes.berg@intel.com>
Thu, 19 Dec 2013 08:18:03 +0000 (09:18 +0100)
Its address is used as an unsigned long *, so make sure
that the tim u8 array is properly aligned.

Signed-off-by: Joe Perches <joe@perches.com
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
net/mac80211/ieee80211_i.h

index c56009c3589d88a5fbd5f4f221070da388694465..7785afbd222d4ef1aa01901fee6ece2ee18e006f 100644 (file)
@@ -246,7 +246,8 @@ struct ps_data {
        /* yes, this looks ugly, but guarantees that we can later use
         * bitmap_empty :)
         * NB: don't touch this bitmap, use sta_info_{set,clear}_tim_bit */
-       u8 tim[sizeof(unsigned long) * BITS_TO_LONGS(IEEE80211_MAX_AID + 1)];
+       u8 tim[sizeof(unsigned long) * BITS_TO_LONGS(IEEE80211_MAX_AID + 1)]
+                       __aligned(__alignof__(unsigned long));
        struct sk_buff_head bc_buf;
        atomic_t num_sta_ps; /* number of stations in PS mode */
        int dtim_count;