/* frame is destined to interface currently processed (incl. multicast frames) */
 #define IEEE80211_TXRXD_RXRA_MATCH             BIT(5)
 #define IEEE80211_TXRXD_TX_INJECTED            BIT(6)
+#define IEEE80211_TXRXD_RX_AMSDU               BIT(7)
 struct ieee80211_txrx_data {
        struct sk_buff *skb;
        struct net_device *dev;
                        int load;
                        u32 tkip_iv32;
                        u16 tkip_iv16;
-                       u8  amsdu_frame;
                } rx;
        } u;
 };
 
                /* frame has qos control */
                tid = qc[0] & QOS_CONTROL_TID_MASK;
                if (qc[0] & IEEE80211_QOS_CONTROL_A_MSDU_PRESENT)
-                       rx->u.rx.amsdu_frame = 1;
+                       rx->flags |= IEEE80211_TXRXD_RX_AMSDU;
                else
-                       rx->u.rx.amsdu_frame = 0;
+                       rx->flags &= ~IEEE80211_TXRXD_RX_AMSDU;
        } else {
                if (unlikely((rx->fc & IEEE80211_FCTL_FTYPE) == IEEE80211_FTYPE_MGMT)) {
                        /* Separate TID for management frames */
        if (unlikely(!WLAN_FC_DATA_PRESENT(fc)))
                return TXRX_DROP;
 
-       if (!rx->u.rx.amsdu_frame)
+       if (!(rx->flags & IEEE80211_TXRXD_RX_AMSDU))
                return TXRX_CONTINUE;
 
        err = ieee80211_data_to_8023(rx);