Revert "[PATCH] zd1211rw: Removed unneeded packed attributes"
authorJohn W. Linville <linville@tuxdriver.com>
Tue, 28 Nov 2006 19:16:37 +0000 (14:16 -0500)
committerJohn W. Linville <linville@tuxdriver.com>
Tue, 28 Nov 2006 19:16:37 +0000 (14:16 -0500)
This reverts commit 4e1bbd846d00a245dcf78b6b331d8a9afed8e6d7.

Quoth Daniel Drake <dsd@gentoo.org>:

"A user reported that commit 4e1bbd846d00a245dcf78b6b331d8a9afed8e6d7
(Remove unneeded packed attributes) breaks the zd1211rw driver on ARM."

Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/zd1211rw/zd_ieee80211.h
drivers/net/wireless/zd1211rw/zd_mac.c
drivers/net/wireless/zd1211rw/zd_mac.h
drivers/net/wireless/zd1211rw/zd_usb.h

index f63245b..3632989 100644 (file)
@@ -64,7 +64,7 @@ struct cck_plcp_header {
        u8 service;
        __le16 length;
        __le16 crc16;
-};
+} __attribute__((packed));
 
 static inline u8 zd_cck_plcp_header_rate(const struct cck_plcp_header *header)
 {
index a7d29bd..e5fedf9 100644 (file)
@@ -721,7 +721,7 @@ struct zd_rt_hdr {
        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,
index b8ea3de..e4dd40a 100644 (file)
@@ -82,7 +82,7 @@ struct zd_ctrlset {
 struct rx_length_info {
        __le16 length[3];
        __le16 tag;
-};
+} __attribute__((packed));
 
 #define RX_LENGTH_INFO_TAG             0x697e
 
@@ -93,7 +93,7 @@ struct rx_status {
        u8 signal_quality_ofdm;
        u8 decryption_type;
        u8 frame_status;
-};
+} __attribute__((packed));
 
 /* rx_status field decryption_type */
 #define ZD_RX_NO_WEP   0
index e81a2d3..317d37c 100644 (file)
@@ -74,17 +74,17 @@ enum control_requests {
 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,
@@ -101,7 +101,7 @@ struct usb_req_rfwrite {
        /* RF2595: 24 */
        __le16 bit_values[0];
        /* (CR203 & ~(RF_IF_LE | RF_CLK | RF_DATA)) | (bit ? RF_DATA : 0) */
-};
+} __attribute__((packed));
 
 /* USB interrupt */
 
@@ -118,12 +118,12 @@ enum usb_int_flags {
 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;
@@ -131,7 +131,7 @@ struct usb_int_retry_fail {
        u8 _dummy;
        u8 addr[ETH_ALEN];
        u8 ibss_wakeup_dest;
-};
+} __attribute__((packed));
 
 struct read_regs_int {
        struct completion completion;