u8  rt_rate;
        u16 rt_channel;
        u16 rt_chbitmask;
-};
+} __attribute__((packed));
 
 static void fill_rt_header(void *buffer, struct zd_mac *mac,
                           const struct ieee80211_rx_stats *stats,
 
 struct rx_length_info {
        __le16 length[3];
        __le16 tag;
-};
+} __attribute__((packed));
 
 #define RX_LENGTH_INFO_TAG             0x697e
 
        u8 signal_quality_ofdm;
        u8 decryption_type;
        u8 frame_status;
-};
+} __attribute__((packed));
 
 /* rx_status field decryption_type */
 #define ZD_RX_NO_WEP   0
 
 struct usb_req_read_regs {
        __le16 id;
        __le16 addr[0];
-};
+} __attribute__((packed));
 
 struct reg_data {
        __le16 addr;
        __le16 value;
-};
+} __attribute__((packed));
 
 struct usb_req_write_regs {
        __le16 id;
        struct reg_data reg_writes[0];
-};
+} __attribute__((packed));
 
 enum {
        RF_IF_LE = 0x02,
        /* RF2595: 24 */
        __le16 bit_values[0];
        /* (CR203 & ~(RF_IF_LE | RF_CLK | RF_DATA)) | (bit ? RF_DATA : 0) */
-};
+} __attribute__((packed));
 
 /* USB interrupt */
 
 struct usb_int_header {
        u8 type;        /* must always be 1 */
        u8 id;
-};
+} __attribute__((packed));
 
 struct usb_int_regs {
        struct usb_int_header hdr;
        struct reg_data regs[0];
-};
+} __attribute__((packed));
 
 struct usb_int_retry_fail {
        struct usb_int_header hdr;
        u8 _dummy;
        u8 addr[ETH_ALEN];
        u8 ibss_wakeup_dest;
-};
+} __attribute__((packed));
 
 struct read_regs_int {
        struct completion completion;