carl9170 firmware: fix [-Wpacked-not-aligned] warnings v1.2.1
authorJason Self <j@jxself.org>
Sun, 6 May 2018 14:47:30 +0000 (07:47 -0700)
committerJason Self <j@jxself.org>
Sun, 6 May 2018 14:47:30 +0000 (07:47 -0700)
Mark certain structs/union aligned(4) to fix -Wpacked-not-aligned
warnings on gcc 8+.

This is a backport of commit b94cc57fa4ee29cb70415b699a1efc5f66eb41c7
dated May 2 2018 from upstream.

carl9170fw/carlfw/include/dma.h
carl9170fw/include/shared/fwcmd.h
carl9170fw/include/shared/wlan.h

index 477c2a2ca2a1ebe7214a7b9e8b29c6b640757262..8141b1c5ad4344cc3c919bc217096e9514a283a8 100644 (file)
@@ -73,12 +73,12 @@ struct carl9170_tx_ba_superframe {
 struct ar9170_tx_null_frame {
        struct ar9170_tx_hwdesc hdr;
        struct ieee80211_hdr null;
-} __packed;
+} __packed __aligned(4);
 
 struct carl9170_tx_null_superframe {
        struct carl9170_tx_superdesc s;
        struct ar9170_tx_null_frame f;
-} __packed;
+} __packed __aligned(4);
 
 #define CARL9170_BA_BUFFER_LEN (__roundup(sizeof(struct carl9170_tx_ba_superframe), 16))
 #define CARL9170_RSP_BUFFER_LEN        AR9170_BLOCK_SIZE
index ea1d80f9a50efb3a8d4c59113c6782479b90d8aa..2a58dd88b21ef39dae5d095ae21dc1211884ca29 100644 (file)
@@ -240,7 +240,7 @@ struct carl9170_cmd {
                struct carl9170_bcn_ctrl_cmd    bcn_ctrl;
                struct carl9170_rx_filter_cmd   rx_filter;
                u8 data[CARL9170_MAX_CMD_PAYLOAD_LEN];
-       } __packed;
+       } __packed __aligned(4);
 } __packed __aligned(4);
 
 #define        CARL9170_TX_STATUS_QUEUE        3
index ea17995b32f4ef60ac082e49e0f64188c8ad2652..9c6b7ffb92286f0d0d0c2d345401e66fa1c98e0e 100644 (file)
@@ -370,24 +370,24 @@ struct ar9170_rx_frame_single {
        struct ieee80211_hdr i3e;
        struct ar9170_rx_phystatus phy_tail;
        struct ar9170_rx_macstatus macstatus;
-} __packed;
+} __packed __aligned(4);
 
 struct ar9170_rx_frame_head {
        struct ar9170_rx_head phy_head;
        struct ieee80211_hdr i3e;
        struct ar9170_rx_macstatus macstatus;
-} __packed;
+} __packed __aligned(4);
 
 struct ar9170_rx_frame_middle {
        struct ieee80211_hdr i3e;
        struct ar9170_rx_macstatus macstatus;
-} __packed;
+} __packed __aligned(4);
 
 struct ar9170_rx_frame_tail {
        struct ieee80211_hdr i3e;
        struct ar9170_rx_phystatus phy_tail;
        struct ar9170_rx_macstatus macstatus;
-} __packed;
+} __packed __aligned(4);
 
 struct ar9170_rx_frame {
        union {
@@ -395,8 +395,8 @@ struct ar9170_rx_frame {
                struct ar9170_rx_frame_head head;
                struct ar9170_rx_frame_middle middle;
                struct ar9170_rx_frame_tail tail;
-       } __packed;
-} __packed;
+       } __packed __aligned(4);
+} __packed __aligned(4);
 
 static inline u8 ar9170_get_decrypt_type(struct ar9170_rx_macstatus *t)
 {