From f19956767de59e88f34f7f17112fd79760ad2918 Mon Sep 17 00:00:00 2001 From: Christian Lamparter Date: Thu, 30 Sep 2010 17:30:42 +0200 Subject: [PATCH] carl9170 firmware: upgrade API struct layout checks Signed-off-by: Christian Lamparter --- carlfw/include/wl.h | 12 +++++++++--- include/shared/fwdesc.h | 2 +- include/shared/wlan.h | 10 ++++++++-- 3 files changed, 18 insertions(+), 6 deletions(-) diff --git a/carlfw/include/wl.h b/carlfw/include/wl.h index 86a7abf..f56303e 100644 --- a/carlfw/include/wl.h +++ b/carlfw/include/wl.h @@ -268,12 +268,18 @@ void wlan_cab_modify_dtim_beacon(const unsigned int vif, static inline void __check_wlantx(void) { + BUILD_BUG_ON(CARL9170_TX_SUPERDESC_LEN & 3); BUILD_BUG_ON(sizeof(struct carl9170_tx_superdesc) != CARL9170_TX_SUPERDESC_LEN); + BUILD_BUG_ON(sizeof(struct _carl9170_tx_superdesc) != CARL9170_TX_SUPERDESC_LEN); + BUILD_BUG_ON(sizeof(struct _carl9170_tx_superframe) != CARL9170_TX_SUPERFRAME_LEN); BUILD_BUG_ON((offsetof(struct carl9170_tx_superframe, f) & 3) != 0); + BUILD_BUG_ON(offsetof(struct _carl9170_tx_superframe, f) != + (offsetof(struct _carl9170_tx_superframe, f))); BUILD_BUG_ON(sizeof(struct ar9170_tx_hwdesc) != AR9170_TX_HWDESC_LEN); - BUILD_BUG_ON(sizeof(struct ar9170_rx_head) != 12); - BUILD_BUG_ON(sizeof(struct ar9170_rx_phystatus) != 20); - BUILD_BUG_ON(sizeof(struct ar9170_rx_macstatus) != 4); + BUILD_BUG_ON(sizeof(struct _ar9170_tx_hwdesc) != AR9170_TX_HWDESC_LEN); + BUILD_BUG_ON(sizeof(struct ar9170_rx_head) != AR9170_RX_HEAD_LEN); + BUILD_BUG_ON(sizeof(struct ar9170_rx_phystatus) != AR9170_RX_PHYSTATUS_LEN); + BUILD_BUG_ON(sizeof(struct ar9170_rx_macstatus) != AR9170_RX_MACSTATUS_LEN); } #endif /* __CARL9170FW_WLAN_H */ diff --git a/include/shared/fwdesc.h b/include/shared/fwdesc.h index 67e4581..71f3821 100644 --- a/include/shared/fwdesc.h +++ b/include/shared/fwdesc.h @@ -145,7 +145,7 @@ struct carl9170fw_fix_desc { (sizeof(struct carl9170fw_fix_desc)) #define CARL9170FW_DBG_DESC_MIN_VER 1 -#define CARL9170FW_DBG_DESC_CUR_VER 2 +#define CARL9170FW_DBG_DESC_CUR_VER 3 struct carl9170fw_dbg_desc { struct carl9170fw_desc_head head; diff --git a/include/shared/wlan.h b/include/shared/wlan.h index 48ead22..ce8885b 100644 --- a/include/shared/wlan.h +++ b/include/shared/wlan.h @@ -329,13 +329,15 @@ struct _carl9170_tx_superframe { #define CARL9170_TX_SUPERDESC_LEN 24 #define AR9170_TX_HWDESC_LEN 8 -#define AR9170_TX_SUPERFRAME_LEN (CARL9170_TX_HWDESC_LEN + \ - AR9170_TX_SUPERDESC_LEN) +#define CARL9170_TX_SUPERFRAME_LEN (CARL9170_TX_SUPERDESC_LEN + \ + AR9170_TX_HWDESC_LEN) struct ar9170_rx_head { u8 plcp[12]; } __packed; +#define AR9170_RX_HEAD_LEN 12 + struct ar9170_rx_phystatus { union { struct { @@ -350,12 +352,16 @@ struct ar9170_rx_phystatus { u8 phy_err; } __packed; +#define AR9170_RX_PHYSTATUS_LEN 20 + struct ar9170_rx_macstatus { u8 SAidx, DAidx; u8 error; u8 status; } __packed; +#define AR9170_RX_MACSTATUS_LEN 4 + struct ar9170_rx_frame_single { struct ar9170_rx_head phy_head; struct ieee80211_hdr i3e; -- 2.31.1