[PATCH -mm] wireless tiacx gcc 4.1 warning fix

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Fixes warnings like the following,

drivers/net/wireless/tiacx/acx_struct.h:1878: warning: 'packed' attribute ignored for field of type 'u8'
drivers/net/wireless/tiacx/acx_struct.h:1884: warning: 'packed' attribute ignored for field of type 'u8'
drivers/net/wireless/tiacx/acx_struct.h:1885: warning: 'packed' attribute ignored for field of type 'u8'
drivers/net/wireless/tiacx/acx_struct.h:1886: warning: 'packed' attribute ignored for field of type 'u8'
drivers/net/wireless/tiacx/acx_struct.h:1887: warning: 'packed' attribute ignored for field of type 'u8[28u]'
drivers/net/wireless/tiacx/acx_struct.h:1891: warning: 'packed' attribute ignored for field of type 'u8[5u]'
drivers/net/wireless/tiacx/acx_struct.h:1894: warning: 'packed' attribute ignored for field of type 'u8'
drivers/net/wireless/tiacx/acx_struct.h:1895: warning: 'packed' attribute ignored for field of type 'u8'
drivers/net/wireless/tiacx/acx_struct.h:1896: warning: 'packed' attribute ignored for field of type 'u8'
drivers/net/wireless/tiacx/acx_struct.h:1897: warning: 'packed' attribute ignored for field of type 'u8'
drivers/net/wireless/tiacx/acx_struct.h:1898: warning: 'packed' attribute ignored for field of type 'u8[5u]'
drivers/net/wireless/tiacx/acx_struct.h:1899: warning: 'packed' attribute ignored for field of type 'u8[31u]'
drivers/net/wireless/tiacx/acx_struct.h:1905: warning: 'packed' attribute ignored for field of type 'u8'
drivers/net/wireless/tiacx/acx_struct.h:1909: warning: 'packed' attribute ignored for field of type 'u8[5u]'
drivers/net/wireless/tiacx/acx_struct.h:1912: warning: 'packed' attribute ignored for field of type 'u8[28u]'

Signed-Off-By: Daniel Walker <[email protected]>

Index: linux-2.6.16/drivers/net/wireless/tiacx/acx_struct.h
===================================================================
--- linux-2.6.16.orig/drivers/net/wireless/tiacx/acx_struct.h
+++ linux-2.6.16/drivers/net/wireless/tiacx/acx_struct.h
@@ -474,8 +474,8 @@ DEF_IE(111_IE_DOT11_INVAL_1013,			0x1013
  * --vda
  */
 typedef struct phy_hdr {
-	u8	unknown[4] ACX_PACKED;
-	u8	acx111_unknown[4] ACX_PACKED;
+	u8	unknown[4];
+	u8	acx111_unknown[4];
 } phy_hdr_t;
 
 /* seems to be a bit similar to hfa384x_rx_frame.
@@ -537,19 +537,19 @@ time: 4 bytes:
 
 typedef struct rxbuffer {
 	u16	mac_cnt_rcvd ACX_PACKED;	/* only 12 bits are len! (0xfff) */
-	u8	mac_cnt_mblks ACX_PACKED;
-	u8	mac_status ACX_PACKED;
-	u8	phy_stat_baseband ACX_PACKED;	/* bit 0x80: used LNA (Low-Noise Amplifier) */
-	u8	phy_plcp_signal ACX_PACKED;
-	u8	phy_level ACX_PACKED;		/* PHY stat */
-	u8	phy_snr ACX_PACKED;		/* PHY stat */
+	u8	mac_cnt_mblks;
+	u8	mac_status;
+	u8	phy_stat_baseband;	/* bit 0x80: used LNA (Low-Noise Amplifier) */
+	u8	phy_plcp_signal;
+	u8	phy_level;		/* PHY stat */
+	u8	phy_snr;		/* PHY stat */
 	u32	time ACX_PACKED;		/* timestamp upon MAC rcv first byte */
 /* 4-byte (acx100) or 8-byte (acx111) phy header will be here
 ** if RX_CFG1_INCLUDE_PHY_HDR is in effect:
 **	phy_hdr_t phy			*/
-	wlan_hdr_a3_t hdr_a3 ACX_PACKED;
+	wlan_hdr_a3_t hdr_a3; 
 	/* maximally sized data part of wlan packet */
-	u8	data_a3[WLAN_A4FR_MAXLEN_WEP_FCS - WLAN_HDR_A3_LEN] ACX_PACKED;
+	u8	data_a3[WLAN_A4FR_MAXLEN_WEP_FCS - WLAN_HDR_A3_LEN];
 	/* can add hdr/data_a4 if needed */
 } rxbuffer_t;
 
