X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=include%2Fshared%2Fwlan.h;h=9c6b7ffb92286f0d0d0c2d345401e66fa1c98e0e;hb=e017a914b2679d669e201cc76f812b641aa7eea3;hp=16b0364331f06484b97d231b5594f75fb4bc0808;hpb=1765258283f5fc36987ae44cdd516163290629e0;p=carl9170fw.git diff --git a/include/shared/wlan.h b/include/shared/wlan.h index 16b0364..9c6b7ff 100644 --- a/include/shared/wlan.h +++ b/include/shared/wlan.h @@ -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) { @@ -404,16 +404,6 @@ static inline u8 ar9170_get_decrypt_type(struct ar9170_rx_macstatus *t) (t->DAidx & 0xc0) >> 6; } -enum ar9170_txq { - AR9170_TXQ_BE, - - AR9170_TXQ_VI, - AR9170_TXQ_VO, - AR9170_TXQ_BK, - - __AR9170_NUM_TXQ, -}; - /* * This is an workaround for several undocumented bugs. * Don't mess with the QoS/AC <-> HW Queue map, if you don't @@ -431,7 +421,14 @@ enum ar9170_txq { * result, this makes the device pretty much useless * for any serious 802.11n setup. */ -static const u8 ar9170_qmap[__AR9170_NUM_TXQ] = { 2, 1, 0, 3 }; +enum ar9170_txq { + AR9170_TXQ_BK = 0, /* TXQ0 */ + AR9170_TXQ_BE, /* TXQ1 */ + AR9170_TXQ_VI, /* TXQ2 */ + AR9170_TXQ_VO, /* TXQ3 */ + + __AR9170_NUM_TXQ, +}; #define AR9170_TXQ_DEPTH 32