diff options
author | James Ketrenos <jketreno@linux.intel.com> | 2005-08-25 01:05:33 -0400 |
---|---|---|
committer | James Ketrenos <jketreno@linux.intel.com> | 2005-11-07 18:50:11 -0500 |
commit | afbf30a2b78cac38e6ddae10a73063943b4783ee (patch) | |
tree | 24c583520cdb77e22631741358831e10c865bde0 /drivers/net/wireless/ipw2200.h | |
parent | e4cc28998724661c19cd979a78eaf9a424da52ef (diff) |
Catch ipw2200 up to equivelancy with v1.0.5
* Fixed #452 problem with setting retry limit (thanks to Hong Liu)
* Fixed #592 race condition during association causing firmware errors
* Fixed #602 problem with building in 64-bit environment
* Fixed #625 problem with SCAN_REQUEST_EXT sometimes failing
* Fixed #645 problem with bit rate not decreasing when moving laptop
farther from AP
* Fixed #656 problem with 'iwconfig eth1 mode auto' and 'modprobe'
locking the system
* Fixed #667 problem with "No space for Tx" for hwcrypto=1
* Fixed #685 kernel panic in rmmod caused by led work is still queued
* Fixed #695 problem with network doesn't reassociate after suspend/resume
* Fixed #701 problem with 'iwprvi sw_reset' not resetting the card from
monitor mode
* Fixed #710 problem with monitor mode being used after a WEP key has
been configured
* Fixed network->mode vs. priv->ieee->iw_mode checking (thanks to Ben Cahill)
* Fixed "Unknown management packet %d" warning
* Fixed setting channels multiple times in monitor mode causes scan stopped
* Fixed ipw_wx_sw_reset doesn't switch firmware if mode is changed.
* Add duplicate packet checking code (kill ping DUP! and TKIP replay warning)
* Fix hardware encryption (both WEP and AES) doesn't work with fragmentation.
Signed-off-by: James Ketrenos <jketreno@linux.intel.com>
Diffstat (limited to 'drivers/net/wireless/ipw2200.h')
-rw-r--r-- | drivers/net/wireless/ipw2200.h | 26 |
1 files changed, 22 insertions, 4 deletions
diff --git a/drivers/net/wireless/ipw2200.h b/drivers/net/wireless/ipw2200.h index 9dbd73a42094..915f469fa1d6 100644 --- a/drivers/net/wireless/ipw2200.h +++ b/drivers/net/wireless/ipw2200.h | |||
@@ -244,7 +244,7 @@ enum connection_manager_assoc_states { | |||
244 | #define HOST_NOTIFICATION_S36_MEASUREMENT_REFUSED 31 | 244 | #define HOST_NOTIFICATION_S36_MEASUREMENT_REFUSED 31 |
245 | 245 | ||
246 | #define HOST_NOTIFICATION_STATUS_BEACON_MISSING 1 | 246 | #define HOST_NOTIFICATION_STATUS_BEACON_MISSING 1 |
247 | #define IPW_MB_DISASSOCIATE_THRESHOLD_DEFAULT 24 | 247 | #define IPW_MB_DISASSOCIATE_THRESHOLD_DEFAULT 9 |
248 | #define IPW_MB_ROAMING_THRESHOLD_DEFAULT 8 | 248 | #define IPW_MB_ROAMING_THRESHOLD_DEFAULT 8 |
249 | #define IPW_REAL_RATE_RX_PACKET_THRESHOLD 300 | 249 | #define IPW_REAL_RATE_RX_PACKET_THRESHOLD 300 |
250 | 250 | ||
@@ -699,8 +699,8 @@ struct ipw_rx_packet { | |||
699 | } __attribute__ ((packed)); | 699 | } __attribute__ ((packed)); |
700 | 700 | ||
701 | #define IPW_RX_NOTIFICATION_SIZE sizeof(struct ipw_rx_header) + 12 | 701 | #define IPW_RX_NOTIFICATION_SIZE sizeof(struct ipw_rx_header) + 12 |
702 | #define IPW_RX_FRAME_SIZE sizeof(struct ipw_rx_header) + \ | 702 | #define IPW_RX_FRAME_SIZE (unsigned int)(sizeof(struct ipw_rx_header) + \ |
703 | sizeof(struct ipw_rx_frame) | 703 | sizeof(struct ipw_rx_frame)) |
704 | 704 | ||
705 | struct ipw_rx_mem_buffer { | 705 | struct ipw_rx_mem_buffer { |
706 | dma_addr_t dma_addr; | 706 | dma_addr_t dma_addr; |
@@ -1029,6 +1029,7 @@ struct ipw_cmd { | |||
1029 | #define STATUS_SCAN_PENDING (1<<20) | 1029 | #define STATUS_SCAN_PENDING (1<<20) |
1030 | #define STATUS_SCANNING (1<<21) | 1030 | #define STATUS_SCANNING (1<<21) |
1031 | #define STATUS_SCAN_ABORTING (1<<22) | 1031 | #define STATUS_SCAN_ABORTING (1<<22) |
1032 | #define STATUS_SCAN_FORCED (1<<23) | ||
1032 | 1033 | ||
1033 | #define STATUS_LED_LINK_ON (1<<24) | 1034 | #define STATUS_LED_LINK_ON (1<<24) |
1034 | #define STATUS_LED_ACT_ON (1<<25) | 1035 | #define STATUS_LED_ACT_ON (1<<25) |
@@ -1074,6 +1075,15 @@ struct average { | |||
1074 | }; | 1075 | }; |
1075 | 1076 | ||
1076 | #define MAX_SPEED_SCAN 100 | 1077 | #define MAX_SPEED_SCAN 100 |
1078 | #define IPW_IBSS_MAC_HASH_SIZE 31 | ||
1079 | |||
1080 | struct ipw_ibss_seq { | ||
1081 | u8 mac[ETH_ALEN]; | ||
1082 | u16 seq_num; | ||
1083 | u16 frag_num; | ||
1084 | unsigned long packet_time; | ||
1085 | struct list_head list; | ||
1086 | }; | ||
1077 | 1087 | ||
1078 | struct ipw_priv { | 1088 | struct ipw_priv { |
1079 | /* ieee device used by generic ieee processing code */ | 1089 | /* ieee device used by generic ieee processing code */ |
@@ -1115,7 +1125,7 @@ struct ipw_priv { | |||
1115 | int rx_bufs_min; /**< minimum number of bufs in Rx queue */ | 1125 | int rx_bufs_min; /**< minimum number of bufs in Rx queue */ |
1116 | int rx_pend_max; /**< maximum pending buffers for one IRQ */ | 1126 | int rx_pend_max; /**< maximum pending buffers for one IRQ */ |
1117 | u32 hcmd_seq; /**< sequence number for hcmd */ | 1127 | u32 hcmd_seq; /**< sequence number for hcmd */ |
1118 | u32 missed_beacon_threshold; | 1128 | u32 disassociate_threshold; |
1119 | u32 roaming_threshold; | 1129 | u32 roaming_threshold; |
1120 | 1130 | ||
1121 | struct ipw_associate assoc_request; | 1131 | struct ipw_associate assoc_request; |
@@ -1156,6 +1166,8 @@ struct ipw_priv { | |||
1156 | u8 mac_addr[ETH_ALEN]; | 1166 | u8 mac_addr[ETH_ALEN]; |
1157 | u8 num_stations; | 1167 | u8 num_stations; |
1158 | u8 stations[MAX_STATIONS][ETH_ALEN]; | 1168 | u8 stations[MAX_STATIONS][ETH_ALEN]; |
1169 | u8 short_retry_limit; | ||
1170 | u8 long_retry_limit; | ||
1159 | 1171 | ||
1160 | u32 notif_missed_beacons; | 1172 | u32 notif_missed_beacons; |
1161 | 1173 | ||
@@ -1176,8 +1188,14 @@ struct ipw_priv { | |||
1176 | u8 speed_scan[MAX_SPEED_SCAN]; | 1188 | u8 speed_scan[MAX_SPEED_SCAN]; |
1177 | u8 speed_scan_pos; | 1189 | u8 speed_scan_pos; |
1178 | 1190 | ||
1191 | u16 last_seq_num; | ||
1192 | u16 last_frag_num; | ||
1193 | unsigned long last_packet_time; | ||
1194 | struct list_head ibss_mac_hash[IPW_IBSS_MAC_HASH_SIZE]; | ||
1195 | |||
1179 | /* eeprom */ | 1196 | /* eeprom */ |
1180 | u8 eeprom[0x100]; /* 256 bytes of eeprom */ | 1197 | u8 eeprom[0x100]; /* 256 bytes of eeprom */ |
1198 | u8 country[4]; | ||
1181 | int eeprom_delay; | 1199 | int eeprom_delay; |
1182 | 1200 | ||
1183 | struct iw_statistics wstats; | 1201 | struct iw_statistics wstats; |