|
@@ -97,13 +97,13 @@ struct carl9170_set_key_cmd {
|
|
__le16 type;
|
|
__le16 type;
|
|
u8 macAddr[6];
|
|
u8 macAddr[6];
|
|
u32 key[4];
|
|
u32 key[4];
|
|
-} __packed;
|
|
|
|
|
|
+} __packed __aligned(4);
|
|
#define CARL9170_SET_KEY_CMD_SIZE 28
|
|
#define CARL9170_SET_KEY_CMD_SIZE 28
|
|
|
|
|
|
struct carl9170_disable_key_cmd {
|
|
struct carl9170_disable_key_cmd {
|
|
__le16 user;
|
|
__le16 user;
|
|
__le16 padding;
|
|
__le16 padding;
|
|
-} __packed;
|
|
|
|
|
|
+} __packed __aligned(4);
|
|
#define CARL9170_DISABLE_KEY_CMD_SIZE 4
|
|
#define CARL9170_DISABLE_KEY_CMD_SIZE 4
|
|
|
|
|
|
struct carl9170_u32_list {
|
|
struct carl9170_u32_list {
|
|
@@ -206,7 +206,7 @@ struct carl9170_cmd {
|
|
struct carl9170_rx_filter_cmd rx_filter;
|
|
struct carl9170_rx_filter_cmd rx_filter;
|
|
u8 data[CARL9170_MAX_CMD_PAYLOAD_LEN];
|
|
u8 data[CARL9170_MAX_CMD_PAYLOAD_LEN];
|
|
} __packed;
|
|
} __packed;
|
|
-} __packed;
|
|
|
|
|
|
+} __packed __aligned(4);
|
|
|
|
|
|
#define CARL9170_TX_STATUS_QUEUE 3
|
|
#define CARL9170_TX_STATUS_QUEUE 3
|
|
#define CARL9170_TX_STATUS_QUEUE_S 0
|
|
#define CARL9170_TX_STATUS_QUEUE_S 0
|
|
@@ -216,6 +216,7 @@ struct carl9170_cmd {
|
|
#define CARL9170_TX_STATUS_TRIES (7 << CARL9170_TX_STATUS_TRIES_S)
|
|
#define CARL9170_TX_STATUS_TRIES (7 << CARL9170_TX_STATUS_TRIES_S)
|
|
#define CARL9170_TX_STATUS_SUCCESS 0x80
|
|
#define CARL9170_TX_STATUS_SUCCESS 0x80
|
|
|
|
|
|
|
|
+#ifdef __CARL9170FW__
|
|
/*
|
|
/*
|
|
* NOTE:
|
|
* NOTE:
|
|
* Both structs [carl9170_tx_status and _carl9170_tx_status]
|
|
* Both structs [carl9170_tx_status and _carl9170_tx_status]
|
|
@@ -232,6 +233,8 @@ struct carl9170_tx_status {
|
|
u8 tries:3;
|
|
u8 tries:3;
|
|
u8 success:1;
|
|
u8 success:1;
|
|
} __packed;
|
|
} __packed;
|
|
|
|
+#endif /* __CARL9170FW__ */
|
|
|
|
+
|
|
struct _carl9170_tx_status {
|
|
struct _carl9170_tx_status {
|
|
/*
|
|
/*
|
|
* This version should be immune to all alignment bugs.
|
|
* This version should be immune to all alignment bugs.
|
|
@@ -272,13 +275,15 @@ struct carl9170_rsp {
|
|
struct carl9170_rf_init_result rf_init_res;
|
|
struct carl9170_rf_init_result rf_init_res;
|
|
struct carl9170_u32_list rreg_res;
|
|
struct carl9170_u32_list rreg_res;
|
|
struct carl9170_u32_list echo;
|
|
struct carl9170_u32_list echo;
|
|
|
|
+#ifdef __CARL9170FW__
|
|
struct carl9170_tx_status tx_status[0];
|
|
struct carl9170_tx_status tx_status[0];
|
|
|
|
+#endif /* __CARL9170FW__ */
|
|
struct _carl9170_tx_status _tx_status[0];
|
|
struct _carl9170_tx_status _tx_status[0];
|
|
struct carl9170_gpio gpio;
|
|
struct carl9170_gpio gpio;
|
|
struct carl9170_tsf_rsp tsf;
|
|
struct carl9170_tsf_rsp tsf;
|
|
struct carl9170_psm psm;
|
|
struct carl9170_psm psm;
|
|
u8 data[CARL9170_MAX_CMD_PAYLOAD_LEN];
|
|
u8 data[CARL9170_MAX_CMD_PAYLOAD_LEN];
|
|
} __packed;
|
|
} __packed;
|
|
-} __packed;
|
|
|
|
|
|
+} __packed __aligned(4);
|
|
|
|
|
|
#endif /* __CARL9170_SHARED_FWCMD_H */
|
|
#endif /* __CARL9170_SHARED_FWCMD_H */
|