@@ -601,7 +601,7 @@ typedef struct fw_stats {
 typedef struct fw_ver {
 	u16	cmd ACX_PACKED;
 	u16	size ACX_PACKED;
-	char	fw_id[20] ACX_PACKED;
+	char	fw_id[20];
 	u32	hw_id ACX_PACKED;
 } fw_ver_t;
 
@@ -800,9 +800,9 @@ typedef struct {
 /* Outside of "#ifdef PCI" because USB needs to know sizeof()
 ** of txdesc and rxdesc: */
 struct txdesc {
-	acx_ptr	pNextDesc ACX_PACKED;	/* pointer to next txdesc */
-	acx_ptr	HostMemPtr ACX_PACKED;			/* 0x04 */
-	acx_ptr	AcxMemPtr ACX_PACKED;			/* 0x08 */
+	acx_ptr	pNextDesc;	/* pointer to next txdesc */
+	acx_ptr	HostMemPtr;			/* 0x04 */
+	acx_ptr	AcxMemPtr;			/* 0x08 */
 	u32	tx_time ACX_PACKED;			/* 0x0c */
 	u16	total_length ACX_PACKED;		/* 0x10 */
 	u16	Reserved ACX_PACKED;			/* 0x12 */
@@ -812,44 +812,44 @@ struct txdesc {
 ** for driver use. amd64 blew up. We dare not use it now */
 	u32	dummy[4] ACX_PACKED;
 
-	u8	Ctl_8 ACX_PACKED;			/* 0x24, 8bit value */
-	u8	Ctl2_8 ACX_PACKED;			/* 0x25, 8bit value */
-	u8	error ACX_PACKED;			/* 0x26 */
-	u8	ack_failures ACX_PACKED;		/* 0x27 */
-	u8	rts_failures ACX_PACKED;		/* 0x28 */
-	u8	rts_ok ACX_PACKED;			/* 0x29 */
+	u8	Ctl_8;			/* 0x24, 8bit value */
+	u8	Ctl2_8;			/* 0x25, 8bit value */
+	u8	error;			/* 0x26 */
+	u8	ack_failures;		/* 0x27 */
+	u8	rts_failures;		/* 0x28 */
+	u8	rts_ok;			/* 0x29 */
 	union {
-		struct {
-			u8	rate ACX_PACKED;	/* 0x2a */
-			u8	queue_ctrl ACX_PACKED;	/* 0x2b */
-		} r1 ACX_PACKED;
+		struct ACX_PACKED {
+			u8	rate;	/* 0x2a */
+			u8	queue_ctrl;	/* 0x2b */
+		} r1;
 		struct {
 			u16	rate111 ACX_PACKED;	/* 0x2a */
-		} r2 ACX_PACKED;
-	} u ACX_PACKED;
+		} r2;
+	} u;
 	u32	queue_info ACX_PACKED;			/* 0x2c (acx100, reserved on acx111) */
 };		/* size : 48 = 0x30 */
 /* NB: acx111 txdesc structure is 4 byte larger */
 /* All these 4 extra bytes are reserved. tx alloc code takes them into account */
 
 struct rxdesc {
-	acx_ptr	pNextDesc ACX_PACKED;			/* 0x00 */
-	acx_ptr	HostMemPtr ACX_PACKED;			/* 0x04 */
-	acx_ptr	ACXMemPtr ACX_PACKED;			/* 0x08 */
+	acx_ptr	pNextDesc;			/* 0x00 */
+	acx_ptr	HostMemPtr;			/* 0x04 */
+	acx_ptr	ACXMemPtr;			/* 0x08 */
 	u32	rx_time ACX_PACKED;			/* 0x0c */
 	u16	total_length ACX_PACKED;		/* 0x10 */
 	u16	WEP_length ACX_PACKED;			/* 0x12 */
 	u32	WEP_ofs ACX_PACKED;			/* 0x14 */
 
 /* the following 16 bytes do not change when acx100 owns the descriptor */
-	u8	driverWorkspace[16] ACX_PACKED;		/* 0x18 */
+	u8	driverWorkspace[16];		/* 0x18 */
 
-	u8	Ctl_8 ACX_PACKED;
-	u8	rate ACX_PACKED;
-	u8	error ACX_PACKED;
-	u8	SNR ACX_PACKED;				/* Signal-to-Noise Ratio */
-	u8	RxLevel ACX_PACKED;
-	u8	queue_ctrl ACX_PACKED;
+	u8	Ctl_8;
+	u8	rate;
+	u8	error;
+	u8	SNR;				/* Signal-to-Noise Ratio */
+	u8	RxLevel;
+	u8	queue_ctrl;
 	u16	unknown ACX_PACKED;
 	u32	unknown2 ACX_PACKED;
 };		/* size 52 = 0x34 */
@@ -921,26 +921,26 @@ enum {
 #define INT_TRIG_CMD		0x01
 
 struct txhostdesc {
-	acx_ptr	data_phy ACX_PACKED;			/* 0x00 [u8 *] */
+	acx_ptr	data_phy;				/* 0x00 [u8 *] */
 	u16	data_offset ACX_PACKED;			/* 0x04 */
 	u16	reserved ACX_PACKED;			/* 0x06 */
 	u16	Ctl_16 ACX_PACKED;	/* 16bit value, endianness!! */
 	u16	length ACX_PACKED;			/* 0x0a */
-	acx_ptr	desc_phy_next ACX_PACKED;		/* 0x0c [txhostdesc *] */
-	acx_ptr	pNext ACX_PACKED;			/* 0x10 [txhostdesc *] */
+	acx_ptr	desc_phy_next;				/* 0x0c [txhostdesc *] */
+	acx_ptr	pNext;					/* 0x10 [txhostdesc *] */
 	u32	Status ACX_PACKED;			/* 0x14, unused on Tx */
 /* From here on you can use this area as you want (variable length, too!) */
 	u8	*data ACX_PACKED;
 };
 
 struct rxhostdesc {
-	acx_ptr	data_phy ACX_PACKED;			/* 0x00 [rxbuffer_t *] */
+	acx_ptr	data_phy;				/* 0x00 [rxbuffer_t *] */
 	u16	data_offset ACX_PACKED;			/* 0x04 */
 	u16	reserved ACX_PACKED;			/* 0x06 */
 	u16	Ctl_16 ACX_PACKED;			/* 0x08; 16bit value, endianness!! */
 	u16	length ACX_PACKED;			/* 0x0a */
-	acx_ptr	desc_phy_next ACX_PACKED;		/* 0x0c [rxhostdesc_t *] */
-	acx_ptr	pNext ACX_PACKED;			/* 0x10 [rxhostdesc_t *] */
+	acx_ptr	desc_phy_next;				/* 0x0c [rxhostdesc_t *] */
+	acx_ptr	pNext;					/* 0x10 [rxhostdesc_t *] */
 	u32	Status ACX_PACKED;			/* 0x14 */
 /* From here on you can use this area as you want (variable length, too!) */
 	rxbuffer_t *data ACX_PACKED;
@@ -960,27 +960,27 @@ struct rxhostdesc {
 typedef struct usb_txbuffer {
 	u16	desc ACX_PACKED;
 	u16	mpdu_len ACX_PACKED;
-	u8	queue_index ACX_PACKED;
-	u8	rate ACX_PACKED;
+	u8	queue_index;
+	u8	rate;
 	u32	hostdata ACX_PACKED;
-	u8	ctrl1 ACX_PACKED;
-	u8	ctrl2 ACX_PACKED;
+	u8	ctrl1;
+	u8	ctrl2;
 	u16	data_len ACX_PACKED;
 	/* wlan packet content is placed here: */
-	u8	data[WLAN_A4FR_MAXLEN_WEP_FCS] ACX_PACKED;
+	u8	data[WLAN_A4FR_MAXLEN_WEP_FCS];
 } usb_txbuffer_t;
 
 /* USB returns either rx packets (see rxbuffer) or
 ** these "tx status" structs: */
 typedef struct usb_txstatus {
 	u16	mac_cnt_rcvd ACX_PACKED;	/* only 12 bits are len! (0xfff) */
-	u8	queue_index ACX_PACKED;
-	u8	mac_status ACX_PACKED;		/* seen 0x20 on tx failure */
+	u8	queue_index;
+	u8	mac_status;		/* seen 0x20 on tx failure */
 	u32	hostdata ACX_PACKED;
-	u8	rate ACX_PACKED;
-	u8	ack_failures ACX_PACKED;
-	u8	rts_failures ACX_PACKED;
-	u8	rts_ok ACX_PACKED;
+	u8	rate;
+	u8	ack_failures;
+	u8	rts_failures;
+	u8	rts_ok;
 } usb_txstatus_t;
 
 typedef struct usb_tx {
@@ -1012,69 +1012,69 @@ typedef struct usb_rx {
 /* Config Option structs */
 
 typedef struct co_antennas {
-	u8	type ACX_PACKED;
-	u8	len ACX_PACKED;
-	u8	list[2] ACX_PACKED;
+	u8	type;
+	u8	len;
+	u8	list[2];
 } co_antennas_t;
 
 typedef struct co_powerlevels {
-	u8	type ACX_PACKED;
-	u8	len ACX_PACKED;
+	u8	type;
+	u8	len;
 	u16	list[8] ACX_PACKED;
 } co_powerlevels_t;
 
 typedef struct co_datarates {
-	u8	type ACX_PACKED;
-	u8	len ACX_PACKED;
-	u8	list[8] ACX_PACKED;
+	u8	type;
+	u8	len;
+	u8	list[8];
 } co_datarates_t;
 
 typedef struct co_domains {
-	u8	type ACX_PACKED;
-	u8	len ACX_PACKED;
-	u8	list[6] ACX_PACKED;
+	u8	type;
+	u8	len;
+	u8	list[6];
 } co_domains_t;
 
 typedef struct co_product_id {
-	u8	type ACX_PACKED;
-	u8	len ACX_PACKED;
-	u8	list[128] ACX_PACKED;
+	u8	type;
+	u8	len;
+	u8	list[128];
 } co_product_id_t;
 
 typedef struct co_manuf_id {
-	u8	type ACX_PACKED;
-	u8	len ACX_PACKED;
-	u8	list[128] ACX_PACKED;
+	u8	type;
+	u8	len;
+	u8	list[128];
 } co_manuf_t;
 
 typedef struct co_fixed {
-	char	NVSv[8] ACX_PACKED;
+	char	NVSv[8];
 /*	u16	NVS_vendor_offs;	ACX111-only */
 /*	u16	unknown;		ACX111-only */
-	u8	MAC[6] ACX_PACKED;	/* ACX100-only */
+	u8	MAC[6];	/* ACX100-only */
 	u16	probe_delay ACX_PACKED;	/* ACX100-only */
 	u32	eof_memory ACX_PACKED;
-	u8	dot11CCAModes ACX_PACKED;
-	u8	dot11Diversity ACX_PACKED;
-	u8	dot11ShortPreambleOption ACX_PACKED;
-	u8	dot11PBCCOption ACX_PACKED;
-	u8	dot11ChannelAgility ACX_PACKED;
-	u8	dot11PhyType ACX_PACKED; /* FIXME: does 802.11 call it "dot11PHYType"? */
-	u8	dot11TempType ACX_PACKED;
-	u8	table_count ACX_PACKED;
+	u8	dot11CCAModes;
+	u8	dot11Diversity;
+	u8	dot11ShortPreambleOption;
+	u8	dot11PBCCOption;
+	u8	dot11ChannelAgility;
+	u8	dot11PhyType; /* FIXME: does 802.11 call it "dot11PHYType"? */
+	u8	dot11TempType;
+	u8	table_count;
 } co_fixed_t;
 
 typedef struct acx111_ie_configoption {
 	u16			type ACX_PACKED;
 	u16			len ACX_PACKED;
 /* Do not access below members directly, they are in fact variable length */
-	co_fixed_t		fixed ACX_PACKED;
-	co_antennas_t		antennas ACX_PACKED;
-	co_powerlevels_t	power_levels ACX_PACKED;
-	co_datarates_t		data_rates ACX_PACKED;
-	co_domains_t		domains ACX_PACKED;
-	co_product_id_t		product_id ACX_PACKED;
-	co_manuf_t		manufacturer ACX_PACKED;
+	co_fixed_t		fixed; 
+	co_antennas_t		antennas;
+	co_powerlevels_t	power_levels;
+	co_datarates_t		data_rates;
+	co_domains_t		domains;
+	co_product_id_t		product_id;
+	co_manuf_t		manufacturer;
 	u8			_padding[4];
 } acx111_ie_configoption_t;
 
@@ -1522,15 +1522,15 @@ typedef struct acx100_ie_queueconfig {
 	u16	len ACX_PACKED;
 	u32	AreaSize ACX_PACKED;
 	u32	RxQueueStart ACX_PACKED;
-	u8	QueueOptions ACX_PACKED;
-	u8	NumTxQueues ACX_PACKED;
-	u8	NumRxDesc ACX_PACKED;	 /* for USB only */
-	u8	pad1 ACX_PACKED;
+	u8	QueueOptions;
+	u8	NumTxQueues;
+	u8	NumRxDesc;	 /* for USB only */
+	u8	pad1;
 	u32	QueueEnd ACX_PACKED;
 	u32	HostQueueEnd ACX_PACKED; /* QueueEnd2 */
 	u32	TxQueueStart ACX_PACKED;
-	u8	TxQueuePri ACX_PACKED;
-	u8	NumTxDesc ACX_PACKED;
+	u8	TxQueuePri;
+	u8	NumTxDesc;
 	u16	pad2 ACX_PACKED;
 } acx100_ie_queueconfig_t;
 
@@ -1542,16 +1542,16 @@ typedef struct acx111_ie_queueconfig {
 	u32	rx1_queue_address ACX_PACKED;
 	u32	reserved1 ACX_PACKED;
 	u32	tx1_queue_address ACX_PACKED;
-	u8	tx1_attributes ACX_PACKED;
+	u8	tx1_attributes;
 	u16	reserved2 ACX_PACKED;
-	u8	reserved3 ACX_PACKED;
+	u8	reserved3;
 } acx111_ie_queueconfig_t;
 
 typedef struct acx100_ie_memconfigoption {
 	u16	type ACX_PACKED;
 	u16	len ACX_PACKED;
 	u32	DMA_config ACX_PACKED;
-	acx_ptr	pRxHostDesc ACX_PACKED;
+	acx_ptr	pRxHostDesc;
 	u32	rx_mem ACX_PACKED;
 	u32	tx_mem ACX_PACKED;
 	u16	RxBlockNum ACX_PACKED;
@@ -1563,27 +1563,27 @@ typedef struct acx111_ie_memoryconfig {
 	u16	len ACX_PACKED;
 	u16	no_of_stations ACX_PACKED;
 	u16	memory_block_size ACX_PACKED;
-	u8	tx_rx_memory_block_allocation ACX_PACKED;
-	u8	count_rx_queues ACX_PACKED;
-	u8	count_tx_queues ACX_PACKED;
-	u8	options ACX_PACKED;
-	u8	fragmentation ACX_PACKED;
+	u8	tx_rx_memory_block_allocation;
+	u8	count_rx_queues; 
+	u8	count_tx_queues;
+	u8	options;
+	u8	fragmentation;
 	u16	reserved1 ACX_PACKED;
-	u8	reserved2 ACX_PACKED;
+	u8	reserved2;
 
 	/* start of rx1 block */
-	u8	rx_queue1_count_descs ACX_PACKED;
-	u8	rx_queue1_reserved1 ACX_PACKED;
-	u8	rx_queue1_type ACX_PACKED; /* must be set to 7 */
-	u8	rx_queue1_prio ACX_PACKED; /* must be set to 0 */
-	acx_ptr	rx_queue1_host_rx_start ACX_PACKED;
+	u8	rx_queue1_count_descs;
+	u8	rx_queue1_reserved1;
+	u8	rx_queue1_type; /* must be set to 7 */
+	u8	rx_queue1_prio; /* must be set to 0 */
+	acx_ptr	rx_queue1_host_rx_start;
 	/* end of rx1 block */
 
 	/* start of tx1 block */
-	u8	tx_queue1_count_descs ACX_PACKED;
-	u8	tx_queue1_reserved1 ACX_PACKED;
-	u8	tx_queue1_reserved2 ACX_PACKED;
-	u8	tx_queue1_attributes ACX_PACKED;
+	u8	tx_queue1_count_descs;
+	u8	tx_queue1_reserved1;
+	u8	tx_queue1_reserved2;
+	u8	tx_queue1_attributes;
 	/* end of tx1 block */
 } acx111_ie_memoryconfig_t;
 
@@ -1612,7 +1612,7 @@ typedef struct acx111_ie_feature_config 
 typedef struct acx111_ie_tx_level {
 	u16	type ACX_PACKED;
 	u16	len ACX_PACKED;
-	u8	level ACX_PACKED;
+	u8	level;
 } acx111_ie_tx_level_t;
 
 #define PS_CFG_ENABLE		0x80
@@ -1632,20 +1632,20 @@ typedef struct acx111_ie_tx_level {
 typedef struct acx100_ie_powersave {
 	u16	type ACX_PACKED;
 	u16	len ACX_PACKED;
-	u8	wakeup_cfg ACX_PACKED;
-	u8	listen_interval ACX_PACKED; /* for EACH_ITVL: wake up every "beacon units" interval */
-	u8	options ACX_PACKED;
-	u8	hangover_period ACX_PACKED; /* remaining wake time after Tx MPDU w/ PS bit, in values of 1/1024 seconds */
+	u8	wakeup_cfg;
+	u8	listen_interval; /* for EACH_ITVL: wake up every "beacon units" interval */
+	u8	options;
+	u8	hangover_period; /* remaining wake time after Tx MPDU w/ PS bit, in values of 1/1024 seconds */
 	u16	enhanced_ps_transition_time ACX_PACKED; /* rem. wake time for Enh. PS */
 } acx100_ie_powersave_t;
 
 typedef struct acx111_ie_powersave {
 	u16	type ACX_PACKED;
 	u16	len ACX_PACKED;
-	u8	wakeup_cfg ACX_PACKED;
-	u8	listen_interval ACX_PACKED; /* for EACH_ITVL: wake up every "beacon units" interval */
-	u8	options ACX_PACKED;
-	u8	hangover_period ACX_PACKED; /* remaining wake time after Tx MPDU w/ PS bit, in values of 1/1024 seconds */
+	u8	wakeup_cfg;
+	u8	listen_interval; /* for EACH_ITVL: wake up every "beacon units" interval */
+	u8	options;
+	u8	hangover_period; /* remaining wake time after Tx MPDU w/ PS bit, in values of 1/1024 seconds */
 	u32	beacon_rx_time ACX_PACKED;
 	u32	enhanced_ps_transition_time ACX_PACKED; /* rem. wake time for Enh. PS */
 } acx111_ie_powersave_t;
@@ -1678,8 +1678,8 @@ typedef struct acx100_scan {
 	u16	count ACX_PACKED;	/* number of scans to do, 0xffff == continuous */
 	u16	start_chan ACX_PACKED;
 	u16	flags ACX_PACKED;	/* channel list mask; 0x8000 == all channels? */
-	u8	max_rate ACX_PACKED;	/* max. probe rate */
-	u8	options ACX_PACKED;	/* bit mask, see defines above */
+	u8	max_rate;	/* max. probe rate */
+	u8	options;	/* bit mask, see defines above */
 	u16	chan_duration ACX_PACKED;
 	u16	max_probe_delay ACX_PACKED;
 } acx100_scan_t;			/* length 0xc */
@@ -1698,17 +1698,17 @@ typedef struct acx100_scan {
 #define ACX111_SCAN_MOD_OFDM	0x40
 typedef struct acx111_scan {
 	u16	count ACX_PACKED;		/* number of scans to do */
-	u8	channel_list_select ACX_PACKED; /* 0: scan all channels, 1: from chan_list only */
+	u8	channel_list_select; /* 0: scan all channels, 1: from chan_list only */
 	u16	reserved1 ACX_PACKED;
-	u8	reserved2 ACX_PACKED;
-	u8	rate ACX_PACKED;		/* rate for probe requests (if active scan) */
-	u8	options ACX_PACKED;		/* bit mask, see defines above */
+	u8	reserved2;
+	u8	rate;		/* rate for probe requests (if active scan) */
+	u8	options;		/* bit mask, see defines above */
 	u16	chan_duration ACX_PACKED;	/* min time to wait for reply on one channel (in TU) */
 						/* (active scan only) (802.11 section 11.1.3.2.2) */
 	u16	max_probe_delay ACX_PACKED;	/* max time to wait for reply on one channel (active scan) */
 						/* time to listen on a channel (passive scan) */
-	u8	modulation ACX_PACKED;
-	u8	channel_list[26] ACX_PACKED;	/* bits 7:0 first byte: channels 8:1 */
+	u8	modulation;
+	u8	channel_list[26];	/* bits 7:0 first byte: channels 8:1 */
 						/* bits 7:0 second byte: channels 16:9 */
 						/* 26 bytes is enough to cover 802.11a */
 } acx111_scan_t;
@@ -1748,50 +1748,50 @@ typedef struct acx111_cmd_radiocalib {
 ** - variable length fields shown only in comments */
 typedef struct acx_template_tim {
 	u16	size ACX_PACKED;
-	u8	tim_eid ACX_PACKED;	/* 00 1 TIM IE ID * */
-	u8	len ACX_PACKED;		/* 01 1 Length * */
-	u8	dtim_cnt ACX_PACKED;	/* 02 1 DTIM Count */
-	u8	dtim_period ACX_PACKED;	/* 03 1 DTIM Period */
-	u8	bitmap_ctrl ACX_PACKED;	/* 04 1 Bitmap Control * (except bit0) */
+	u8	tim_eid;	/* 00 1 TIM IE ID * */
+	u8	len;		/* 01 1 Length * */
+	u8	dtim_cnt;	/* 02 1 DTIM Count */
+	u8	dtim_period;	/* 03 1 DTIM Period */
+	u8	bitmap_ctrl;	/* 04 1 Bitmap Control * (except bit0) */
 					/* 05 n Partial Virtual Bitmap * */
-	u8	variable[0x100 - 1-1-1-1-1] ACX_PACKED;
+	u8	variable[0x100 - 1-1-1-1-1];
 } acx_template_tim_t;
 
 typedef struct acx_template_probereq {
 	u16	size ACX_PACKED;
 	u16	fc ACX_PACKED;		/* 00 2 fc * */
 	u16	dur ACX_PACKED;		/* 02 2 Duration */
-	u8	da[6] ACX_PACKED;	/* 04 6 Destination Address * */
-	u8	sa[6] ACX_PACKED;	/* 0A 6 Source Address * */
-	u8	bssid[6] ACX_PACKED;	/* 10 6 BSSID * */
+	u8	da[6];	/* 04 6 Destination Address * */
+	u8	sa[6];	/* 0A 6 Source Address * */
+	u8	bssid[6];	/* 10 6 BSSID * */
 	u16	seq ACX_PACKED;		/* 16 2 Sequence Control */
 					/* 18 n SSID * */
 					/* nn n Supported Rates * */
-	u8	variable[0x44 - 2-2-6-6-6-2] ACX_PACKED;
+	u8	variable[0x44 - 2-2-6-6-6-2];
 } acx_template_probereq_t;
 
 typedef struct acx_template_proberesp {
 	u16	size ACX_PACKED;
 	u16	fc ACX_PACKED;		/* 00 2 fc * (bits [15:12] and [10:8] per 802.11 section 7.1.3.1) */
 	u16	dur ACX_PACKED;		/* 02 2 Duration */
-	u8	da[6] ACX_PACKED;	/* 04 6 Destination Address */
-	u8	sa[6] ACX_PACKED;	/* 0A 6 Source Address */
-	u8	bssid[6] ACX_PACKED;	/* 10 6 BSSID */
+	u8	da[6];	/* 04 6 Destination Address */
+	u8	sa[6];	/* 0A 6 Source Address */
+	u8	bssid[6];	/* 10 6 BSSID */
 	u16	seq ACX_PACKED;		/* 16 2 Sequence Control */
-	u8	timestamp[8] ACX_PACKED;/* 18 8 Timestamp */
+	u8	timestamp[8];/* 18 8 Timestamp */
 	u16	beacon_interval ACX_PACKED; /* 20 2 Beacon Interval * */
 	u16	cap ACX_PACKED;		/* 22 2 Capability Information * */
 					/* 24 n SSID * */
 					/* nn n Supported Rates * */
 					/* nn 1 DS Parameter Set * */
-	u8	variable[0x54 - 2-2-6-6-6-2-8-2-2] ACX_PACKED;
+	u8	variable[0x54 - 2-2-6-6-6-2-8-2-2];
 } acx_template_proberesp_t;
 #define acx_template_beacon_t acx_template_proberesp_t
 #define acx_template_beacon acx_template_proberesp
 
 typedef struct acx_template_nullframe {
 	u16	size ACX_PACKED;
-	struct wlan_hdr_a3 hdr ACX_PACKED;
+	struct wlan_hdr_a3 hdr;
 } acx_template_nullframe_t;
 
 
@@ -1801,27 +1801,27 @@ typedef struct acx_template_nullframe {
 ** as opposed to acx100, acx111 dtim interval is AFTER rates_basic111.
 ** NOTE: took me about an hour to get !@#$%^& packing right --> struct packing is eeeeevil... */
 typedef struct acx_joinbss {
-	u8	bssid[ETH_ALEN] ACX_PACKED;
+	u8	bssid[ETH_ALEN];
 	u16	beacon_interval ACX_PACKED;
 	union {
 		struct {
-			u8	dtim_interval ACX_PACKED;
-			u8	rates_basic ACX_PACKED;
-			u8	rates_supported ACX_PACKED;
-		} acx100 ACX_PACKED;
+			u8	dtim_interval;
+			u8	rates_basic;
+			u8	rates_supported;
+		} acx100;
 		struct {
 			u16	rates_basic ACX_PACKED;
-			u8	dtim_interval ACX_PACKED;
-		} acx111 ACX_PACKED;
-	} u ACX_PACKED;
-	u8	genfrm_txrate ACX_PACKED;	/* generated frame (bcn, proberesp, RTS, PSpoll) tx rate */
-	u8	genfrm_mod_pre ACX_PACKED;	/* generated frame modulation/preamble:
+			u8	dtim_interval;
+		} acx111;
+	} u;
+	u8	genfrm_txrate;	/* generated frame (bcn, proberesp, RTS, PSpoll) tx rate */
+	u8	genfrm_mod_pre;	/* generated frame modulation/preamble:
 						** bit7: PBCC, bit6: OFDM (else CCK/DQPSK/DBPSK)
 						** bit5: short pre */
-	u8	macmode ACX_PACKED;	/* BSS Type, must be one of ACX_MODE_xxx */
-	u8	channel ACX_PACKED;
-	u8	essid_len ACX_PACKED;
-	char	essid[IW_ESSID_MAX_SIZE] ACX_PACKED;
+	u8	macmode;	/* BSS Type, must be one of ACX_MODE_xxx */
+	u8	channel;
+	u8	essid_len;
+	char	essid[IW_ESSID_MAX_SIZE];
 } acx_joinbss_t;
 
 #define JOINBSS_RATES_1		0x01
@@ -1862,7 +1862,7 @@ typedef struct mem_read_write {
 typedef struct firmware_image {
 	u32	chksum ACX_PACKED;
 	u32	size ACX_PACKED;
-	u8	data[1] ACX_PACKED; /* the byte array of the actual firmware... */
+	u8	data[1]; /* the byte array of the actual firmware... */
 } firmware_image_t;
 
 typedef struct acx_cmd_radioinit {
@@ -1874,42 +1874,42 @@ typedef struct acx100_ie_wep_options {
 	u16	type ACX_PACKED;
 	u16	len ACX_PACKED;
 	u16	NumKeys ACX_PACKED;	/* max # of keys */
-	u8	WEPOption ACX_PACKED;	/* 0 == decrypt default key only, 1 == override decrypt */
-	u8	Pad ACX_PACKED;		/* used only for acx111 */
+	u8	WEPOption;	 /* 0 == decrypt default key only, 1 == override decrypt */
+	u8	Pad;		/* used only for acx111 */
 } acx100_ie_wep_options_t;
 
 typedef struct ie_dot11WEPDefaultKey {
 	u16	type ACX_PACKED;
 	u16	len ACX_PACKED;
-	u8	action ACX_PACKED;
-	u8	keySize ACX_PACKED;
-	u8	defaultKeyNum ACX_PACKED;
-	u8	key[29] ACX_PACKED;	/* check this! was Key[19] */
+	u8	action;
+	u8	keySize;
+	u8	defaultKeyNum;
+	u8	key[29];	/* check this! was Key[19] */
 } ie_dot11WEPDefaultKey_t;
 
 typedef struct acx111WEPDefaultKey {
-	u8	MacAddr[ETH_ALEN] ACX_PACKED;
+	u8	MacAddr[ETH_ALEN];
 	u16	action ACX_PACKED;	/* NOTE: this is a u16, NOT a u8!! */
 	u16	reserved ACX_PACKED;
-	u8	keySize ACX_PACKED;
-	u8	type ACX_PACKED;
-	u8	index ACX_PACKED;
-	u8	defaultKeyNum ACX_PACKED;
-	u8	counter[6] ACX_PACKED;
-	u8	key[32] ACX_PACKED;	/* up to 32 bytes (for TKIP!) */
+	u8	keySize;
+	u8	type;
+	u8	index;
+	u8	defaultKeyNum;
+	u8	counter[6];
+	u8	key[32];	/* up to 32 bytes (for TKIP!) */
 } acx111WEPDefaultKey_t;
 
 typedef struct ie_dot11WEPDefaultKeyID {
 	u16	type ACX_PACKED;
 	u16	len ACX_PACKED;
-	u8	KeyID ACX_PACKED;
+	u8	KeyID;
 } ie_dot11WEPDefaultKeyID_t;
 
 typedef struct acx100_cmd_wep_mgmt {
-	u8	MacAddr[ETH_ALEN] ACX_PACKED;
+	u8	MacAddr[ETH_ALEN];
 	u16	Action ACX_PACKED;
 	u16	KeySize ACX_PACKED;
-	u8	Key[29] ACX_PACKED; /* 29*8 == 232bits == WEP256 */
+	u8	Key[29]; /* 29*8 == 232bits == WEP256 */
 } acx100_cmd_wep_mgmt_t;
 
 /* UNUSED?
@@ -1927,7 +1927,7 @@ typedef struct acx_ie_generic {
 		u16	aid;
 		/* UNUSED? struct defaultkey dkey ACX_PACKED; */
 		/* generic member for quick implementation of commands */
-		u8	bytes[32] ACX_PACKED;
+		u8	bytes[32];
 	} m ACX_PACKED;
 } acx_ie_generic_t;
 
Index: linux-2.6.16/drivers/net/wireless/tiacx/wlan_compat.h
===================================================================
--- linux-2.6.16.orig/drivers/net/wireless/tiacx/wlan_compat.h
+++ linux-2.6.16/drivers/net/wireless/tiacx/wlan_compat.h
@@ -243,20 +243,20 @@ typedef void irqreturn_t;
 
 /* local ether header type */
 typedef struct wlan_ethhdr {
-	u8	daddr[ETH_ALEN] __WLAN_ATTRIB_PACK__;
-	u8	saddr[ETH_ALEN] __WLAN_ATTRIB_PACK__;
+	u8	daddr[ETH_ALEN];
+	u8	saddr[ETH_ALEN];
 	u16	type __WLAN_ATTRIB_PACK__;
 } wlan_ethhdr_t;
 
 /* local llc header type */
 typedef struct wlan_llc {
-	u8	dsap __WLAN_ATTRIB_PACK__;
-	u8	ssap __WLAN_ATTRIB_PACK__;
-	u8	ctl __WLAN_ATTRIB_PACK__;
+	u8	dsap;
+	u8	ssap;
+	u8	ctl;
 } wlan_llc_t;
 
 /* local snap header type */
 typedef struct wlan_snap {
-	u8	oui[WLAN_IEEE_OUI_LEN] __WLAN_ATTRIB_PACK__;
+	u8	oui[WLAN_IEEE_OUI_LEN];
 	u16	type __WLAN_ATTRIB_PACK__;
 } wlan_snap_t;
Index: linux-2.6.16/drivers/net/wireless/tiacx/wlan_hdr.h
===================================================================
--- linux-2.6.16.orig/drivers/net/wireless/tiacx/wlan_hdr.h
+++ linux-2.6.16/drivers/net/wireless/tiacx/wlan_hdr.h
@@ -339,29 +339,29 @@ IEEE16(WF_FSTYPE_CFACK_CFPOLL,		0x70)
 typedef struct wlan_hdr {
 	u16	fc __WLAN_ATTRIB_PACK__;
 	u16	dur __WLAN_ATTRIB_PACK__;
-	u8	a1[ETH_ALEN] __WLAN_ATTRIB_PACK__;
-	u8	a2[ETH_ALEN] __WLAN_ATTRIB_PACK__;
-	u8	a3[ETH_ALEN] __WLAN_ATTRIB_PACK__;
+	u8	a1[ETH_ALEN];
+	u8	a2[ETH_ALEN];
+	u8	a3[ETH_ALEN];
 	u16	seq __WLAN_ATTRIB_PACK__;
-	u8	a4[ETH_ALEN] __WLAN_ATTRIB_PACK__;
+	u8	a4[ETH_ALEN];
 } wlan_hdr_t;
 
 /* Separate structs for use if frame type is known */
 typedef struct wlan_hdr_a3 {
 	u16	fc __WLAN_ATTRIB_PACK__;
 	u16	dur __WLAN_ATTRIB_PACK__;
-	u8	a1[ETH_ALEN] __WLAN_ATTRIB_PACK__;
-	u8	a2[ETH_ALEN] __WLAN_ATTRIB_PACK__;
-	u8	a3[ETH_ALEN] __WLAN_ATTRIB_PACK__;
+	u8	a1[ETH_ALEN];
+	u8	a2[ETH_ALEN];
+	u8	a3[ETH_ALEN];
 	u16	seq __WLAN_ATTRIB_PACK__;
 } wlan_hdr_a3_t;
 
 typedef struct wlan_hdr_mgmt {
 	u16	fc __WLAN_ATTRIB_PACK__;
 	u16	dur __WLAN_ATTRIB_PACK__;
-	u8	da[ETH_ALEN] __WLAN_ATTRIB_PACK__;
-	u8	sa[ETH_ALEN] __WLAN_ATTRIB_PACK__;
-	u8	bssid[ETH_ALEN] __WLAN_ATTRIB_PACK__;
+	u8	da[ETH_ALEN];
+	u8	sa[ETH_ALEN];
+	u8	bssid[ETH_ALEN];
 	u16	seq __WLAN_ATTRIB_PACK__;
 } wlan_hdr_mgmt_t;
 
@@ -369,78 +369,78 @@ typedef struct wlan_hdr_mgmt {
 typedef struct { /* ad-hoc peer->peer (to/from DS = 0/0) */
 	u16	fc __WLAN_ATTRIB_PACK__;
 	u16	dur __WLAN_ATTRIB_PACK__;
-	u8	da[ETH_ALEN] __WLAN_ATTRIB_PACK__;
-	u8	sa[ETH_ALEN] __WLAN_ATTRIB_PACK__;
-	u8	bssid[ETH_ALEN] __WLAN_ATTRIB_PACK__;
+	u8	da[ETH_ALEN];
+	u8	sa[ETH_ALEN];
+	u8	bssid[ETH_ALEN];
 	u16	seq __WLAN_ATTRIB_PACK__;
 } ibss;
 typedef struct { /* ap->sta (to/from DS = 0/1) */
 	u16	fc __WLAN_ATTRIB_PACK__;
 	u16	dur __WLAN_ATTRIB_PACK__;
-	u8	da[ETH_ALEN] __WLAN_ATTRIB_PACK__;
-	u8	bssid[ETH_ALEN] __WLAN_ATTRIB_PACK__;
-	u8	sa[ETH_ALEN] __WLAN_ATTRIB_PACK__;
+	u8	da[ETH_ALEN];
+	u8	bssid[ETH_ALEN];
+	u8	sa[ETH_ALEN];
 	u16	seq __WLAN_ATTRIB_PACK__;
 } fromap;
 typedef struct { /* sta->ap (to/from DS = 1/0) */
 	u16	fc __WLAN_ATTRIB_PACK__;
 	u16	dur __WLAN_ATTRIB_PACK__;
-	u8	bssid[ETH_ALEN] __WLAN_ATTRIB_PACK__;
-	u8	sa[ETH_ALEN] __WLAN_ATTRIB_PACK__;
-	u8	da[ETH_ALEN] __WLAN_ATTRIB_PACK__;
+	u8	bssid[ETH_ALEN];
+	u8	sa[ETH_ALEN];
+	u8	da[ETH_ALEN];
 	u16	seq __WLAN_ATTRIB_PACK__;
 } toap;
 typedef struct { /* wds->wds (to/from DS = 1/1), the only 4addr pkt */
 	u16	fc __WLAN_ATTRIB_PACK__;
 	u16	dur __WLAN_ATTRIB_PACK__;
-	u8	ra[ETH_ALEN] __WLAN_ATTRIB_PACK__;
-	u8	ta[ETH_ALEN] __WLAN_ATTRIB_PACK__;
-	u8	da[ETH_ALEN] __WLAN_ATTRIB_PACK__;
+	u8	ra[ETH_ALEN];
+	u8	ta[ETH_ALEN];
+	u8	da[ETH_ALEN];
 	u16	seq __WLAN_ATTRIB_PACK__;
-	u8	sa[ETH_ALEN] __WLAN_ATTRIB_PACK__;
+	u8	sa[ETH_ALEN];
 } wds;
 typedef struct { /* all management packets */
 	u16	fc __WLAN_ATTRIB_PACK__;
 	u16	dur __WLAN_ATTRIB_PACK__;
-	u8	da[ETH_ALEN] __WLAN_ATTRIB_PACK__;
-	u8	sa[ETH_ALEN] __WLAN_ATTRIB_PACK__;
-	u8	bssid[ETH_ALEN] __WLAN_ATTRIB_PACK__;
+	u8	da[ETH_ALEN];
+	u8	sa[ETH_ALEN];
+	u8	bssid[ETH_ALEN];
 	u16	seq __WLAN_ATTRIB_PACK__;
 } mgmt;
 typedef struct { /* has no body, just a FCS */
 	u16	fc __WLAN_ATTRIB_PACK__;
 	u16	dur __WLAN_ATTRIB_PACK__;
-	u8	ra[ETH_ALEN] __WLAN_ATTRIB_PACK__;
-	u8	ta[ETH_ALEN] __WLAN_ATTRIB_PACK__;
+	u8	ra[ETH_ALEN];
+	u8	ta[ETH_ALEN];
 } rts;
 typedef struct { /* has no body, just a FCS */
 	u16	fc __WLAN_ATTRIB_PACK__;
 	u16	dur __WLAN_ATTRIB_PACK__;
-	u8	ra[ETH_ALEN] __WLAN_ATTRIB_PACK__;
+	u8	ra[ETH_ALEN];
 } cts;
 typedef struct { /* has no body, just a FCS */
 	u16	fc __WLAN_ATTRIB_PACK__;
 	u16	dur __WLAN_ATTRIB_PACK__;
-	u8	ra[ETH_ALEN] __WLAN_ATTRIB_PACK__;
+	u8	ra[ETH_ALEN];
 } ack;
 typedef struct { /* has no body, just a FCS */
 	u16	fc __WLAN_ATTRIB_PACK__;
 	/* NB: this one holds Assoc ID in dur field: */
 	u16	aid __WLAN_ATTRIB_PACK__;
-	u8	bssid[ETH_ALEN] __WLAN_ATTRIB_PACK__;
-	u8	ta[ETH_ALEN] __WLAN_ATTRIB_PACK__;
+	u8	bssid[ETH_ALEN];
+	u8	ta[ETH_ALEN];
 } pspoll;
 typedef struct { /* has no body, just a FCS */
 	u16	fc __WLAN_ATTRIB_PACK__;
 	u16	dur __WLAN_ATTRIB_PACK__;
-	u8	ra[ETH_ALEN] __WLAN_ATTRIB_PACK__;
-	u8	bssid[ETH_ALEN] __WLAN_ATTRIB_PACK__;
+	u8	ra[ETH_ALEN];
+	u8	bssid[ETH_ALEN];
 } cfend;
 typedef struct { /* has no body, just a FCS */
 	u16	fc __WLAN_ATTRIB_PACK__;
 	u16	dur __WLAN_ATTRIB_PACK__;
-	u8	ra[ETH_ALEN] __WLAN_ATTRIB_PACK__;
-	u8	bssid[ETH_ALEN] __WLAN_ATTRIB_PACK__;
+	u8	ra[ETH_ALEN];
+	u8	bssid[ETH_ALEN];
 } cfendcfack;
 #endif
 
@@ -472,17 +472,17 @@ typedef struct wlanitem_u32 {
 typedef struct wlansniffrm {
 	u32		msgcode __WLAN_ATTRIB_PACK__;
 	u32		msglen __WLAN_ATTRIB_PACK__;
-	u8		devname[WLAN_DEVNAMELEN_MAX] __WLAN_ATTRIB_PACK__;
-	wlanitem_u32_t	hosttime __WLAN_ATTRIB_PACK__;
-	wlanitem_u32_t	mactime __WLAN_ATTRIB_PACK__;
-	wlanitem_u32_t	channel __WLAN_ATTRIB_PACK__;
-	wlanitem_u32_t	rssi __WLAN_ATTRIB_PACK__;
-	wlanitem_u32_t	sq __WLAN_ATTRIB_PACK__;
-	wlanitem_u32_t	signal __WLAN_ATTRIB_PACK__;
-	wlanitem_u32_t	noise __WLAN_ATTRIB_PACK__;
-	wlanitem_u32_t	rate __WLAN_ATTRIB_PACK__;
-	wlanitem_u32_t	istx __WLAN_ATTRIB_PACK__;	/* tx? 0:no 1:yes */
-	wlanitem_u32_t	frmlen __WLAN_ATTRIB_PACK__;
+	u8		devname[WLAN_DEVNAMELEN_MAX];
+	wlanitem_u32_t	hosttime;
+	wlanitem_u32_t	mactime;
+	wlanitem_u32_t	channel;
+	wlanitem_u32_t	rssi;
+	wlanitem_u32_t	sq;
+	wlanitem_u32_t	signal;
+	wlanitem_u32_t	noise;
+	wlanitem_u32_t	rate;
+	wlanitem_u32_t	istx;	/* tx? 0:no 1:yes */
+	wlanitem_u32_t	frmlen;
 } wlansniffrm_t;
 #define WLANSNIFFFRM		0x0041
 #define WLANSNIFFFRM_hosttime	0x1041
Index: linux-2.6.16/drivers/net/wireless/tiacx/wlan_mgmt.h
===================================================================
--- linux-2.6.16.orig/drivers/net/wireless/tiacx/wlan_mgmt.h
+++ linux-2.6.16/drivers/net/wireless/tiacx/wlan_mgmt.h
@@ -199,84 +199,84 @@ IEEE16(WF_MGMT_CAP_CCKOFDM,	0x2000)
 
 /* prototype structure, all IEs start with these members */
 typedef struct wlan_ie {
-	u8 eid __WLAN_ATTRIB_PACK__;
-	u8 len __WLAN_ATTRIB_PACK__;
+	u8 eid;
+	u8 len;
 } wlan_ie_t;
 
 /*-- Service Set Identity (SSID)  -----------------*/
 typedef struct wlan_ie_ssid {
-	u8 eid __WLAN_ATTRIB_PACK__;
-	u8 len __WLAN_ATTRIB_PACK__;
-	u8 ssid[1] __WLAN_ATTRIB_PACK__;	/* may be zero */
+	u8 eid;
+	u8 len;
+	u8 ssid[1];	/* may be zero */
 } wlan_ie_ssid_t;
 
 /*-- Supported Rates  -----------------------------*/
 typedef struct wlan_ie_supp_rates {
-	u8 eid __WLAN_ATTRIB_PACK__;
-	u8 len __WLAN_ATTRIB_PACK__;
-	u8 rates[1] __WLAN_ATTRIB_PACK__;	/* had better be at LEAST one! */
+	u8 eid;
+	u8 len;
+	u8 rates[1];	/* had better be at LEAST one! */
 } wlan_ie_supp_rates_t;
 
 /*-- FH Parameter Set  ----------------------------*/
 typedef struct wlan_ie_fh_parms {
-	u8 eid __WLAN_ATTRIB_PACK__;
-	u8 len __WLAN_ATTRIB_PACK__;
+	u8 eid;
+	u8 len;
 	u16 dwell __WLAN_ATTRIB_PACK__;
-	u8 hopset __WLAN_ATTRIB_PACK__;
-	u8 hoppattern __WLAN_ATTRIB_PACK__;
-	u8 hopindex __WLAN_ATTRIB_PACK__;
+	u8 hopset; 
+	u8 hoppattern;
+	u8 hopindex;
 } wlan_ie_fh_parms_t;
 
 /*-- DS Parameter Set  ----------------------------*/
 typedef struct wlan_ie_ds_parms {
-	u8 eid __WLAN_ATTRIB_PACK__;
-	u8 len __WLAN_ATTRIB_PACK__;
-	u8 curr_ch __WLAN_ATTRIB_PACK__;
+	u8 eid;
+	u8 len;
+	u8 curr_ch;
 } wlan_ie_ds_parms_t;
 
 /*-- CF Parameter Set  ----------------------------*/
 typedef struct wlan_ie_cf_parms {
-	u8 eid __WLAN_ATTRIB_PACK__;
-	u8 len __WLAN_ATTRIB_PACK__;
-	u8 cfp_cnt __WLAN_ATTRIB_PACK__;
-	u8 cfp_period __WLAN_ATTRIB_PACK__;
+	u8 eid;
+	u8 len;
+	u8 cfp_cnt;
+	u8 cfp_period;
 	u16 cfp_maxdur __WLAN_ATTRIB_PACK__;
 	u16 cfp_durremaining __WLAN_ATTRIB_PACK__;
 } wlan_ie_cf_parms_t;
 
 /*-- TIM ------------------------------------------*/
 typedef struct wlan_ie_tim {
-	u8 eid __WLAN_ATTRIB_PACK__;
-	u8 len __WLAN_ATTRIB_PACK__;
-	u8 dtim_cnt __WLAN_ATTRIB_PACK__;
-	u8 dtim_period __WLAN_ATTRIB_PACK__;
-	u8 bitmap_ctl __WLAN_ATTRIB_PACK__;
-	u8 virt_bm[1] __WLAN_ATTRIB_PACK__;
+	u8 eid;
+	u8 len;
+	u8 dtim_cnt;
+	u8 dtim_period;
+	u8 bitmap_ctl;
+	u8 virt_bm[1];
 } wlan_ie_tim_t;
 
 /*-- IBSS Parameter Set ---------------------------*/
 typedef struct wlan_ie_ibss_parms {
-	u8 eid __WLAN_ATTRIB_PACK__;
-	u8 len __WLAN_ATTRIB_PACK__;
+	u8 eid;
+	u8 len;
 	u16 atim_win __WLAN_ATTRIB_PACK__;
 } wlan_ie_ibss_parms_t;
 
 /*-- Challenge Text  ------------------------------*/
 typedef struct wlan_ie_challenge {
-	u8 eid __WLAN_ATTRIB_PACK__;
-	u8 len __WLAN_ATTRIB_PACK__;
-	u8 challenge[1] __WLAN_ATTRIB_PACK__;
+	u8 eid;
+	u8 len;
+	u8 challenge[1];
 } wlan_ie_challenge_t;
 
 /*-- ERP (42) -------------------------------------*/
 typedef struct wlan_ie_erp {
-	u8 eid __WLAN_ATTRIB_PACK__;
-	u8 len __WLAN_ATTRIB_PACK__;
+	u8 eid;
+	u8 len;
 	/* bit 0:Non ERP present
 	**     1:Use Protection
 	**     2:Barker Preamble mode
 	**     3-7:reserved */
-	u8 erp __WLAN_ATTRIB_PACK__;
+	u8 erp;
 } wlan_ie_erp_t;
 
 /* Types for parsing mgmt frames */
@@ -434,21 +434,21 @@ typedef struct auth_frame_body {
 	u16	auth_alg __WLAN_ATTRIB_PACK__;
 	u16	auth_seq __WLAN_ATTRIB_PACK__;
 	u16	status __WLAN_ATTRIB_PACK__;
-	wlan_ie_challenge_t challenge __WLAN_ATTRIB_PACK__;
+	wlan_ie_challenge_t challenge;
 } auth_frame_body_t;
 
 typedef struct assocresp_frame_body {
 	u16	cap_info __WLAN_ATTRIB_PACK__;
 	u16	status __WLAN_ATTRIB_PACK__;
 	u16	aid __WLAN_ATTRIB_PACK__;
-	wlan_ie_supp_rates_t rates __WLAN_ATTRIB_PACK__;
+	wlan_ie_supp_rates_t rates;
 } assocresp_frame_body_t;
 
 typedef struct reassocreq_frame_body {
 	u16	cap_info __WLAN_ATTRIB_PACK__;
 	u16	listen_int __WLAN_ATTRIB_PACK__;
-	u8	current_ap[ETH_ALEN] __WLAN_ATTRIB_PACK__;
-	wlan_ie_ssid_t ssid __WLAN_ATTRIB_PACK__;
+	u8	current_ap[ETH_ALEN];
+	wlan_ie_ssid_t ssid;
 /* access to this one is disabled since ssid_t is variable length: */
      /* wlan_ie_supp_rates_t rates __WLAN_ATTRIB_PACK__; */
 } reassocreq_frame_body_t;
@@ -457,7 +457,7 @@ typedef struct reassocresp_frame_body {
 	u16	cap_info __WLAN_ATTRIB_PACK__;
 	u16	status __WLAN_ATTRIB_PACK__;
 	u16	aid __WLAN_ATTRIB_PACK__;
-	wlan_ie_supp_rates_t rates __WLAN_ATTRIB_PACK__;
+	wlan_ie_supp_rates_t rates;
 } reassocresp_frame_body_t;
 
 typedef struct deauthen_frame_body {
@@ -469,15 +469,15 @@ typedef struct disassoc_frame_body {
 } disassoc_frame_body_t;
 
 typedef struct probereq_frame_body {
-	wlan_ie_ssid_t ssid __WLAN_ATTRIB_PACK__;
-	wlan_ie_supp_rates_t rates __WLAN_ATTRIB_PACK__;
+	wlan_ie_ssid_t ssid;
+	wlan_ie_supp_rates_t rates;
 } probereq_frame_body_t;
 
 typedef struct proberesp_frame_body {
-	u8	timestamp[8] __WLAN_ATTRIB_PACK__;
+	u8	timestamp[8];
 	u16	beacon_int __WLAN_ATTRIB_PACK__;
 	u16	cap_info __WLAN_ATTRIB_PACK__;
-	wlan_ie_ssid_t ssid __WLAN_ATTRIB_PACK__;
+	wlan_ie_ssid_t ssid; 
 /* access to these is disabled since ssid_t is variable length: */
      /* wlan_ie_supp_rates_t rates __WLAN_ATTRIB_PACK__; */
      /* fhps_t	fhps __WLAN_ATTRIB_PACK__; */
Index: linux-2.6.16/drivers/net/wireless/tiacx/usb.c
===================================================================
--- linux-2.6.16.orig/drivers/net/wireless/tiacx/usb.c
+++ linux-2.6.16/drivers/net/wireless/tiacx/usb.c
@@ -281,7 +281,7 @@ acxusb_s_issue_cmd_timeo_debug(
 	struct {
 		u16	cmd ACX_PACKED;
 		u16	status ACX_PACKED;
-		u8	data[1] ACX_PACKED;
+		u8	data[1];
 	} *loc;
 	const char *devname;
 	int acklen, blocklen, inpipe, outpipe;
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux