diff options
author | Greg Kroah-Hartman <gregkh@suse.de> | 2010-05-21 15:48:55 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2010-05-21 15:48:55 -0400 |
commit | c8d1a126924fcbc1d61ceb830226e0c7afdcc841 (patch) | |
tree | d3f3c850481c33b7f433175e83a189f958b1b868 /drivers/staging/vt6656 | |
parent | d7dbf4ffee1c7a17e2e5b5f01efe76fbd1671db6 (diff) | |
parent | 107c161b7ddeeb7da43509cc6b29211885ccd9af (diff) |
Merge staging-next tree into Linus's latest version
Conflicts:
drivers/staging/arlan/arlan-main.c
drivers/staging/comedi/drivers/cb_das16_cs.c
drivers/staging/cx25821/cx25821-alsa.c
drivers/staging/dt3155/dt3155_drv.c
drivers/staging/hv/hv.c
drivers/staging/netwave/netwave_cs.c
drivers/staging/wavelan/wavelan.c
drivers/staging/wavelan/wavelan_cs.c
drivers/staging/wlags49_h2/wl_cs.c
This required a bit of hand merging due to the conflicts
that happened in the later .34-rc releases, as well as
some staging driver changing coming in through other trees
(v4l and pcmcia).
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/staging/vt6656')
75 files changed, 3529 insertions, 3879 deletions
diff --git a/drivers/staging/vt6656/80211hdr.h b/drivers/staging/vt6656/80211hdr.h index e5cee6fd053..15c6ef1a635 100644 --- a/drivers/staging/vt6656/80211hdr.h +++ b/drivers/staging/vt6656/80211hdr.h | |||
@@ -16,16 +16,13 @@ | |||
16 | * with this program; if not, write to the Free Software Foundation, Inc., | 16 | * with this program; if not, write to the Free Software Foundation, Inc., |
17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. | 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. |
18 | * | 18 | * |
19 | * | ||
20 | * File: 80211hdr.h | 19 | * File: 80211hdr.h |
21 | * | 20 | * |
22 | * Purpose: 802.11 MAC headers related pre-defines and macros. | 21 | * Purpose: 802.11 MAC headers related pre-defines and macros. |
23 | * | 22 | * |
24 | * | ||
25 | * Author: Lyndon Chen | 23 | * Author: Lyndon Chen |
26 | * | 24 | * |
27 | * Date: Apr 8, 2002 | 25 | * Date: Apr 8, 2002 |
28 | * | ||
29 | */ | 26 | */ |
30 | 27 | ||
31 | #ifndef __80211HDR_H__ | 28 | #ifndef __80211HDR_H__ |
@@ -34,7 +31,8 @@ | |||
34 | #include "ttype.h" | 31 | #include "ttype.h" |
35 | 32 | ||
36 | /*--------------------- Export Definitions -------------------------*/ | 33 | /*--------------------- Export Definitions -------------------------*/ |
37 | // bit type | 34 | |
35 | /* bit type */ | ||
38 | #define BIT0 0x00000001 | 36 | #define BIT0 0x00000001 |
39 | #define BIT1 0x00000002 | 37 | #define BIT1 0x00000002 |
40 | #define BIT2 0x00000004 | 38 | #define BIT2 0x00000004 |
@@ -68,7 +66,7 @@ | |||
68 | #define BIT30 0x40000000 | 66 | #define BIT30 0x40000000 |
69 | #define BIT31 0x80000000 | 67 | #define BIT31 0x80000000 |
70 | 68 | ||
71 | // 802.11 frame related, defined as 802.11 spec | 69 | /* 802.11 frame related, defined as 802.11 spec */ |
72 | #define WLAN_ADDR_LEN 6 | 70 | #define WLAN_ADDR_LEN 6 |
73 | #define WLAN_CRC_LEN 4 | 71 | #define WLAN_CRC_LEN 4 |
74 | #define WLAN_CRC32_LEN 4 | 72 | #define WLAN_CRC32_LEN 4 |
@@ -80,13 +78,14 @@ | |||
80 | #define WLAN_HDR_ADDR4_LEN 30 | 78 | #define WLAN_HDR_ADDR4_LEN 30 |
81 | #define WLAN_IEHDR_LEN 2 | 79 | #define WLAN_IEHDR_LEN 2 |
82 | #define WLAN_SSID_MAXLEN 32 | 80 | #define WLAN_SSID_MAXLEN 32 |
83 | //#define WLAN_RATES_MAXLEN 255 | 81 | /* #define WLAN_RATES_MAXLEN 255 */ |
84 | #define WLAN_RATES_MAXLEN 16 | 82 | #define WLAN_RATES_MAXLEN 16 |
85 | #define WLAN_RATES_MAXLEN_11B 4 | 83 | #define WLAN_RATES_MAXLEN_11B 4 |
86 | #define WLAN_RSN_MAXLEN 32 | 84 | #define WLAN_RSN_MAXLEN 32 |
87 | #define WLAN_DATA_MAXLEN 2312 | 85 | #define WLAN_DATA_MAXLEN 2312 |
88 | #define WLAN_A3FR_MAXLEN (WLAN_HDR_ADDR3_LEN + WLAN_DATA_MAXLEN + WLAN_CRC_LEN) | 86 | #define WLAN_A3FR_MAXLEN (WLAN_HDR_ADDR3_LEN \ |
89 | 87 | + WLAN_DATA_MAXLEN \ | |
88 | + WLAN_CRC_LEN) | ||
90 | 89 | ||
91 | #define WLAN_BEACON_FR_MAXLEN WLAN_A3FR_MAXLEN | 90 | #define WLAN_BEACON_FR_MAXLEN WLAN_A3FR_MAXLEN |
92 | #define WLAN_ATIM_FR_MAXLEN (WLAN_HDR_ADDR3_LEN + 0) | 91 | #define WLAN_ATIM_FR_MAXLEN (WLAN_HDR_ADDR3_LEN + 0) |
@@ -101,12 +100,11 @@ | |||
101 | #define WLAN_AUTHEN_FR_MAXLEN WLAN_A3FR_MAXLEN | 100 | #define WLAN_AUTHEN_FR_MAXLEN WLAN_A3FR_MAXLEN |
102 | #define WLAN_DEAUTHEN_FR_MAXLEN (WLAN_HDR_ADDR3_LEN + 2) | 101 | #define WLAN_DEAUTHEN_FR_MAXLEN (WLAN_HDR_ADDR3_LEN + 2) |
103 | 102 | ||
104 | |||
105 | #define WLAN_WEP_NKEYS 4 | 103 | #define WLAN_WEP_NKEYS 4 |
106 | #define WLAN_WEP40_KEYLEN 5 | 104 | #define WLAN_WEP40_KEYLEN 5 |
107 | #define WLAN_WEP104_KEYLEN 13 | 105 | #define WLAN_WEP104_KEYLEN 13 |
108 | #define WLAN_WEP232_KEYLEN 29 | 106 | #define WLAN_WEP232_KEYLEN 29 |
109 | //#define WLAN_WEPMAX_KEYLEN 29 | 107 | /* #define WLAN_WEPMAX_KEYLEN 29 */ |
110 | #define WLAN_WEPMAX_KEYLEN 32 | 108 | #define WLAN_WEPMAX_KEYLEN 32 |
111 | #define WLAN_CHALLENGE_IE_MAXLEN 255 | 109 | #define WLAN_CHALLENGE_IE_MAXLEN 255 |
112 | #define WLAN_CHALLENGE_IE_LEN 130 | 110 | #define WLAN_CHALLENGE_IE_LEN 130 |
@@ -115,7 +113,7 @@ | |||
115 | #define WLAN_WEP_ICV_LEN 4 | 113 | #define WLAN_WEP_ICV_LEN 4 |
116 | #define WLAN_FRAGS_MAX 16 | 114 | #define WLAN_FRAGS_MAX 16 |
117 | 115 | ||
118 | // Frame Type | 116 | /* Frame Type */ |
119 | #define WLAN_TYPE_MGR 0x00 | 117 | #define WLAN_TYPE_MGR 0x00 |
120 | #define WLAN_TYPE_CTL 0x01 | 118 | #define WLAN_TYPE_CTL 0x01 |
121 | #define WLAN_TYPE_DATA 0x02 | 119 | #define WLAN_TYPE_DATA 0x02 |
@@ -124,8 +122,7 @@ | |||
124 | #define WLAN_FTYPE_CTL 0x01 | 122 | #define WLAN_FTYPE_CTL 0x01 |
125 | #define WLAN_FTYPE_DATA 0x02 | 123 | #define WLAN_FTYPE_DATA 0x02 |
126 | 124 | ||
127 | 125 | /* Frame Subtypes */ | |
128 | // Frame Subtypes | ||
129 | #define WLAN_FSTYPE_ASSOCREQ 0x00 | 126 | #define WLAN_FSTYPE_ASSOCREQ 0x00 |
130 | #define WLAN_FSTYPE_ASSOCRESP 0x01 | 127 | #define WLAN_FSTYPE_ASSOCRESP 0x01 |
131 | #define WLAN_FSTYPE_REASSOCREQ 0x02 | 128 | #define WLAN_FSTYPE_REASSOCREQ 0x02 |
@@ -139,7 +136,7 @@ | |||
139 | #define WLAN_FSTYPE_DEAUTHEN 0x0c | 136 | #define WLAN_FSTYPE_DEAUTHEN 0x0c |
140 | #define WLAN_FSTYPE_ACTION 0x0d | 137 | #define WLAN_FSTYPE_ACTION 0x0d |
141 | 138 | ||
142 | // Control | 139 | /* Control */ |
143 | #define WLAN_FSTYPE_PSPOLL 0x0a | 140 | #define WLAN_FSTYPE_PSPOLL 0x0a |
144 | #define WLAN_FSTYPE_RTS 0x0b | 141 | #define WLAN_FSTYPE_RTS 0x0b |
145 | #define WLAN_FSTYPE_CTS 0x0c | 142 | #define WLAN_FSTYPE_CTS 0x0c |
@@ -147,7 +144,7 @@ | |||
147 | #define WLAN_FSTYPE_CFEND 0x0e | 144 | #define WLAN_FSTYPE_CFEND 0x0e |
148 | #define WLAN_FSTYPE_CFENDCFACK 0x0f | 145 | #define WLAN_FSTYPE_CFENDCFACK 0x0f |
149 | 146 | ||
150 | // Data | 147 | /* Data */ |
151 | #define WLAN_FSTYPE_DATAONLY 0x00 | 148 | #define WLAN_FSTYPE_DATAONLY 0x00 |
152 | #define WLAN_FSTYPE_DATA_CFACK 0x01 | 149 | #define WLAN_FSTYPE_DATA_CFACK 0x01 |
153 | #define WLAN_FSTYPE_DATA_CFPOLL 0x02 | 150 | #define WLAN_FSTYPE_DATA_CFPOLL 0x02 |
@@ -157,13 +154,13 @@ | |||
157 | #define WLAN_FSTYPE_CFPOLL 0x06 | 154 | #define WLAN_FSTYPE_CFPOLL 0x06 |
158 | #define WLAN_FSTYPE_CFACK_CFPOLL 0x07 | 155 | #define WLAN_FSTYPE_CFACK_CFPOLL 0x07 |
159 | 156 | ||
160 | |||
161 | #ifdef __BIG_ENDIAN | 157 | #ifdef __BIG_ENDIAN |
162 | 158 | ||
163 | // GET & SET Frame Control bit | 159 | /* GET & SET Frame Control bit */ |
164 | #define WLAN_GET_FC_PRVER(n) ((((WORD)(n) >> 8) & (BIT0 | BIT1)) | 160 | #define WLAN_GET_FC_PRVER(n) ((((WORD)(n) >> 8) & (BIT0 | BIT1)) |
165 | #define WLAN_GET_FC_FTYPE(n) ((((WORD)(n) >> 8) & (BIT2 | BIT3)) >> 2) | 161 | #define WLAN_GET_FC_FTYPE(n) ((((WORD)(n) >> 8) & (BIT2 | BIT3)) >> 2) |
166 | #define WLAN_GET_FC_FSTYPE(n) ((((WORD)(n) >> 8) & (BIT4|BIT5|BIT6|BIT7)) >> 4) | 162 | #define WLAN_GET_FC_FSTYPE(n) ((((WORD)(n) >> 8) \ |
163 | & (BIT4|BIT5|BIT6|BIT7)) >> 4) | ||
167 | #define WLAN_GET_FC_TODS(n) ((((WORD)(n) << 8) & (BIT8)) >> 8) | 164 | #define WLAN_GET_FC_TODS(n) ((((WORD)(n) << 8) & (BIT8)) >> 8) |
168 | #define WLAN_GET_FC_FROMDS(n) ((((WORD)(n) << 8) & (BIT9)) >> 9) | 165 | #define WLAN_GET_FC_FROMDS(n) ((((WORD)(n) << 8) & (BIT9)) >> 9) |
169 | #define WLAN_GET_FC_MOREFRAG(n) ((((WORD)(n) << 8) & (BIT10)) >> 10) | 166 | #define WLAN_GET_FC_MOREFRAG(n) ((((WORD)(n) << 8) & (BIT10)) >> 10) |
@@ -173,12 +170,12 @@ | |||
173 | #define WLAN_GET_FC_ISWEP(n) ((((WORD)(n) << 8) & (BIT14)) >> 14) | 170 | #define WLAN_GET_FC_ISWEP(n) ((((WORD)(n) << 8) & (BIT14)) >> 14) |
174 | #define WLAN_GET_FC_ORDER(n) ((((WORD)(n) << 8) & (BIT15)) >> 15) | 171 | #define WLAN_GET_FC_ORDER(n) ((((WORD)(n) << 8) & (BIT15)) >> 15) |
175 | 172 | ||
176 | // Sequence Field bit | 173 | /* Sequence Field bit */ |
177 | #define WLAN_GET_SEQ_FRGNUM(n) (((WORD)(n) >> 8) & (BIT0|BIT1|BIT2|BIT3)) | 174 | #define WLAN_GET_SEQ_FRGNUM(n) (((WORD)(n) >> 8) & (BIT0|BIT1|BIT2|BIT3)) |
178 | #define WLAN_GET_SEQ_SEQNUM(n) ((((WORD)(n) >> 8) & (~(BIT0|BIT1|BIT2|BIT3))) >> 4) | 175 | #define WLAN_GET_SEQ_SEQNUM(n) ((((WORD)(n) >> 8) \ |
179 | 176 | & (~(BIT0|BIT1|BIT2|BIT3))) >> 4) | |
180 | 177 | ||
181 | // Capability Field bit | 178 | /* Capability Field bit */ |
182 | #define WLAN_GET_CAP_INFO_ESS(n) (((n) >> 8) & BIT0) | 179 | #define WLAN_GET_CAP_INFO_ESS(n) (((n) >> 8) & BIT0) |
183 | #define WLAN_GET_CAP_INFO_IBSS(n) ((((n) >> 8) & BIT1) >> 1) | 180 | #define WLAN_GET_CAP_INFO_IBSS(n) ((((n) >> 8) & BIT1) >> 1) |
184 | #define WLAN_GET_CAP_INFO_CFPOLLABLE(n) ((((n) >> 8) & BIT2) >> 2) | 181 | #define WLAN_GET_CAP_INFO_CFPOLLABLE(n) ((((n) >> 8) & BIT2) >> 2) |
@@ -192,10 +189,9 @@ | |||
192 | #define WLAN_GET_CAP_INFO_DSSSOFDM(n) ((((n)) & BIT13) >> 13) | 189 | #define WLAN_GET_CAP_INFO_DSSSOFDM(n) ((((n)) & BIT13) >> 13) |
193 | #define WLAN_GET_CAP_INFO_GRPACK(n) ((((n)) & BIT14) >> 14) | 190 | #define WLAN_GET_CAP_INFO_GRPACK(n) ((((n)) & BIT14) >> 14) |
194 | 191 | ||
195 | |||
196 | #else | 192 | #else |
197 | 193 | ||
198 | // GET & SET Frame Control bit | 194 | /* GET & SET Frame Control bit */ |
199 | #define WLAN_GET_FC_PRVER(n) (((WORD)(n)) & (BIT0 | BIT1)) | 195 | #define WLAN_GET_FC_PRVER(n) (((WORD)(n)) & (BIT0 | BIT1)) |
200 | #define WLAN_GET_FC_FTYPE(n) ((((WORD)(n)) & (BIT2 | BIT3)) >> 2) | 196 | #define WLAN_GET_FC_FTYPE(n) ((((WORD)(n)) & (BIT2 | BIT3)) >> 2) |
201 | #define WLAN_GET_FC_FSTYPE(n) ((((WORD)(n)) & (BIT4|BIT5|BIT6|BIT7)) >> 4) | 197 | #define WLAN_GET_FC_FSTYPE(n) ((((WORD)(n)) & (BIT4|BIT5|BIT6|BIT7)) >> 4) |
@@ -208,13 +204,11 @@ | |||
208 | #define WLAN_GET_FC_ISWEP(n) ((((WORD)(n)) & (BIT14)) >> 14) | 204 | #define WLAN_GET_FC_ISWEP(n) ((((WORD)(n)) & (BIT14)) >> 14) |
209 | #define WLAN_GET_FC_ORDER(n) ((((WORD)(n)) & (BIT15)) >> 15) | 205 | #define WLAN_GET_FC_ORDER(n) ((((WORD)(n)) & (BIT15)) >> 15) |
210 | 206 | ||
211 | 207 | /* Sequence Field bit */ | |
212 | // Sequence Field bit | ||
213 | #define WLAN_GET_SEQ_FRGNUM(n) (((WORD)(n)) & (BIT0|BIT1|BIT2|BIT3)) | 208 | #define WLAN_GET_SEQ_FRGNUM(n) (((WORD)(n)) & (BIT0|BIT1|BIT2|BIT3)) |
214 | #define WLAN_GET_SEQ_SEQNUM(n) ((((WORD)(n)) & (~(BIT0|BIT1|BIT2|BIT3))) >> 4) | 209 | #define WLAN_GET_SEQ_SEQNUM(n) ((((WORD)(n)) & (~(BIT0|BIT1|BIT2|BIT3))) >> 4) |
215 | 210 | ||
216 | 211 | /* Capability Field bit */ | |
217 | // Capability Field bit | ||
218 | #define WLAN_GET_CAP_INFO_ESS(n) ((n) & BIT0) | 212 | #define WLAN_GET_CAP_INFO_ESS(n) ((n) & BIT0) |
219 | #define WLAN_GET_CAP_INFO_IBSS(n) (((n) & BIT1) >> 1) | 213 | #define WLAN_GET_CAP_INFO_IBSS(n) (((n) & BIT1) >> 1) |
220 | #define WLAN_GET_CAP_INFO_CFPOLLABLE(n) (((n) & BIT2) >> 2) | 214 | #define WLAN_GET_CAP_INFO_CFPOLLABLE(n) (((n) & BIT2) >> 2) |
@@ -228,9 +222,7 @@ | |||
228 | #define WLAN_GET_CAP_INFO_DSSSOFDM(n) (((n) & BIT13) >> 13) | 222 | #define WLAN_GET_CAP_INFO_DSSSOFDM(n) (((n) & BIT13) >> 13) |
229 | #define WLAN_GET_CAP_INFO_GRPACK(n) (((n) & BIT14) >> 14) | 223 | #define WLAN_GET_CAP_INFO_GRPACK(n) (((n) & BIT14) >> 14) |
230 | 224 | ||
231 | 225 | #endif /* #ifdef __BIG_ENDIAN */ | |
232 | #endif //#ifdef __BIG_ENDIAN | ||
233 | |||
234 | 226 | ||
235 | #define WLAN_SET_CAP_INFO_ESS(n) (n) | 227 | #define WLAN_SET_CAP_INFO_ESS(n) (n) |
236 | #define WLAN_SET_CAP_INFO_IBSS(n) ((n) << 1) | 228 | #define WLAN_SET_CAP_INFO_IBSS(n) ((n) << 1) |
@@ -245,7 +237,6 @@ | |||
245 | #define WLAN_SET_CAP_INFO_DSSSOFDM(n) ((n) << 13) | 237 | #define WLAN_SET_CAP_INFO_DSSSOFDM(n) ((n) << 13) |
246 | #define WLAN_SET_CAP_INFO_GRPACK(n) ((n) << 14) | 238 | #define WLAN_SET_CAP_INFO_GRPACK(n) ((n) << 14) |
247 | 239 | ||
248 | |||
249 | #define WLAN_SET_FC_PRVER(n) ((WORD)(n)) | 240 | #define WLAN_SET_FC_PRVER(n) ((WORD)(n)) |
250 | #define WLAN_SET_FC_FTYPE(n) (((WORD)(n)) << 2) | 241 | #define WLAN_SET_FC_FTYPE(n) (((WORD)(n)) << 2) |
251 | #define WLAN_SET_FC_FSTYPE(n) (((WORD)(n)) << 4) | 242 | #define WLAN_SET_FC_FSTYPE(n) (((WORD)(n)) << 4) |
@@ -261,7 +252,7 @@ | |||
261 | #define WLAN_SET_SEQ_FRGNUM(n) ((WORD)(n)) | 252 | #define WLAN_SET_SEQ_FRGNUM(n) ((WORD)(n)) |
262 | #define WLAN_SET_SEQ_SEQNUM(n) (((WORD)(n)) << 4) | 253 | #define WLAN_SET_SEQ_SEQNUM(n) (((WORD)(n)) << 4) |
263 | 254 | ||
264 | // ERP Field bit | 255 | /* ERP Field bit */ |
265 | 256 | ||
266 | #define WLAN_GET_ERP_NONERP_PRESENT(n) ((n) & BIT0) | 257 | #define WLAN_GET_ERP_NONERP_PRESENT(n) ((n) & BIT0) |
267 | #define WLAN_GET_ERP_USE_PROTECTION(n) (((n) & BIT1) >> 1) | 258 | #define WLAN_GET_ERP_USE_PROTECTION(n) (((n) & BIT1) >> 1) |
@@ -271,21 +262,19 @@ | |||
271 | #define WLAN_SET_ERP_USE_PROTECTION(n) ((n) << 1) | 262 | #define WLAN_SET_ERP_USE_PROTECTION(n) ((n) << 1) |
272 | #define WLAN_SET_ERP_BARKER_MODE(n) ((n) << 2) | 263 | #define WLAN_SET_ERP_BARKER_MODE(n) ((n) << 2) |
273 | 264 | ||
274 | 265 | /* Support & Basic Rates field */ | |
275 | |||
276 | // Support & Basic Rates field | ||
277 | #define WLAN_MGMT_IS_BASICRATE(b) ((b) & BIT7) | 266 | #define WLAN_MGMT_IS_BASICRATE(b) ((b) & BIT7) |
278 | #define WLAN_MGMT_GET_RATE(b) ((b) & ~BIT7) | 267 | #define WLAN_MGMT_GET_RATE(b) ((b) & ~BIT7) |
279 | 268 | ||
280 | // TIM field | 269 | /* TIM field */ |
281 | #define WLAN_MGMT_IS_MULTICAST_TIM(b) ((b) & BIT0) | 270 | #define WLAN_MGMT_IS_MULTICAST_TIM(b) ((b) & BIT0) |
282 | #define WLAN_MGMT_GET_TIM_OFFSET(b) (((b) & ~BIT0) >> 1) | 271 | #define WLAN_MGMT_GET_TIM_OFFSET(b) (((b) & ~BIT0) >> 1) |
283 | 272 | ||
284 | // 3-Addr & 4-Addr | 273 | /* 3-Addr & 4-Addr */ |
285 | #define WLAN_HDR_A3_DATA_PTR(p) (((PBYTE)(p)) + WLAN_HDR_ADDR3_LEN) | 274 | #define WLAN_HDR_A3_DATA_PTR(p) (((PBYTE)(p)) + WLAN_HDR_ADDR3_LEN) |
286 | #define WLAN_HDR_A4_DATA_PTR(p) (((PBYTE)(p)) + WLAN_HDR_ADDR4_LEN) | 275 | #define WLAN_HDR_A4_DATA_PTR(p) (((PBYTE)(p)) + WLAN_HDR_ADDR4_LEN) |
287 | 276 | ||
288 | // IEEE ADDR | 277 | /* IEEE ADDR */ |
289 | #define IEEE_ADDR_UNIVERSAL 0x02 | 278 | #define IEEE_ADDR_UNIVERSAL 0x02 |
290 | #define IEEE_ADDR_GROUP 0x01 | 279 | #define IEEE_ADDR_GROUP 0x01 |
291 | 280 | ||
@@ -293,7 +282,7 @@ typedef struct { | |||
293 | BYTE abyAddr[6]; | 282 | BYTE abyAddr[6]; |
294 | } IEEE_ADDR, *PIEEE_ADDR; | 283 | } IEEE_ADDR, *PIEEE_ADDR; |
295 | 284 | ||
296 | // 802.11 Header Format | 285 | /* 802.11 Header Format */ |
297 | 286 | ||
298 | typedef struct tagWLAN_80211HDR_A2 { | 287 | typedef struct tagWLAN_80211HDR_A2 { |
299 | 288 | ||
@@ -302,7 +291,7 @@ typedef struct tagWLAN_80211HDR_A2 { | |||
302 | BYTE abyAddr1[WLAN_ADDR_LEN]; | 291 | BYTE abyAddr1[WLAN_ADDR_LEN]; |
303 | BYTE abyAddr2[WLAN_ADDR_LEN]; | 292 | BYTE abyAddr2[WLAN_ADDR_LEN]; |
304 | 293 | ||
305 | }__attribute__ ((__packed__)) | 294 | } __attribute__ ((__packed__)) |
306 | WLAN_80211HDR_A2, *PWLAN_80211HDR_A2; | 295 | WLAN_80211HDR_A2, *PWLAN_80211HDR_A2; |
307 | 296 | ||
308 | typedef struct tagWLAN_80211HDR_A3 { | 297 | typedef struct tagWLAN_80211HDR_A3 { |
@@ -314,7 +303,7 @@ typedef struct tagWLAN_80211HDR_A3 { | |||
314 | BYTE abyAddr3[WLAN_ADDR_LEN]; | 303 | BYTE abyAddr3[WLAN_ADDR_LEN]; |
315 | WORD wSeqCtl; | 304 | WORD wSeqCtl; |
316 | 305 | ||
317 | }__attribute__ ((__packed__)) | 306 | } __attribute__ ((__packed__)) |
318 | WLAN_80211HDR_A3, *PWLAN_80211HDR_A3; | 307 | WLAN_80211HDR_A3, *PWLAN_80211HDR_A3; |
319 | 308 | ||
320 | typedef struct tagWLAN_80211HDR_A4 { | 309 | typedef struct tagWLAN_80211HDR_A4 { |
@@ -327,10 +316,9 @@ typedef struct tagWLAN_80211HDR_A4 { | |||
327 | WORD wSeqCtl; | 316 | WORD wSeqCtl; |
328 | BYTE abyAddr4[WLAN_ADDR_LEN]; | 317 | BYTE abyAddr4[WLAN_ADDR_LEN]; |
329 | 318 | ||
330 | }__attribute__ ((__packed__)) | 319 | } __attribute__ ((__packed__)) |
331 | WLAN_80211HDR_A4, *PWLAN_80211HDR_A4; | 320 | WLAN_80211HDR_A4, *PWLAN_80211HDR_A4; |
332 | 321 | ||
333 | |||
334 | typedef union tagUWLAN_80211HDR { | 322 | typedef union tagUWLAN_80211HDR { |
335 | 323 | ||
336 | WLAN_80211HDR_A2 sA2; | 324 | WLAN_80211HDR_A2 sA2; |
@@ -339,15 +327,10 @@ typedef union tagUWLAN_80211HDR { | |||
339 | 327 | ||
340 | } UWLAN_80211HDR, *PUWLAN_80211HDR; | 328 | } UWLAN_80211HDR, *PUWLAN_80211HDR; |
341 | 329 | ||
342 | |||
343 | /*--------------------- Export Classes ----------------------------*/ | 330 | /*--------------------- Export Classes ----------------------------*/ |
344 | 331 | ||
345 | /*--------------------- Export Variables --------------------------*/ | 332 | /*--------------------- Export Variables --------------------------*/ |
346 | 333 | ||
347 | /*--------------------- Export Functions --------------------------*/ | 334 | /*--------------------- Export Functions --------------------------*/ |
348 | 335 | ||
349 | 336 | #endif /* __80211HDR_H__ */ | |
350 | |||
351 | #endif // __80211HDR_H__ | ||
352 | |||
353 | |||
diff --git a/drivers/staging/vt6656/80211mgr.c b/drivers/staging/vt6656/80211mgr.c index 8fa1a8e5a21..f24dc55e68f 100644 --- a/drivers/staging/vt6656/80211mgr.c +++ b/drivers/staging/vt6656/80211mgr.c | |||
@@ -89,9 +89,9 @@ static int msglevel =MSG_LEVEL_INFO; | |||
89 | * | 89 | * |
90 | -*/ | 90 | -*/ |
91 | 91 | ||
92 | VOID | 92 | void |
93 | vMgrEncodeBeacon( | 93 | vMgrEncodeBeacon( |
94 | IN PWLAN_FR_BEACON pFrame | 94 | PWLAN_FR_BEACON pFrame |
95 | ) | 95 | ) |
96 | { | 96 | { |
97 | pFrame->pHdr = (PUWLAN_80211HDR)pFrame->pBuf; | 97 | pFrame->pHdr = (PUWLAN_80211HDR)pFrame->pBuf; |
@@ -121,9 +121,9 @@ vMgrEncodeBeacon( | |||
121 | -*/ | 121 | -*/ |
122 | 122 | ||
123 | 123 | ||
124 | VOID | 124 | void |
125 | vMgrDecodeBeacon( | 125 | vMgrDecodeBeacon( |
126 | IN PWLAN_FR_BEACON pFrame | 126 | PWLAN_FR_BEACON pFrame |
127 | ) | 127 | ) |
128 | { | 128 | { |
129 | PWLAN_IE pItem; | 129 | PWLAN_IE pItem; |
@@ -242,9 +242,9 @@ vMgrDecodeBeacon( | |||
242 | -*/ | 242 | -*/ |
243 | 243 | ||
244 | 244 | ||
245 | VOID | 245 | void |
246 | vMgrEncodeIBSSATIM( | 246 | vMgrEncodeIBSSATIM( |
247 | IN PWLAN_FR_IBSSATIM pFrame | 247 | PWLAN_FR_IBSSATIM pFrame |
248 | ) | 248 | ) |
249 | { | 249 | { |
250 | pFrame->pHdr = (PUWLAN_80211HDR)pFrame->pBuf; | 250 | pFrame->pHdr = (PUWLAN_80211HDR)pFrame->pBuf; |
@@ -265,9 +265,9 @@ vMgrEncodeIBSSATIM( | |||
265 | * | 265 | * |
266 | -*/ | 266 | -*/ |
267 | 267 | ||
268 | VOID | 268 | void |
269 | vMgrDecodeIBSSATIM( | 269 | vMgrDecodeIBSSATIM( |
270 | IN PWLAN_FR_IBSSATIM pFrame | 270 | PWLAN_FR_IBSSATIM pFrame |
271 | ) | 271 | ) |
272 | { | 272 | { |
273 | pFrame->pHdr = (PUWLAN_80211HDR)pFrame->pBuf; | 273 | pFrame->pHdr = (PUWLAN_80211HDR)pFrame->pBuf; |
@@ -287,9 +287,9 @@ vMgrDecodeIBSSATIM( | |||
287 | * | 287 | * |
288 | -*/ | 288 | -*/ |
289 | 289 | ||
290 | VOID | 290 | void |
291 | vMgrEncodeDisassociation( | 291 | vMgrEncodeDisassociation( |
292 | IN PWLAN_FR_DISASSOC pFrame | 292 | PWLAN_FR_DISASSOC pFrame |
293 | ) | 293 | ) |
294 | { | 294 | { |
295 | pFrame->pHdr = (PUWLAN_80211HDR)pFrame->pBuf; | 295 | pFrame->pHdr = (PUWLAN_80211HDR)pFrame->pBuf; |
@@ -315,9 +315,9 @@ vMgrEncodeDisassociation( | |||
315 | * | 315 | * |
316 | -*/ | 316 | -*/ |
317 | 317 | ||
318 | VOID | 318 | void |
319 | vMgrDecodeDisassociation( | 319 | vMgrDecodeDisassociation( |
320 | IN PWLAN_FR_DISASSOC pFrame | 320 | PWLAN_FR_DISASSOC pFrame |
321 | ) | 321 | ) |
322 | { | 322 | { |
323 | pFrame->pHdr = (PUWLAN_80211HDR)pFrame->pBuf; | 323 | pFrame->pHdr = (PUWLAN_80211HDR)pFrame->pBuf; |
@@ -341,9 +341,9 @@ vMgrDecodeDisassociation( | |||
341 | -*/ | 341 | -*/ |
342 | 342 | ||
343 | 343 | ||
344 | VOID | 344 | void |
345 | vMgrEncodeAssocRequest( | 345 | vMgrEncodeAssocRequest( |
346 | IN PWLAN_FR_ASSOCREQ pFrame | 346 | PWLAN_FR_ASSOCREQ pFrame |
347 | ) | 347 | ) |
348 | { | 348 | { |
349 | pFrame->pHdr = (PUWLAN_80211HDR)pFrame->pBuf; | 349 | pFrame->pHdr = (PUWLAN_80211HDR)pFrame->pBuf; |
@@ -368,9 +368,9 @@ vMgrEncodeAssocRequest( | |||
368 | * | 368 | * |
369 | -*/ | 369 | -*/ |
370 | 370 | ||
371 | VOID | 371 | void |
372 | vMgrDecodeAssocRequest( | 372 | vMgrDecodeAssocRequest( |
373 | IN PWLAN_FR_ASSOCREQ pFrame | 373 | PWLAN_FR_ASSOCREQ pFrame |
374 | ) | 374 | ) |
375 | { | 375 | { |
376 | PWLAN_IE pItem; | 376 | PWLAN_IE pItem; |
@@ -434,9 +434,9 @@ vMgrDecodeAssocRequest( | |||
434 | * | 434 | * |
435 | -*/ | 435 | -*/ |
436 | 436 | ||
437 | VOID | 437 | void |
438 | vMgrEncodeAssocResponse( | 438 | vMgrEncodeAssocResponse( |
439 | IN PWLAN_FR_ASSOCRESP pFrame | 439 | PWLAN_FR_ASSOCRESP pFrame |
440 | ) | 440 | ) |
441 | { | 441 | { |
442 | pFrame->pHdr = (PUWLAN_80211HDR)pFrame->pBuf; | 442 | pFrame->pHdr = (PUWLAN_80211HDR)pFrame->pBuf; |
@@ -466,9 +466,9 @@ vMgrEncodeAssocResponse( | |||
466 | * | 466 | * |
467 | -*/ | 467 | -*/ |
468 | 468 | ||
469 | VOID | 469 | void |
470 | vMgrDecodeAssocResponse( | 470 | vMgrDecodeAssocResponse( |
471 | IN PWLAN_FR_ASSOCRESP pFrame | 471 | PWLAN_FR_ASSOCRESP pFrame |
472 | ) | 472 | ) |
473 | { | 473 | { |
474 | PWLAN_IE pItem; | 474 | PWLAN_IE pItem; |
@@ -512,9 +512,9 @@ vMgrDecodeAssocResponse( | |||
512 | * | 512 | * |
513 | -*/ | 513 | -*/ |
514 | 514 | ||
515 | VOID | 515 | void |
516 | vMgrEncodeReassocRequest( | 516 | vMgrEncodeReassocRequest( |
517 | IN PWLAN_FR_REASSOCREQ pFrame | 517 | PWLAN_FR_REASSOCREQ pFrame |
518 | ) | 518 | ) |
519 | { | 519 | { |
520 | pFrame->pHdr = (PUWLAN_80211HDR)pFrame->pBuf; | 520 | pFrame->pHdr = (PUWLAN_80211HDR)pFrame->pBuf; |
@@ -544,9 +544,9 @@ vMgrEncodeReassocRequest( | |||
544 | -*/ | 544 | -*/ |
545 | 545 | ||
546 | 546 | ||
547 | VOID | 547 | void |
548 | vMgrDecodeReassocRequest( | 548 | vMgrDecodeReassocRequest( |
549 | IN PWLAN_FR_REASSOCREQ pFrame | 549 | PWLAN_FR_REASSOCREQ pFrame |
550 | ) | 550 | ) |
551 | { | 551 | { |
552 | PWLAN_IE pItem; | 552 | PWLAN_IE pItem; |
@@ -616,9 +616,9 @@ vMgrDecodeReassocRequest( | |||
616 | -*/ | 616 | -*/ |
617 | 617 | ||
618 | 618 | ||
619 | VOID | 619 | void |
620 | vMgrEncodeProbeRequest( | 620 | vMgrEncodeProbeRequest( |
621 | IN PWLAN_FR_PROBEREQ pFrame | 621 | PWLAN_FR_PROBEREQ pFrame |
622 | ) | 622 | ) |
623 | { | 623 | { |
624 | pFrame->pHdr = (PUWLAN_80211HDR)pFrame->pBuf; | 624 | pFrame->pHdr = (PUWLAN_80211HDR)pFrame->pBuf; |
@@ -637,9 +637,9 @@ vMgrEncodeProbeRequest( | |||
637 | * | 637 | * |
638 | -*/ | 638 | -*/ |
639 | 639 | ||
640 | VOID | 640 | void |
641 | vMgrDecodeProbeRequest( | 641 | vMgrDecodeProbeRequest( |
642 | IN PWLAN_FR_PROBEREQ pFrame | 642 | PWLAN_FR_PROBEREQ pFrame |
643 | ) | 643 | ) |
644 | { | 644 | { |
645 | PWLAN_IE pItem; | 645 | PWLAN_IE pItem; |
@@ -690,9 +690,9 @@ vMgrDecodeProbeRequest( | |||
690 | -*/ | 690 | -*/ |
691 | 691 | ||
692 | 692 | ||
693 | VOID | 693 | void |
694 | vMgrEncodeProbeResponse( | 694 | vMgrEncodeProbeResponse( |
695 | IN PWLAN_FR_PROBERESP pFrame | 695 | PWLAN_FR_PROBERESP pFrame |
696 | ) | 696 | ) |
697 | { | 697 | { |
698 | pFrame->pHdr = (PUWLAN_80211HDR)pFrame->pBuf; | 698 | pFrame->pHdr = (PUWLAN_80211HDR)pFrame->pBuf; |
@@ -724,9 +724,9 @@ vMgrEncodeProbeResponse( | |||
724 | * | 724 | * |
725 | -*/ | 725 | -*/ |
726 | 726 | ||
727 | VOID | 727 | void |
728 | vMgrDecodeProbeResponse( | 728 | vMgrDecodeProbeResponse( |
729 | IN PWLAN_FR_PROBERESP pFrame | 729 | PWLAN_FR_PROBERESP pFrame |
730 | ) | 730 | ) |
731 | { | 731 | { |
732 | PWLAN_IE pItem; | 732 | PWLAN_IE pItem; |
@@ -838,9 +838,9 @@ vMgrDecodeProbeResponse( | |||
838 | * | 838 | * |
839 | -*/ | 839 | -*/ |
840 | 840 | ||
841 | VOID | 841 | void |
842 | vMgrEncodeAuthen( | 842 | vMgrEncodeAuthen( |
843 | IN PWLAN_FR_AUTHEN pFrame | 843 | PWLAN_FR_AUTHEN pFrame |
844 | ) | 844 | ) |
845 | { | 845 | { |
846 | pFrame->pHdr = (PUWLAN_80211HDR)pFrame->pBuf; | 846 | pFrame->pHdr = (PUWLAN_80211HDR)pFrame->pBuf; |
@@ -869,9 +869,9 @@ vMgrEncodeAuthen( | |||
869 | * | 869 | * |
870 | -*/ | 870 | -*/ |
871 | 871 | ||
872 | VOID | 872 | void |
873 | vMgrDecodeAuthen( | 873 | vMgrDecodeAuthen( |
874 | IN PWLAN_FR_AUTHEN pFrame | 874 | PWLAN_FR_AUTHEN pFrame |
875 | ) | 875 | ) |
876 | { | 876 | { |
877 | PWLAN_IE pItem; | 877 | PWLAN_IE pItem; |
@@ -909,9 +909,9 @@ vMgrDecodeAuthen( | |||
909 | * | 909 | * |
910 | -*/ | 910 | -*/ |
911 | 911 | ||
912 | VOID | 912 | void |
913 | vMgrEncodeDeauthen( | 913 | vMgrEncodeDeauthen( |
914 | IN PWLAN_FR_DEAUTHEN pFrame | 914 | PWLAN_FR_DEAUTHEN pFrame |
915 | ) | 915 | ) |
916 | { | 916 | { |
917 | pFrame->pHdr = (PUWLAN_80211HDR)pFrame->pBuf; | 917 | pFrame->pHdr = (PUWLAN_80211HDR)pFrame->pBuf; |
@@ -936,9 +936,9 @@ vMgrEncodeDeauthen( | |||
936 | * | 936 | * |
937 | -*/ | 937 | -*/ |
938 | 938 | ||
939 | VOID | 939 | void |
940 | vMgrDecodeDeauthen( | 940 | vMgrDecodeDeauthen( |
941 | IN PWLAN_FR_DEAUTHEN pFrame | 941 | PWLAN_FR_DEAUTHEN pFrame |
942 | ) | 942 | ) |
943 | { | 943 | { |
944 | pFrame->pHdr = (PUWLAN_80211HDR)pFrame->pBuf; | 944 | pFrame->pHdr = (PUWLAN_80211HDR)pFrame->pBuf; |
@@ -962,9 +962,9 @@ vMgrDecodeDeauthen( | |||
962 | * | 962 | * |
963 | -*/ | 963 | -*/ |
964 | 964 | ||
965 | VOID | 965 | void |
966 | vMgrEncodeReassocResponse( | 966 | vMgrEncodeReassocResponse( |
967 | IN PWLAN_FR_REASSOCRESP pFrame | 967 | PWLAN_FR_REASSOCRESP pFrame |
968 | ) | 968 | ) |
969 | { | 969 | { |
970 | pFrame->pHdr = (PUWLAN_80211HDR)pFrame->pBuf; | 970 | pFrame->pHdr = (PUWLAN_80211HDR)pFrame->pBuf; |
@@ -995,9 +995,9 @@ vMgrEncodeReassocResponse( | |||
995 | -*/ | 995 | -*/ |
996 | 996 | ||
997 | 997 | ||
998 | VOID | 998 | void |
999 | vMgrDecodeReassocResponse( | 999 | vMgrDecodeReassocResponse( |
1000 | IN PWLAN_FR_REASSOCRESP pFrame | 1000 | PWLAN_FR_REASSOCRESP pFrame |
1001 | ) | 1001 | ) |
1002 | { | 1002 | { |
1003 | PWLAN_IE pItem; | 1003 | PWLAN_IE pItem; |
diff --git a/drivers/staging/vt6656/80211mgr.h b/drivers/staging/vt6656/80211mgr.h index a4ea8249216..c140a957d9d 100644 --- a/drivers/staging/vt6656/80211mgr.h +++ b/drivers/staging/vt6656/80211mgr.h | |||
@@ -524,8 +524,8 @@ typedef struct _WLAN_IE_IBSS_DFS { | |||
524 | // prototype structure, all mgmt frame types will start with these members | 524 | // prototype structure, all mgmt frame types will start with these members |
525 | typedef struct tagWLAN_FR_MGMT { | 525 | typedef struct tagWLAN_FR_MGMT { |
526 | 526 | ||
527 | UINT uType; | 527 | unsigned int uType; |
528 | UINT len; | 528 | unsigned int len; |
529 | PBYTE pBuf; | 529 | PBYTE pBuf; |
530 | PUWLAN_80211HDR pHdr; | 530 | PUWLAN_80211HDR pHdr; |
531 | 531 | ||
@@ -534,8 +534,8 @@ typedef struct tagWLAN_FR_MGMT { | |||
534 | // Beacon frame | 534 | // Beacon frame |
535 | typedef struct tagWLAN_FR_BEACON { | 535 | typedef struct tagWLAN_FR_BEACON { |
536 | 536 | ||
537 | UINT uType; | 537 | unsigned int uType; |
538 | UINT len; | 538 | unsigned int len; |
539 | PBYTE pBuf; | 539 | PBYTE pBuf; |
540 | PUWLAN_80211HDR pHdr; | 540 | PUWLAN_80211HDR pHdr; |
541 | // fixed fields | 541 | // fixed fields |
@@ -566,8 +566,8 @@ typedef struct tagWLAN_FR_BEACON { | |||
566 | // IBSS ATIM frame | 566 | // IBSS ATIM frame |
567 | typedef struct tagWLAN_FR_IBSSATIM { | 567 | typedef struct tagWLAN_FR_IBSSATIM { |
568 | 568 | ||
569 | UINT uType; | 569 | unsigned int uType; |
570 | UINT len; | 570 | unsigned int len; |
571 | PBYTE pBuf; | 571 | PBYTE pBuf; |
572 | PUWLAN_80211HDR pHdr; | 572 | PUWLAN_80211HDR pHdr; |
573 | 573 | ||
@@ -580,8 +580,8 @@ typedef struct tagWLAN_FR_IBSSATIM { | |||
580 | // Disassociation | 580 | // Disassociation |
581 | typedef struct tagWLAN_FR_DISASSOC { | 581 | typedef struct tagWLAN_FR_DISASSOC { |
582 | 582 | ||
583 | UINT uType; | 583 | unsigned int uType; |
584 | UINT len; | 584 | unsigned int len; |
585 | PBYTE pBuf; | 585 | PBYTE pBuf; |
586 | PUWLAN_80211HDR pHdr; | 586 | PUWLAN_80211HDR pHdr; |
587 | /*-- fixed fields -----------*/ | 587 | /*-- fixed fields -----------*/ |
@@ -593,8 +593,8 @@ typedef struct tagWLAN_FR_DISASSOC { | |||
593 | // Association Request | 593 | // Association Request |
594 | typedef struct tagWLAN_FR_ASSOCREQ { | 594 | typedef struct tagWLAN_FR_ASSOCREQ { |
595 | 595 | ||
596 | UINT uType; | 596 | unsigned int uType; |
597 | UINT len; | 597 | unsigned int len; |
598 | PBYTE pBuf; | 598 | PBYTE pBuf; |
599 | PUWLAN_80211HDR pHdr; | 599 | PUWLAN_80211HDR pHdr; |
600 | /*-- fixed fields -----------*/ | 600 | /*-- fixed fields -----------*/ |
@@ -617,8 +617,8 @@ typedef struct tagWLAN_FR_ASSOCREQ { | |||
617 | // Association Response | 617 | // Association Response |
618 | typedef struct tagWLAN_FR_ASSOCRESP { | 618 | typedef struct tagWLAN_FR_ASSOCRESP { |
619 | 619 | ||
620 | UINT uType; | 620 | unsigned int uType; |
621 | UINT len; | 621 | unsigned int len; |
622 | PBYTE pBuf; | 622 | PBYTE pBuf; |
623 | PUWLAN_80211HDR pHdr; | 623 | PUWLAN_80211HDR pHdr; |
624 | /*-- fixed fields -----------*/ | 624 | /*-- fixed fields -----------*/ |
@@ -634,8 +634,8 @@ typedef struct tagWLAN_FR_ASSOCRESP { | |||
634 | // Reassociation Request | 634 | // Reassociation Request |
635 | typedef struct tagWLAN_FR_REASSOCREQ { | 635 | typedef struct tagWLAN_FR_REASSOCREQ { |
636 | 636 | ||
637 | UINT uType; | 637 | unsigned int uType; |
638 | UINT len; | 638 | unsigned int len; |
639 | PBYTE pBuf; | 639 | PBYTE pBuf; |
640 | PUWLAN_80211HDR pHdr; | 640 | PUWLAN_80211HDR pHdr; |
641 | 641 | ||
@@ -659,8 +659,8 @@ typedef struct tagWLAN_FR_REASSOCREQ { | |||
659 | // Reassociation Response | 659 | // Reassociation Response |
660 | typedef struct tagWLAN_FR_REASSOCRESP { | 660 | typedef struct tagWLAN_FR_REASSOCRESP { |
661 | 661 | ||
662 | UINT uType; | 662 | unsigned int uType; |
663 | UINT len; | 663 | unsigned int len; |
664 | PBYTE pBuf; | 664 | PBYTE pBuf; |
665 | PUWLAN_80211HDR pHdr; | 665 | PUWLAN_80211HDR pHdr; |
666 | /*-- fixed fields -----------*/ | 666 | /*-- fixed fields -----------*/ |
@@ -676,8 +676,8 @@ typedef struct tagWLAN_FR_REASSOCRESP { | |||
676 | // Probe Request | 676 | // Probe Request |
677 | typedef struct tagWLAN_FR_PROBEREQ { | 677 | typedef struct tagWLAN_FR_PROBEREQ { |
678 | 678 | ||
679 | UINT uType; | 679 | unsigned int uType; |
680 | UINT len; | 680 | unsigned int len; |
681 | PBYTE pBuf; | 681 | PBYTE pBuf; |
682 | PUWLAN_80211HDR pHdr; | 682 | PUWLAN_80211HDR pHdr; |
683 | /*-- fixed fields -----------*/ | 683 | /*-- fixed fields -----------*/ |
@@ -691,8 +691,8 @@ typedef struct tagWLAN_FR_PROBEREQ { | |||
691 | // Probe Response | 691 | // Probe Response |
692 | typedef struct tagWLAN_FR_PROBERESP { | 692 | typedef struct tagWLAN_FR_PROBERESP { |
693 | 693 | ||
694 | UINT uType; | 694 | unsigned int uType; |
695 | UINT len; | 695 | unsigned int len; |
696 | PBYTE pBuf; | 696 | PBYTE pBuf; |
697 | PUWLAN_80211HDR pHdr; | 697 | PUWLAN_80211HDR pHdr; |
698 | /*-- fixed fields -----------*/ | 698 | /*-- fixed fields -----------*/ |
@@ -720,8 +720,8 @@ typedef struct tagWLAN_FR_PROBERESP { | |||
720 | // Authentication | 720 | // Authentication |
721 | typedef struct tagWLAN_FR_AUTHEN { | 721 | typedef struct tagWLAN_FR_AUTHEN { |
722 | 722 | ||
723 | UINT uType; | 723 | unsigned int uType; |
724 | UINT len; | 724 | unsigned int len; |
725 | PBYTE pBuf; | 725 | PBYTE pBuf; |
726 | PUWLAN_80211HDR pHdr; | 726 | PUWLAN_80211HDR pHdr; |
727 | /*-- fixed fields -----------*/ | 727 | /*-- fixed fields -----------*/ |
@@ -736,8 +736,8 @@ typedef struct tagWLAN_FR_AUTHEN { | |||
736 | // Deauthenication | 736 | // Deauthenication |
737 | typedef struct tagWLAN_FR_DEAUTHEN { | 737 | typedef struct tagWLAN_FR_DEAUTHEN { |
738 | 738 | ||
739 | UINT uType; | 739 | unsigned int uType; |
740 | UINT len; | 740 | unsigned int len; |
741 | PBYTE pBuf; | 741 | PBYTE pBuf; |
742 | PUWLAN_80211HDR pHdr; | 742 | PUWLAN_80211HDR pHdr; |
743 | /*-- fixed fields -----------*/ | 743 | /*-- fixed fields -----------*/ |
@@ -748,114 +748,114 @@ typedef struct tagWLAN_FR_DEAUTHEN { | |||
748 | } WLAN_FR_DEAUTHEN, *PWLAN_FR_DEAUTHEN; | 748 | } WLAN_FR_DEAUTHEN, *PWLAN_FR_DEAUTHEN; |
749 | 749 | ||
750 | /*--------------------- Export Functions --------------------------*/ | 750 | /*--------------------- Export Functions --------------------------*/ |
751 | VOID | 751 | void |
752 | vMgrEncodeBeacon( | 752 | vMgrEncodeBeacon( |
753 | IN PWLAN_FR_BEACON pFrame | 753 | PWLAN_FR_BEACON pFrame |
754 | ); | 754 | ); |
755 | 755 | ||
756 | VOID | 756 | void |
757 | vMgrDecodeBeacon( | 757 | vMgrDecodeBeacon( |
758 | IN PWLAN_FR_BEACON pFrame | 758 | PWLAN_FR_BEACON pFrame |
759 | ); | 759 | ); |
760 | 760 | ||
761 | VOID | 761 | void |
762 | vMgrEncodeIBSSATIM( | 762 | vMgrEncodeIBSSATIM( |
763 | IN PWLAN_FR_IBSSATIM pFrame | 763 | PWLAN_FR_IBSSATIM pFrame |
764 | ); | 764 | ); |
765 | 765 | ||
766 | VOID | 766 | void |
767 | vMgrDecodeIBSSATIM( | 767 | vMgrDecodeIBSSATIM( |
768 | IN PWLAN_FR_IBSSATIM pFrame | 768 | PWLAN_FR_IBSSATIM pFrame |
769 | ); | 769 | ); |
770 | 770 | ||
771 | VOID | 771 | void |
772 | vMgrEncodeDisassociation( | 772 | vMgrEncodeDisassociation( |
773 | IN PWLAN_FR_DISASSOC pFrame | 773 | PWLAN_FR_DISASSOC pFrame |
774 | ); | 774 | ); |
775 | 775 | ||
776 | VOID | 776 | void |
777 | vMgrDecodeDisassociation( | 777 | vMgrDecodeDisassociation( |
778 | IN PWLAN_FR_DISASSOC pFrame | 778 | PWLAN_FR_DISASSOC pFrame |
779 | ); | 779 | ); |
780 | 780 | ||
781 | VOID | 781 | void |
782 | vMgrEncodeAssocRequest( | 782 | vMgrEncodeAssocRequest( |
783 | IN PWLAN_FR_ASSOCREQ pFrame | 783 | PWLAN_FR_ASSOCREQ pFrame |
784 | ); | 784 | ); |
785 | 785 | ||
786 | VOID | 786 | void |
787 | vMgrDecodeAssocRequest( | 787 | vMgrDecodeAssocRequest( |
788 | IN PWLAN_FR_ASSOCREQ pFrame | 788 | PWLAN_FR_ASSOCREQ pFrame |
789 | ); | 789 | ); |
790 | 790 | ||
791 | VOID | 791 | void |
792 | vMgrEncodeAssocResponse( | 792 | vMgrEncodeAssocResponse( |
793 | IN PWLAN_FR_ASSOCRESP pFrame | 793 | PWLAN_FR_ASSOCRESP pFrame |
794 | ); | 794 | ); |
795 | 795 | ||
796 | VOID | 796 | void |
797 | vMgrDecodeAssocResponse( | 797 | vMgrDecodeAssocResponse( |
798 | IN PWLAN_FR_ASSOCRESP pFrame | 798 | PWLAN_FR_ASSOCRESP pFrame |
799 | ); | 799 | ); |
800 | 800 | ||
801 | VOID | 801 | void |
802 | vMgrEncodeReassocRequest( | 802 | vMgrEncodeReassocRequest( |
803 | IN PWLAN_FR_REASSOCREQ pFrame | 803 | PWLAN_FR_REASSOCREQ pFrame |
804 | ); | 804 | ); |
805 | 805 | ||
806 | VOID | 806 | void |
807 | vMgrDecodeReassocRequest( | 807 | vMgrDecodeReassocRequest( |
808 | IN PWLAN_FR_REASSOCREQ pFrame | 808 | PWLAN_FR_REASSOCREQ pFrame |
809 | ); | 809 | ); |
810 | 810 | ||
811 | VOID | 811 | void |
812 | vMgrEncodeProbeRequest( | 812 | vMgrEncodeProbeRequest( |
813 | IN PWLAN_FR_PROBEREQ pFrame | 813 | PWLAN_FR_PROBEREQ pFrame |
814 | ); | 814 | ); |
815 | 815 | ||
816 | VOID | 816 | void |
817 | vMgrDecodeProbeRequest( | 817 | vMgrDecodeProbeRequest( |
818 | IN PWLAN_FR_PROBEREQ pFrame | 818 | PWLAN_FR_PROBEREQ pFrame |
819 | ); | 819 | ); |
820 | 820 | ||
821 | VOID | 821 | void |
822 | vMgrEncodeProbeResponse( | 822 | vMgrEncodeProbeResponse( |
823 | IN PWLAN_FR_PROBERESP pFrame | 823 | PWLAN_FR_PROBERESP pFrame |
824 | ); | 824 | ); |
825 | 825 | ||
826 | VOID | 826 | void |
827 | vMgrDecodeProbeResponse( | 827 | vMgrDecodeProbeResponse( |
828 | IN PWLAN_FR_PROBERESP pFrame | 828 | PWLAN_FR_PROBERESP pFrame |
829 | ); | 829 | ); |
830 | 830 | ||
831 | VOID | 831 | void |
832 | vMgrEncodeAuthen( | 832 | vMgrEncodeAuthen( |
833 | IN PWLAN_FR_AUTHEN pFrame | 833 | PWLAN_FR_AUTHEN pFrame |
834 | ); | 834 | ); |
835 | 835 | ||
836 | VOID | 836 | void |
837 | vMgrDecodeAuthen( | 837 | vMgrDecodeAuthen( |
838 | IN PWLAN_FR_AUTHEN pFrame | 838 | PWLAN_FR_AUTHEN pFrame |
839 | ); | 839 | ); |
840 | 840 | ||
841 | VOID | 841 | void |
842 | vMgrEncodeDeauthen( | 842 | vMgrEncodeDeauthen( |
843 | IN PWLAN_FR_DEAUTHEN pFrame | 843 | PWLAN_FR_DEAUTHEN pFrame |
844 | ); | 844 | ); |
845 | 845 | ||
846 | VOID | 846 | void |
847 | vMgrDecodeDeauthen( | 847 | vMgrDecodeDeauthen( |
848 | IN PWLAN_FR_DEAUTHEN pFrame | 848 | PWLAN_FR_DEAUTHEN pFrame |
849 | ); | 849 | ); |
850 | 850 | ||
851 | VOID | 851 | void |
852 | vMgrEncodeReassocResponse( | 852 | vMgrEncodeReassocResponse( |
853 | IN PWLAN_FR_REASSOCRESP pFrame | 853 | PWLAN_FR_REASSOCRESP pFrame |
854 | ); | 854 | ); |
855 | 855 | ||
856 | VOID | 856 | void |
857 | vMgrDecodeReassocResponse( | 857 | vMgrDecodeReassocResponse( |
858 | IN PWLAN_FR_REASSOCRESP pFrame | 858 | PWLAN_FR_REASSOCRESP pFrame |
859 | ); | 859 | ); |
860 | 860 | ||
861 | #endif// __80211MGR_H__ | 861 | #endif// __80211MGR_H__ |
diff --git a/drivers/staging/vt6656/aes_ccmp.c b/drivers/staging/vt6656/aes_ccmp.c index 401a7d267c9..b3d367b9bdc 100644 --- a/drivers/staging/vt6656/aes_ccmp.c +++ b/drivers/staging/vt6656/aes_ccmp.c | |||
@@ -16,7 +16,6 @@ | |||
16 | * with this program; if not, write to the Free Software Foundation, Inc., | 16 | * with this program; if not, write to the Free Software Foundation, Inc., |
17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. | 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. |
18 | * | 18 | * |
19 | * | ||
20 | * File: aes_ccmp.c | 19 | * File: aes_ccmp.c |
21 | * | 20 | * |
22 | * Purpose: AES_CCMP decryption | 21 | * Purpose: AES_CCMP decryption |
@@ -28,9 +27,7 @@ | |||
28 | * Functions: | 27 | * Functions: |
29 | * AESbGenCCMP - Parsing RX-packet | 28 | * AESbGenCCMP - Parsing RX-packet |
30 | * | 29 | * |
31 | * | ||
32 | * Revision History: | 30 | * Revision History: |
33 | * | ||
34 | */ | 31 | */ |
35 | 32 | ||
36 | #include "device.h" | 33 | #include "device.h" |
@@ -46,62 +43,61 @@ | |||
46 | * SBOX Table | 43 | * SBOX Table |
47 | */ | 44 | */ |
48 | 45 | ||
49 | BYTE sbox_table[256] = | 46 | BYTE sbox_table[256] = { |
50 | { | 47 | 0x63, 0x7c, 0x77, 0x7b, 0xf2, 0x6b, 0x6f, 0xc5, 0x30, 0x01, 0x67, 0x2b, 0xfe, 0xd7, 0xab, 0x76, |
51 | 0x63, 0x7c, 0x77, 0x7b, 0xf2, 0x6b, 0x6f, 0xc5, 0x30, 0x01, 0x67, 0x2b, 0xfe, 0xd7, 0xab, 0x76, | 48 | 0xca, 0x82, 0xc9, 0x7d, 0xfa, 0x59, 0x47, 0xf0, 0xad, 0xd4, 0xa2, 0xaf, 0x9c, 0xa4, 0x72, 0xc0, |
52 | 0xca, 0x82, 0xc9, 0x7d, 0xfa, 0x59, 0x47, 0xf0, 0xad, 0xd4, 0xa2, 0xaf, 0x9c, 0xa4, 0x72, 0xc0, | 49 | 0xb7, 0xfd, 0x93, 0x26, 0x36, 0x3f, 0xf7, 0xcc, 0x34, 0xa5, 0xe5, 0xf1, 0x71, 0xd8, 0x31, 0x15, |
53 | 0xb7, 0xfd, 0x93, 0x26, 0x36, 0x3f, 0xf7, 0xcc, 0x34, 0xa5, 0xe5, 0xf1, 0x71, 0xd8, 0x31, 0x15, | 50 | 0x04, 0xc7, 0x23, 0xc3, 0x18, 0x96, 0x05, 0x9a, 0x07, 0x12, 0x80, 0xe2, 0xeb, 0x27, 0xb2, 0x75, |
54 | 0x04, 0xc7, 0x23, 0xc3, 0x18, 0x96, 0x05, 0x9a, 0x07, 0x12, 0x80, 0xe2, 0xeb, 0x27, 0xb2, 0x75, | 51 | 0x09, 0x83, 0x2c, 0x1a, 0x1b, 0x6e, 0x5a, 0xa0, 0x52, 0x3b, 0xd6, 0xb3, 0x29, 0xe3, 0x2f, 0x84, |
55 | 0x09, 0x83, 0x2c, 0x1a, 0x1b, 0x6e, 0x5a, 0xa0, 0x52, 0x3b, 0xd6, 0xb3, 0x29, 0xe3, 0x2f, 0x84, | 52 | 0x53, 0xd1, 0x00, 0xed, 0x20, 0xfc, 0xb1, 0x5b, 0x6a, 0xcb, 0xbe, 0x39, 0x4a, 0x4c, 0x58, 0xcf, |
56 | 0x53, 0xd1, 0x00, 0xed, 0x20, 0xfc, 0xb1, 0x5b, 0x6a, 0xcb, 0xbe, 0x39, 0x4a, 0x4c, 0x58, 0xcf, | 53 | 0xd0, 0xef, 0xaa, 0xfb, 0x43, 0x4d, 0x33, 0x85, 0x45, 0xf9, 0x02, 0x7f, 0x50, 0x3c, 0x9f, 0xa8, |
57 | 0xd0, 0xef, 0xaa, 0xfb, 0x43, 0x4d, 0x33, 0x85, 0x45, 0xf9, 0x02, 0x7f, 0x50, 0x3c, 0x9f, 0xa8, | 54 | 0x51, 0xa3, 0x40, 0x8f, 0x92, 0x9d, 0x38, 0xf5, 0xbc, 0xb6, 0xda, 0x21, 0x10, 0xff, 0xf3, 0xd2, |
58 | 0x51, 0xa3, 0x40, 0x8f, 0x92, 0x9d, 0x38, 0xf5, 0xbc, 0xb6, 0xda, 0x21, 0x10, 0xff, 0xf3, 0xd2, | 55 | 0xcd, 0x0c, 0x13, 0xec, 0x5f, 0x97, 0x44, 0x17, 0xc4, 0xa7, 0x7e, 0x3d, 0x64, 0x5d, 0x19, 0x73, |
59 | 0xcd, 0x0c, 0x13, 0xec, 0x5f, 0x97, 0x44, 0x17, 0xc4, 0xa7, 0x7e, 0x3d, 0x64, 0x5d, 0x19, 0x73, | 56 | 0x60, 0x81, 0x4f, 0xdc, 0x22, 0x2a, 0x90, 0x88, 0x46, 0xee, 0xb8, 0x14, 0xde, 0x5e, 0x0b, 0xdb, |
60 | 0x60, 0x81, 0x4f, 0xdc, 0x22, 0x2a, 0x90, 0x88, 0x46, 0xee, 0xb8, 0x14, 0xde, 0x5e, 0x0b, 0xdb, | 57 | 0xe0, 0x32, 0x3a, 0x0a, 0x49, 0x06, 0x24, 0x5c, 0xc2, 0xd3, 0xac, 0x62, 0x91, 0x95, 0xe4, 0x79, |
61 | 0xe0, 0x32, 0x3a, 0x0a, 0x49, 0x06, 0x24, 0x5c, 0xc2, 0xd3, 0xac, 0x62, 0x91, 0x95, 0xe4, 0x79, | 58 | 0xe7, 0xc8, 0x37, 0x6d, 0x8d, 0xd5, 0x4e, 0xa9, 0x6c, 0x56, 0xf4, 0xea, 0x65, 0x7a, 0xae, 0x08, |
62 | 0xe7, 0xc8, 0x37, 0x6d, 0x8d, 0xd5, 0x4e, 0xa9, 0x6c, 0x56, 0xf4, 0xea, 0x65, 0x7a, 0xae, 0x08, | 59 | 0xba, 0x78, 0x25, 0x2e, 0x1c, 0xa6, 0xb4, 0xc6, 0xe8, 0xdd, 0x74, 0x1f, 0x4b, 0xbd, 0x8b, 0x8a, |
63 | 0xba, 0x78, 0x25, 0x2e, 0x1c, 0xa6, 0xb4, 0xc6, 0xe8, 0xdd, 0x74, 0x1f, 0x4b, 0xbd, 0x8b, 0x8a, | 60 | 0x70, 0x3e, 0xb5, 0x66, 0x48, 0x03, 0xf6, 0x0e, 0x61, 0x35, 0x57, 0xb9, 0x86, 0xc1, 0x1d, 0x9e, |
64 | 0x70, 0x3e, 0xb5, 0x66, 0x48, 0x03, 0xf6, 0x0e, 0x61, 0x35, 0x57, 0xb9, 0x86, 0xc1, 0x1d, 0x9e, | 61 | 0xe1, 0xf8, 0x98, 0x11, 0x69, 0xd9, 0x8e, 0x94, 0x9b, 0x1e, 0x87, 0xe9, 0xce, 0x55, 0x28, 0xdf, |
65 | 0xe1, 0xf8, 0x98, 0x11, 0x69, 0xd9, 0x8e, 0x94, 0x9b, 0x1e, 0x87, 0xe9, 0xce, 0x55, 0x28, 0xdf, | 62 | 0x8c, 0xa1, 0x89, 0x0d, 0xbf, 0xe6, 0x42, 0x68, 0x41, 0x99, 0x2d, 0x0f, 0xb0, 0x54, 0xbb, 0x16 |
66 | 0x8c, 0xa1, 0x89, 0x0d, 0xbf, 0xe6, 0x42, 0x68, 0x41, 0x99, 0x2d, 0x0f, 0xb0, 0x54, 0xbb, 0x16 | ||
67 | }; | 63 | }; |
68 | 64 | ||
69 | BYTE dot2_table[256] = { | 65 | BYTE dot2_table[256] = { |
70 | 0x00, 0x02, 0x04, 0x06, 0x08, 0x0a, 0x0c, 0x0e, 0x10, 0x12, 0x14, 0x16, 0x18, 0x1a, 0x1c, 0x1e, | 66 | 0x00, 0x02, 0x04, 0x06, 0x08, 0x0a, 0x0c, 0x0e, 0x10, 0x12, 0x14, 0x16, 0x18, 0x1a, 0x1c, 0x1e, |
71 | 0x20, 0x22, 0x24, 0x26, 0x28, 0x2a, 0x2c, 0x2e, 0x30, 0x32, 0x34, 0x36, 0x38, 0x3a, 0x3c, 0x3e, | 67 | 0x20, 0x22, 0x24, 0x26, 0x28, 0x2a, 0x2c, 0x2e, 0x30, 0x32, 0x34, 0x36, 0x38, 0x3a, 0x3c, 0x3e, |
72 | 0x40, 0x42, 0x44, 0x46, 0x48, 0x4a, 0x4c, 0x4e, 0x50, 0x52, 0x54, 0x56, 0x58, 0x5a, 0x5c, 0x5e, | 68 | 0x40, 0x42, 0x44, 0x46, 0x48, 0x4a, 0x4c, 0x4e, 0x50, 0x52, 0x54, 0x56, 0x58, 0x5a, 0x5c, 0x5e, |
73 | 0x60, 0x62, 0x64, 0x66, 0x68, 0x6a, 0x6c, 0x6e, 0x70, 0x72, 0x74, 0x76, 0x78, 0x7a, 0x7c, 0x7e, | 69 | 0x60, 0x62, 0x64, 0x66, 0x68, 0x6a, 0x6c, 0x6e, 0x70, 0x72, 0x74, 0x76, 0x78, 0x7a, 0x7c, 0x7e, |
74 | 0x80, 0x82, 0x84, 0x86, 0x88, 0x8a, 0x8c, 0x8e, 0x90, 0x92, 0x94, 0x96, 0x98, 0x9a, 0x9c, 0x9e, | 70 | 0x80, 0x82, 0x84, 0x86, 0x88, 0x8a, 0x8c, 0x8e, 0x90, 0x92, 0x94, 0x96, 0x98, 0x9a, 0x9c, 0x9e, |
75 | 0xa0, 0xa2, 0xa4, 0xa6, 0xa8, 0xaa, 0xac, 0xae, 0xb0, 0xb2, 0xb4, 0xb6, 0xb8, 0xba, 0xbc, 0xbe, | 71 | 0xa0, 0xa2, 0xa4, 0xa6, 0xa8, 0xaa, 0xac, 0xae, 0xb0, 0xb2, 0xb4, 0xb6, 0xb8, 0xba, 0xbc, 0xbe, |
76 | 0xc0, 0xc2, 0xc4, 0xc6, 0xc8, 0xca, 0xcc, 0xce, 0xd0, 0xd2, 0xd4, 0xd6, 0xd8, 0xda, 0xdc, 0xde, | 72 | 0xc0, 0xc2, 0xc4, 0xc6, 0xc8, 0xca, 0xcc, 0xce, 0xd0, 0xd2, 0xd4, 0xd6, 0xd8, 0xda, 0xdc, 0xde, |
77 | 0xe0, 0xe2, 0xe4, 0xe6, 0xe8, 0xea, 0xec, 0xee, 0xf0, 0xf2, 0xf4, 0xf6, 0xf8, 0xfa, 0xfc, 0xfe, | 73 | 0xe0, 0xe2, 0xe4, 0xe6, 0xe8, 0xea, 0xec, 0xee, 0xf0, 0xf2, 0xf4, 0xf6, 0xf8, 0xfa, 0xfc, 0xfe, |
78 | 0x1b, 0x19, 0x1f, 0x1d, 0x13, 0x11, 0x17, 0x15, 0x0b, 0x09, 0x0f, 0x0d, 0x03, 0x01, 0x07, 0x05, | 74 | 0x1b, 0x19, 0x1f, 0x1d, 0x13, 0x11, 0x17, 0x15, 0x0b, 0x09, 0x0f, 0x0d, 0x03, 0x01, 0x07, 0x05, |
79 | 0x3b, 0x39, 0x3f, 0x3d, 0x33, 0x31, 0x37, 0x35, 0x2b, 0x29, 0x2f, 0x2d, 0x23, 0x21, 0x27, 0x25, | 75 | 0x3b, 0x39, 0x3f, 0x3d, 0x33, 0x31, 0x37, 0x35, 0x2b, 0x29, 0x2f, 0x2d, 0x23, 0x21, 0x27, 0x25, |
80 | 0x5b, 0x59, 0x5f, 0x5d, 0x53, 0x51, 0x57, 0x55, 0x4b, 0x49, 0x4f, 0x4d, 0x43, 0x41, 0x47, 0x45, | 76 | 0x5b, 0x59, 0x5f, 0x5d, 0x53, 0x51, 0x57, 0x55, 0x4b, 0x49, 0x4f, 0x4d, 0x43, 0x41, 0x47, 0x45, |
81 | 0x7b, 0x79, 0x7f, 0x7d, 0x73, 0x71, 0x77, 0x75, 0x6b, 0x69, 0x6f, 0x6d, 0x63, 0x61, 0x67, 0x65, | 77 | 0x7b, 0x79, 0x7f, 0x7d, 0x73, 0x71, 0x77, 0x75, 0x6b, 0x69, 0x6f, 0x6d, 0x63, 0x61, 0x67, 0x65, |
82 | 0x9b, 0x99, 0x9f, 0x9d, 0x93, 0x91, 0x97, 0x95, 0x8b, 0x89, 0x8f, 0x8d, 0x83, 0x81, 0x87, 0x85, | 78 | 0x9b, 0x99, 0x9f, 0x9d, 0x93, 0x91, 0x97, 0x95, 0x8b, 0x89, 0x8f, 0x8d, 0x83, 0x81, 0x87, 0x85, |
83 | 0xbb, 0xb9, 0xbf, 0xbd, 0xb3, 0xb1, 0xb7, 0xb5, 0xab, 0xa9, 0xaf, 0xad, 0xa3, 0xa1, 0xa7, 0xa5, | 79 | 0xbb, 0xb9, 0xbf, 0xbd, 0xb3, 0xb1, 0xb7, 0xb5, 0xab, 0xa9, 0xaf, 0xad, 0xa3, 0xa1, 0xa7, 0xa5, |
84 | 0xdb, 0xd9, 0xdf, 0xdd, 0xd3, 0xd1, 0xd7, 0xd5, 0xcb, 0xc9, 0xcf, 0xcd, 0xc3, 0xc1, 0xc7, 0xc5, | 80 | 0xdb, 0xd9, 0xdf, 0xdd, 0xd3, 0xd1, 0xd7, 0xd5, 0xcb, 0xc9, 0xcf, 0xcd, 0xc3, 0xc1, 0xc7, 0xc5, |
85 | 0xfb, 0xf9, 0xff, 0xfd, 0xf3, 0xf1, 0xf7, 0xf5, 0xeb, 0xe9, 0xef, 0xed, 0xe3, 0xe1, 0xe7, 0xe5 | 81 | 0xfb, 0xf9, 0xff, 0xfd, 0xf3, 0xf1, 0xf7, 0xf5, 0xeb, 0xe9, 0xef, 0xed, 0xe3, 0xe1, 0xe7, 0xe5 |
86 | }; | 82 | }; |
87 | 83 | ||
88 | BYTE dot3_table[256] = { | 84 | BYTE dot3_table[256] = { |
89 | 0x00, 0x03, 0x06, 0x05, 0x0c, 0x0f, 0x0a, 0x09, 0x18, 0x1b, 0x1e, 0x1d, 0x14, 0x17, 0x12, 0x11, | 85 | 0x00, 0x03, 0x06, 0x05, 0x0c, 0x0f, 0x0a, 0x09, 0x18, 0x1b, 0x1e, 0x1d, 0x14, 0x17, 0x12, 0x11, |
90 | 0x30, 0x33, 0x36, 0x35, 0x3c, 0x3f, 0x3a, 0x39, 0x28, 0x2b, 0x2e, 0x2d, 0x24, 0x27, 0x22, 0x21, | 86 | 0x30, 0x33, 0x36, 0x35, 0x3c, 0x3f, 0x3a, 0x39, 0x28, 0x2b, 0x2e, 0x2d, 0x24, 0x27, 0x22, 0x21, |
91 | 0x60, 0x63, 0x66, 0x65, 0x6c, 0x6f, 0x6a, 0x69, 0x78, 0x7b, 0x7e, 0x7d, 0x74, 0x77, 0x72, 0x71, | 87 | 0x60, 0x63, 0x66, 0x65, 0x6c, 0x6f, 0x6a, 0x69, 0x78, 0x7b, 0x7e, 0x7d, 0x74, 0x77, 0x72, 0x71, |
92 | 0x50, 0x53, 0x56, 0x55, 0x5c, 0x5f, 0x5a, 0x59, 0x48, 0x4b, 0x4e, 0x4d, 0x44, 0x47, 0x42, 0x41, | 88 | 0x50, 0x53, 0x56, 0x55, 0x5c, 0x5f, 0x5a, 0x59, 0x48, 0x4b, 0x4e, 0x4d, 0x44, 0x47, 0x42, 0x41, |
93 | 0xc0, 0xc3, 0xc6, 0xc5, 0xcc, 0xcf, 0xca, 0xc9, 0xd8, 0xdb, 0xde, 0xdd, 0xd4, 0xd7, 0xd2, 0xd1, | 89 | 0xc0, 0xc3, 0xc6, 0xc5, 0xcc, 0xcf, 0xca, 0xc9, 0xd8, 0xdb, 0xde, 0xdd, 0xd4, 0xd7, 0xd2, 0xd1, |
94 | 0xf0, 0xf3, 0xf6, 0xf5, 0xfc, 0xff, 0xfa, 0xf9, 0xe8, 0xeb, 0xee, 0xed, 0xe4, 0xe7, 0xe2, 0xe1, | 90 | 0xf0, 0xf3, 0xf6, 0xf5, 0xfc, 0xff, 0xfa, 0xf9, 0xe8, 0xeb, 0xee, 0xed, 0xe4, 0xe7, 0xe2, 0xe1, |
95 | 0xa0, 0xa3, 0xa6, 0xa5, 0xac, 0xaf, 0xaa, 0xa9, 0xb8, 0xbb, 0xbe, 0xbd, 0xb4, 0xb7, 0xb2, 0xb1, | 91 | 0xa0, 0xa3, 0xa6, 0xa5, 0xac, 0xaf, 0xaa, 0xa9, 0xb8, 0xbb, 0xbe, 0xbd, 0xb4, 0xb7, 0xb2, 0xb1, |
96 | 0x90, 0x93, 0x96, 0x95, 0x9c, 0x9f, 0x9a, 0x99, 0x88, 0x8b, 0x8e, 0x8d, 0x84, 0x87, 0x82, 0x81, | 92 | 0x90, 0x93, 0x96, 0x95, 0x9c, 0x9f, 0x9a, 0x99, 0x88, 0x8b, 0x8e, 0x8d, 0x84, 0x87, 0x82, 0x81, |
97 | 0x9b, 0x98, 0x9d, 0x9e, 0x97, 0x94, 0x91, 0x92, 0x83, 0x80, 0x85, 0x86, 0x8f, 0x8c, 0x89, 0x8a, | 93 | 0x9b, 0x98, 0x9d, 0x9e, 0x97, 0x94, 0x91, 0x92, 0x83, 0x80, 0x85, 0x86, 0x8f, 0x8c, 0x89, 0x8a, |
98 | 0xab, 0xa8, 0xad, 0xae, 0xa7, 0xa4, 0xa1, 0xa2, 0xb3, 0xb0, 0xb5, 0xb6, 0xbf, 0xbc, 0xb9, 0xba, | 94 | 0xab, 0xa8, 0xad, 0xae, 0xa7, 0xa4, 0xa1, 0xa2, 0xb3, 0xb0, 0xb5, 0xb6, 0xbf, 0xbc, 0xb9, 0xba, |
99 | 0xfb, 0xf8, 0xfd, 0xfe, 0xf7, 0xf4, 0xf1, 0xf2, 0xe3, 0xe0, 0xe5, 0xe6, 0xef, 0xec, 0xe9, 0xea, | 95 | 0xfb, 0xf8, 0xfd, 0xfe, 0xf7, 0xf4, 0xf1, 0xf2, 0xe3, 0xe0, 0xe5, 0xe6, 0xef, 0xec, 0xe9, 0xea, |
100 | 0xcb, 0xc8, 0xcd, 0xce, 0xc7, 0xc4, 0xc1, 0xc2, 0xd3, 0xd0, 0xd5, 0xd6, 0xdf, 0xdc, 0xd9, 0xda, | 96 | 0xcb, 0xc8, 0xcd, 0xce, 0xc7, 0xc4, 0xc1, 0xc2, 0xd3, 0xd0, 0xd5, 0xd6, 0xdf, 0xdc, 0xd9, 0xda, |
101 | 0x5b, 0x58, 0x5d, 0x5e, 0x57, 0x54, 0x51, 0x52, 0x43, 0x40, 0x45, 0x46, 0x4f, 0x4c, 0x49, 0x4a, | 97 | 0x5b, 0x58, 0x5d, 0x5e, 0x57, 0x54, 0x51, 0x52, 0x43, 0x40, 0x45, 0x46, 0x4f, 0x4c, 0x49, 0x4a, |
102 | 0x6b, 0x68, 0x6d, 0x6e, 0x67, 0x64, 0x61, 0x62, 0x73, 0x70, 0x75, 0x76, 0x7f, 0x7c, 0x79, 0x7a, | 98 | 0x6b, 0x68, 0x6d, 0x6e, 0x67, 0x64, 0x61, 0x62, 0x73, 0x70, 0x75, 0x76, 0x7f, 0x7c, 0x79, 0x7a, |
103 | 0x3b, 0x38, 0x3d, 0x3e, 0x37, 0x34, 0x31, 0x32, 0x23, 0x20, 0x25, 0x26, 0x2f, 0x2c, 0x29, 0x2a, | 99 | 0x3b, 0x38, 0x3d, 0x3e, 0x37, 0x34, 0x31, 0x32, 0x23, 0x20, 0x25, 0x26, 0x2f, 0x2c, 0x29, 0x2a, |
104 | 0x0b, 0x08, 0x0d, 0x0e, 0x07, 0x04, 0x01, 0x02, 0x13, 0x10, 0x15, 0x16, 0x1f, 0x1c, 0x19, 0x1a | 100 | 0x0b, 0x08, 0x0d, 0x0e, 0x07, 0x04, 0x01, 0x02, 0x13, 0x10, 0x15, 0x16, 0x1f, 0x1c, 0x19, 0x1a |
105 | }; | 101 | }; |
106 | 102 | ||
107 | /*--------------------- Static Functions --------------------------*/ | 103 | /*--------------------- Static Functions --------------------------*/ |
@@ -112,120 +108,111 @@ BYTE dot3_table[256] = { | |||
112 | 108 | ||
113 | void xor_128(BYTE *a, BYTE *b, BYTE *out) | 109 | void xor_128(BYTE *a, BYTE *b, BYTE *out) |
114 | { | 110 | { |
115 | PDWORD dwPtrA = (PDWORD) a; | 111 | PDWORD dwPtrA = (PDWORD) a; |
116 | PDWORD dwPtrB = (PDWORD) b; | 112 | PDWORD dwPtrB = (PDWORD) b; |
117 | PDWORD dwPtrOut =(PDWORD) out; | 113 | PDWORD dwPtrOut = (PDWORD) out; |
118 | 114 | ||
119 | (*dwPtrOut++) = (*dwPtrA++) ^ (*dwPtrB++); | 115 | (*dwPtrOut++) = (*dwPtrA++) ^ (*dwPtrB++); |
120 | (*dwPtrOut++) = (*dwPtrA++) ^ (*dwPtrB++); | 116 | (*dwPtrOut++) = (*dwPtrA++) ^ (*dwPtrB++); |
121 | (*dwPtrOut++) = (*dwPtrA++) ^ (*dwPtrB++); | 117 | (*dwPtrOut++) = (*dwPtrA++) ^ (*dwPtrB++); |
122 | (*dwPtrOut++) = (*dwPtrA++) ^ (*dwPtrB++); | 118 | (*dwPtrOut++) = (*dwPtrA++) ^ (*dwPtrB++); |
123 | } | 119 | } |
124 | 120 | ||
125 | 121 | ||
126 | void xor_32(BYTE *a, BYTE *b, BYTE *out) | 122 | void xor_32(BYTE *a, BYTE *b, BYTE *out) |
127 | { | 123 | { |
128 | PDWORD dwPtrA = (PDWORD) a; | 124 | PDWORD dwPtrA = (PDWORD) a; |
129 | PDWORD dwPtrB = (PDWORD) b; | 125 | PDWORD dwPtrB = (PDWORD) b; |
130 | PDWORD dwPtrOut =(PDWORD) out; | 126 | PDWORD dwPtrOut = (PDWORD) out; |
131 | 127 | ||
132 | (*dwPtrOut++) = (*dwPtrA++) ^ (*dwPtrB++); | 128 | (*dwPtrOut++) = (*dwPtrA++) ^ (*dwPtrB++); |
133 | } | 129 | } |
134 | 130 | ||
135 | void AddRoundKey(BYTE *key, int round) | 131 | void AddRoundKey(BYTE *key, int round) |
136 | { | 132 | { |
137 | BYTE sbox_key[4]; | 133 | BYTE sbox_key[4]; |
138 | BYTE rcon_table[10] = { 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36}; | 134 | BYTE rcon_table[10] = { 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36}; |
139 | 135 | ||
140 | sbox_key[0] = sbox_table[key[13]]; | 136 | sbox_key[0] = sbox_table[key[13]]; |
141 | sbox_key[1] = sbox_table[key[14]]; | 137 | sbox_key[1] = sbox_table[key[14]]; |
142 | sbox_key[2] = sbox_table[key[15]]; | 138 | sbox_key[2] = sbox_table[key[15]]; |
143 | sbox_key[3] = sbox_table[key[12]]; | 139 | sbox_key[3] = sbox_table[key[12]]; |
144 | 140 | ||
145 | key[0] = key[0] ^ rcon_table[round]; | 141 | key[0] = key[0] ^ rcon_table[round]; |
146 | xor_32(&key[0], sbox_key, &key[0]); | 142 | xor_32(&key[0], sbox_key, &key[0]); |
147 | 143 | ||
148 | xor_32(&key[4], &key[0], &key[4]); | 144 | xor_32(&key[4], &key[0], &key[4]); |
149 | xor_32(&key[8], &key[4], &key[8]); | 145 | xor_32(&key[8], &key[4], &key[8]); |
150 | xor_32(&key[12], &key[8], &key[12]); | 146 | xor_32(&key[12], &key[8], &key[12]); |
151 | } | 147 | } |
152 | 148 | ||
153 | void SubBytes(BYTE *in, BYTE *out) | 149 | void SubBytes(BYTE *in, BYTE *out) |
154 | { | 150 | { |
155 | int i; | 151 | int i; |
156 | 152 | ||
157 | for (i=0; i< 16; i++) | 153 | for (i = 0; i < 16; i++) |
158 | { | 154 | out[i] = sbox_table[in[i]]; |
159 | out[i] = sbox_table[in[i]]; | ||
160 | } | ||
161 | } | 155 | } |
162 | 156 | ||
163 | void ShiftRows(BYTE *in, BYTE *out) | 157 | void ShiftRows(BYTE *in, BYTE *out) |
164 | { | 158 | { |
165 | out[0] = in[0]; | 159 | out[0] = in[0]; |
166 | out[1] = in[5]; | 160 | out[1] = in[5]; |
167 | out[2] = in[10]; | 161 | out[2] = in[10]; |
168 | out[3] = in[15]; | 162 | out[3] = in[15]; |
169 | out[4] = in[4]; | 163 | out[4] = in[4]; |
170 | out[5] = in[9]; | 164 | out[5] = in[9]; |
171 | out[6] = in[14]; | 165 | out[6] = in[14]; |
172 | out[7] = in[3]; | 166 | out[7] = in[3]; |
173 | out[8] = in[8]; | 167 | out[8] = in[8]; |
174 | out[9] = in[13]; | 168 | out[9] = in[13]; |
175 | out[10] = in[2]; | 169 | out[10] = in[2]; |
176 | out[11] = in[7]; | 170 | out[11] = in[7]; |
177 | out[12] = in[12]; | 171 | out[12] = in[12]; |
178 | out[13] = in[1]; | 172 | out[13] = in[1]; |
179 | out[14] = in[6]; | 173 | out[14] = in[6]; |
180 | out[15] = in[11]; | 174 | out[15] = in[11]; |
181 | } | 175 | } |
182 | 176 | ||
183 | void MixColumns(BYTE *in, BYTE *out) | 177 | void MixColumns(BYTE *in, BYTE *out) |
184 | { | 178 | { |
185 | 179 | ||
186 | out[0] = dot2_table[in[0]] ^ dot3_table[in[1]] ^ in[2] ^ in[3]; | 180 | out[0] = dot2_table[in[0]] ^ dot3_table[in[1]] ^ in[2] ^ in[3]; |
187 | out[1] = in[0] ^ dot2_table[in[1]] ^ dot3_table[in[2]] ^ in[3]; | 181 | out[1] = in[0] ^ dot2_table[in[1]] ^ dot3_table[in[2]] ^ in[3]; |
188 | out[2] = in[0] ^ in[1] ^ dot2_table[in[2]] ^ dot3_table[in[3]]; | 182 | out[2] = in[0] ^ in[1] ^ dot2_table[in[2]] ^ dot3_table[in[3]]; |
189 | out[3] = dot3_table[in[0]] ^ in[1] ^ in[2] ^ dot2_table[in[3]]; | 183 | out[3] = dot3_table[in[0]] ^ in[1] ^ in[2] ^ dot2_table[in[3]]; |
190 | } | 184 | } |
191 | 185 | ||
192 | |||
193 | void AESv128(BYTE *key, BYTE *data, BYTE *ciphertext) | 186 | void AESv128(BYTE *key, BYTE *data, BYTE *ciphertext) |
194 | { | 187 | { |
195 | int i; | 188 | int i; |
196 | int round; | 189 | int round; |
197 | BYTE TmpdataA[16]; | 190 | BYTE TmpdataA[16]; |
198 | BYTE TmpdataB[16]; | 191 | BYTE TmpdataB[16]; |
199 | BYTE abyRoundKey[16]; | 192 | BYTE abyRoundKey[16]; |
200 | 193 | ||
201 | for(i=0; i<16; i++) | 194 | for (i = 0; i < 16; i++) |
202 | abyRoundKey[i] = key[i]; | 195 | abyRoundKey[i] = key[i]; |
203 | 196 | ||
204 | for (round = 0; round < 11; round++) | 197 | for (round = 0; round < 11; round++) { |
205 | { | 198 | if (round == 0) { |
206 | if (round == 0) | 199 | xor_128(abyRoundKey, data, ciphertext); |
207 | { | 200 | AddRoundKey(abyRoundKey, round); |
208 | xor_128(abyRoundKey, data, ciphertext); | 201 | } else if (round == 10) { |
209 | AddRoundKey(abyRoundKey, round); | 202 | SubBytes(ciphertext, TmpdataA); |
210 | } | 203 | ShiftRows(TmpdataA, TmpdataB); |
211 | else if (round == 10) | 204 | xor_128(TmpdataB, abyRoundKey, ciphertext); |
212 | { | 205 | } else { /* round 1 ~ 9 */ |
213 | SubBytes(ciphertext, TmpdataA); | 206 | SubBytes(ciphertext, TmpdataA); |
214 | ShiftRows(TmpdataA, TmpdataB); | 207 | ShiftRows(TmpdataA, TmpdataB); |
215 | xor_128(TmpdataB, abyRoundKey, ciphertext); | 208 | MixColumns(&TmpdataB[0], &TmpdataA[0]); |
216 | } | 209 | MixColumns(&TmpdataB[4], &TmpdataA[4]); |
217 | else // round 1 ~ 9 | 210 | MixColumns(&TmpdataB[8], &TmpdataA[8]); |
218 | { | 211 | MixColumns(&TmpdataB[12], &TmpdataA[12]); |
219 | SubBytes(ciphertext, TmpdataA); | 212 | xor_128(TmpdataA, abyRoundKey, ciphertext); |
220 | ShiftRows(TmpdataA, TmpdataB); | 213 | AddRoundKey(abyRoundKey, round); |
221 | MixColumns(&TmpdataB[0], &TmpdataA[0]); | 214 | } |
222 | MixColumns(&TmpdataB[4], &TmpdataA[4]); | 215 | } |
223 | MixColumns(&TmpdataB[8], &TmpdataA[8]); | ||
224 | MixColumns(&TmpdataB[12], &TmpdataA[12]); | ||
225 | xor_128(TmpdataA, abyRoundKey, ciphertext); | ||
226 | AddRoundKey(abyRoundKey, round); | ||
227 | } | ||
228 | } | ||
229 | 216 | ||
230 | } | 217 | } |
231 | 218 | ||
@@ -243,160 +230,157 @@ BYTE abyRoundKey[16]; | |||
243 | * Return Value: MIC compare result | 230 | * Return Value: MIC compare result |
244 | * | 231 | * |
245 | */ | 232 | */ |
233 | |||
246 | BOOL AESbGenCCMP(PBYTE pbyRxKey, PBYTE pbyFrame, WORD wFrameSize) | 234 | BOOL AESbGenCCMP(PBYTE pbyRxKey, PBYTE pbyFrame, WORD wFrameSize) |
247 | { | 235 | { |
248 | BYTE abyNonce[13]; | 236 | BYTE abyNonce[13]; |
249 | BYTE MIC_IV[16]; | 237 | BYTE MIC_IV[16]; |
250 | BYTE MIC_HDR1[16]; | 238 | BYTE MIC_HDR1[16]; |
251 | BYTE MIC_HDR2[16]; | 239 | BYTE MIC_HDR2[16]; |
252 | BYTE abyMIC[16]; | 240 | BYTE abyMIC[16]; |
253 | BYTE abyCTRPLD[16]; | 241 | BYTE abyCTRPLD[16]; |
254 | BYTE abyTmp[16]; | 242 | BYTE abyTmp[16]; |
255 | BYTE abyPlainText[16]; | 243 | BYTE abyPlainText[16]; |
256 | BYTE abyLastCipher[16]; | 244 | BYTE abyLastCipher[16]; |
257 | 245 | ||
258 | PS802_11Header pMACHeader = (PS802_11Header) pbyFrame; | 246 | PS802_11Header pMACHeader = (PS802_11Header) pbyFrame; |
259 | PBYTE pbyIV; | 247 | PBYTE pbyIV; |
260 | PBYTE pbyPayload; | 248 | PBYTE pbyPayload; |
261 | WORD wHLen = 22; | 249 | WORD wHLen = 22; |
262 | WORD wPayloadSize = wFrameSize - 8 - 8 - 4 - WLAN_HDR_ADDR3_LEN;//8 is IV, 8 is MIC, 4 is CRC | 250 | /* 8 is IV, 8 is MIC, 4 is CRC */ |
263 | BOOL bA4 = FALSE; | 251 | WORD wPayloadSize = wFrameSize - 8 - 8 - 4 - WLAN_HDR_ADDR3_LEN; |
264 | BYTE byTmp; | 252 | BOOL bA4 = FALSE; |
265 | WORD wCnt; | 253 | BYTE byTmp; |
266 | int ii,jj,kk; | 254 | WORD wCnt; |
267 | 255 | int ii, jj, kk; | |
268 | 256 | ||
269 | pbyIV = pbyFrame + WLAN_HDR_ADDR3_LEN; | 257 | pbyIV = pbyFrame + WLAN_HDR_ADDR3_LEN; |
270 | if ( WLAN_GET_FC_TODS(*(PWORD)pbyFrame) && | 258 | if (WLAN_GET_FC_TODS(*(PWORD) pbyFrame) && |
271 | WLAN_GET_FC_FROMDS(*(PWORD)pbyFrame) ) { | 259 | WLAN_GET_FC_FROMDS(*(PWORD) pbyFrame)) { |
272 | bA4 = TRUE; | 260 | bA4 = TRUE; |
273 | pbyIV += 6; // 6 is 802.11 address4 | 261 | pbyIV += 6; /* 6 is 802.11 address4 */ |
274 | wHLen += 6; | 262 | wHLen += 6; |
275 | wPayloadSize -= 6; | 263 | wPayloadSize -= 6; |
276 | } | 264 | } |
277 | pbyPayload = pbyIV + 8; //IV-length | 265 | pbyPayload = pbyIV + 8; /* IV-length */ |
278 | 266 | ||
279 | abyNonce[0] = 0x00; //now is 0, if Qos here will be priority | 267 | abyNonce[0] = 0x00; /* now is 0, if Qos here will be priority */ |
280 | memcpy(&(abyNonce[1]), pMACHeader->abyAddr2, U_ETHER_ADDR_LEN); | 268 | memcpy(&(abyNonce[1]), pMACHeader->abyAddr2, ETH_ALEN); |
281 | abyNonce[7] = pbyIV[7]; | 269 | abyNonce[7] = pbyIV[7]; |
282 | abyNonce[8] = pbyIV[6]; | 270 | abyNonce[8] = pbyIV[6]; |
283 | abyNonce[9] = pbyIV[5]; | 271 | abyNonce[9] = pbyIV[5]; |
284 | abyNonce[10] = pbyIV[4]; | 272 | abyNonce[10] = pbyIV[4]; |
285 | abyNonce[11] = pbyIV[1]; | 273 | abyNonce[11] = pbyIV[1]; |
286 | abyNonce[12] = pbyIV[0]; | 274 | abyNonce[12] = pbyIV[0]; |
287 | 275 | ||
288 | //MIC_IV | 276 | /* MIC_IV */ |
289 | MIC_IV[0] = 0x59; | 277 | MIC_IV[0] = 0x59; |
290 | memcpy(&(MIC_IV[1]), &(abyNonce[0]), 13); | 278 | memcpy(&(MIC_IV[1]), &(abyNonce[0]), 13); |
291 | MIC_IV[14] = (BYTE)(wPayloadSize >> 8); | 279 | MIC_IV[14] = (BYTE)(wPayloadSize >> 8); |
292 | MIC_IV[15] = (BYTE)(wPayloadSize & 0xff); | 280 | MIC_IV[15] = (BYTE)(wPayloadSize & 0xff); |
293 | 281 | ||
294 | //MIC_HDR1 | 282 | /* MIC_HDR1 */ |
295 | MIC_HDR1[0] = (BYTE)(wHLen >> 8); | 283 | MIC_HDR1[0] = (BYTE)(wHLen >> 8); |
296 | MIC_HDR1[1] = (BYTE)(wHLen & 0xff); | 284 | MIC_HDR1[1] = (BYTE)(wHLen & 0xff); |
297 | byTmp = (BYTE)(pMACHeader->wFrameCtl & 0xff); | 285 | byTmp = (BYTE)(pMACHeader->wFrameCtl & 0xff); |
298 | MIC_HDR1[2] = byTmp & 0x8f; | 286 | MIC_HDR1[2] = byTmp & 0x8f; |
299 | byTmp = (BYTE)(pMACHeader->wFrameCtl >> 8); | 287 | byTmp = (BYTE)(pMACHeader->wFrameCtl >> 8); |
300 | byTmp &= 0x87; | 288 | byTmp &= 0x87; |
301 | MIC_HDR1[3] = byTmp | 0x40; | 289 | MIC_HDR1[3] = byTmp | 0x40; |
302 | memcpy(&(MIC_HDR1[4]), pMACHeader->abyAddr1, U_ETHER_ADDR_LEN); | 290 | memcpy(&(MIC_HDR1[4]), pMACHeader->abyAddr1, ETH_ALEN); |
303 | memcpy(&(MIC_HDR1[10]), pMACHeader->abyAddr2, U_ETHER_ADDR_LEN); | 291 | memcpy(&(MIC_HDR1[10]), pMACHeader->abyAddr2, ETH_ALEN); |
304 | 292 | ||
305 | //MIC_HDR2 | 293 | /* MIC_HDR2 */ |
306 | memcpy(&(MIC_HDR2[0]), pMACHeader->abyAddr3, U_ETHER_ADDR_LEN); | 294 | memcpy(&(MIC_HDR2[0]), pMACHeader->abyAddr3, ETH_ALEN); |
307 | byTmp = (BYTE)(pMACHeader->wSeqCtl & 0xff); | 295 | byTmp = (BYTE)(pMACHeader->wSeqCtl & 0xff); |
308 | MIC_HDR2[6] = byTmp & 0x0f; | 296 | MIC_HDR2[6] = byTmp & 0x0f; |
309 | MIC_HDR2[7] = 0; | 297 | MIC_HDR2[7] = 0; |
310 | if ( bA4 ) { | 298 | |
311 | memcpy(&(MIC_HDR2[8]), pMACHeader->abyAddr4, U_ETHER_ADDR_LEN); | 299 | if (bA4) { |
312 | } else { | 300 | memcpy(&(MIC_HDR2[8]), pMACHeader->abyAddr4, ETH_ALEN); |
313 | MIC_HDR2[8] = 0x00; | 301 | } else { |
314 | MIC_HDR2[9] = 0x00; | 302 | MIC_HDR2[8] = 0x00; |
315 | MIC_HDR2[10] = 0x00; | 303 | MIC_HDR2[9] = 0x00; |
316 | MIC_HDR2[11] = 0x00; | 304 | MIC_HDR2[10] = 0x00; |
317 | MIC_HDR2[12] = 0x00; | 305 | MIC_HDR2[11] = 0x00; |
318 | MIC_HDR2[13] = 0x00; | 306 | MIC_HDR2[12] = 0x00; |
319 | } | 307 | MIC_HDR2[13] = 0x00; |
320 | MIC_HDR2[14] = 0x00; | 308 | } |
321 | MIC_HDR2[15] = 0x00; | 309 | MIC_HDR2[14] = 0x00; |
322 | 310 | MIC_HDR2[15] = 0x00; | |
323 | //CCMP | 311 | |
324 | AESv128(pbyRxKey,MIC_IV,abyMIC); | 312 | /* CCMP */ |
325 | for ( kk=0; kk<16; kk++ ) { | 313 | AESv128(pbyRxKey, MIC_IV, abyMIC); |
326 | abyTmp[kk] = MIC_HDR1[kk] ^ abyMIC[kk]; | 314 | for (kk = 0; kk < 16; kk++) |
327 | } | 315 | abyTmp[kk] = MIC_HDR1[kk] ^ abyMIC[kk]; |
328 | AESv128(pbyRxKey,abyTmp,abyMIC); | 316 | |
329 | for ( kk=0; kk<16; kk++ ) { | 317 | AESv128(pbyRxKey, abyTmp, abyMIC); |
330 | abyTmp[kk] = MIC_HDR2[kk] ^ abyMIC[kk]; | 318 | for (kk = 0; kk < 16; kk++) |
331 | } | 319 | abyTmp[kk] = MIC_HDR2[kk] ^ abyMIC[kk]; |
332 | AESv128(pbyRxKey,abyTmp,abyMIC); | 320 | |
333 | 321 | AESv128(pbyRxKey, abyTmp, abyMIC); | |
334 | wCnt = 1; | 322 | |
335 | abyCTRPLD[0] = 0x01; | 323 | wCnt = 1; |
336 | memcpy(&(abyCTRPLD[1]), &(abyNonce[0]), 13); | 324 | abyCTRPLD[0] = 0x01; |
337 | 325 | memcpy(&(abyCTRPLD[1]), &(abyNonce[0]), 13); | |
338 | for(jj=wPayloadSize; jj>16; jj=jj-16) { | 326 | |
339 | 327 | for (jj = wPayloadSize; jj > 16; jj = jj-16) { | |
340 | abyCTRPLD[14] = (BYTE) (wCnt >> 8); | 328 | |
341 | abyCTRPLD[15] = (BYTE) (wCnt & 0xff); | 329 | abyCTRPLD[14] = (BYTE) (wCnt >> 8); |
342 | 330 | abyCTRPLD[15] = (BYTE) (wCnt & 0xff); | |
343 | AESv128(pbyRxKey,abyCTRPLD,abyTmp); | 331 | |
344 | 332 | AESv128(pbyRxKey, abyCTRPLD, abyTmp); | |
345 | for ( kk=0; kk<16; kk++ ) { | 333 | |
346 | abyPlainText[kk] = abyTmp[kk] ^ pbyPayload[kk]; | 334 | for (kk = 0; kk < 16; kk++) |
347 | } | 335 | abyPlainText[kk] = abyTmp[kk] ^ pbyPayload[kk]; |
348 | for ( kk=0; kk<16; kk++ ) { | 336 | |
349 | abyTmp[kk] = abyMIC[kk] ^ abyPlainText[kk]; | 337 | for (kk = 0; kk < 16; kk++) |
350 | } | 338 | abyTmp[kk] = abyMIC[kk] ^ abyPlainText[kk]; |
351 | AESv128(pbyRxKey,abyTmp,abyMIC); | 339 | |
352 | 340 | AESv128(pbyRxKey, abyTmp, abyMIC); | |
353 | memcpy(pbyPayload, abyPlainText, 16); | 341 | |
354 | wCnt++; | 342 | memcpy(pbyPayload, abyPlainText, 16); |
355 | pbyPayload += 16; | 343 | wCnt++; |
356 | } //for wPayloadSize | 344 | pbyPayload += 16; |
357 | 345 | } /* for wPayloadSize */ | |
358 | //last payload | 346 | |
359 | memcpy(&(abyLastCipher[0]), pbyPayload, jj); | 347 | /* last payload */ |
360 | for ( ii=jj; ii<16; ii++ ) { | 348 | memcpy(&(abyLastCipher[0]), pbyPayload, jj); |
361 | abyLastCipher[ii] = 0x00; | 349 | for (ii = jj; ii < 16; ii++) |
362 | } | 350 | abyLastCipher[ii] = 0x00; |
363 | 351 | ||
364 | abyCTRPLD[14] = (BYTE) (wCnt >> 8); | 352 | abyCTRPLD[14] = (BYTE) (wCnt >> 8); |
365 | abyCTRPLD[15] = (BYTE) (wCnt & 0xff); | 353 | abyCTRPLD[15] = (BYTE) (wCnt & 0xff); |
366 | 354 | ||
367 | AESv128(pbyRxKey,abyCTRPLD,abyTmp); | 355 | AESv128(pbyRxKey, abyCTRPLD, abyTmp); |
368 | for ( kk=0; kk<16; kk++ ) { | 356 | for (kk = 0; kk < 16; kk++) |
369 | abyPlainText[kk] = abyTmp[kk] ^ abyLastCipher[kk]; | 357 | abyPlainText[kk] = abyTmp[kk] ^ abyLastCipher[kk]; |
370 | } | 358 | |
371 | memcpy(pbyPayload, abyPlainText, jj); | 359 | memcpy(pbyPayload, abyPlainText, jj); |
372 | pbyPayload += jj; | 360 | pbyPayload += jj; |
373 | 361 | ||
374 | //for MIC calculation | 362 | /* for MIC calculation */ |
375 | for ( ii=jj; ii<16; ii++ ) { | 363 | for (ii = jj; ii < 16; ii++) |
376 | abyPlainText[ii] = 0x00; | 364 | abyPlainText[ii] = 0x00; |
377 | } | 365 | for (kk = 0; kk < 16; kk++) |
378 | for ( kk=0; kk<16; kk++ ) { | 366 | abyTmp[kk] = abyMIC[kk] ^ abyPlainText[kk]; |
379 | abyTmp[kk] = abyMIC[kk] ^ abyPlainText[kk]; | 367 | |
380 | } | 368 | AESv128(pbyRxKey, abyTmp, abyMIC); |
381 | AESv128(pbyRxKey,abyTmp,abyMIC); | 369 | |
382 | 370 | /* => above is the calculated MIC */ | |
383 | //=>above is the calculate MIC | 371 | |
384 | //-------------------------------------------- | 372 | wCnt = 0; |
385 | 373 | abyCTRPLD[14] = (BYTE) (wCnt >> 8); | |
386 | wCnt = 0; | 374 | abyCTRPLD[15] = (BYTE) (wCnt & 0xff); |
387 | abyCTRPLD[14] = (BYTE) (wCnt >> 8); | 375 | AESv128(pbyRxKey, abyCTRPLD, abyTmp); |
388 | abyCTRPLD[15] = (BYTE) (wCnt & 0xff); | 376 | |
389 | AESv128(pbyRxKey,abyCTRPLD,abyTmp); | 377 | for (kk = 0; kk < 8; kk++) |
390 | for ( kk=0; kk<8; kk++ ) { | 378 | abyTmp[kk] = abyTmp[kk] ^ pbyPayload[kk]; |
391 | abyTmp[kk] = abyTmp[kk] ^ pbyPayload[kk]; | 379 | |
392 | } | 380 | /* => above is the packet dec-MIC */ |
393 | //=>above is the dec-MIC from packet | 381 | |
394 | //-------------------------------------------- | 382 | if (!memcmp(abyMIC, abyTmp, 8)) |
395 | 383 | return TRUE; | |
396 | if ( !memcmp(abyMIC,abyTmp,8) ) { | 384 | else |
397 | return TRUE; | 385 | return FALSE; |
398 | } else { | ||
399 | return FALSE; | ||
400 | } | ||
401 | |||
402 | } | 386 | } |
diff --git a/drivers/staging/vt6656/aes_ccmp.h b/drivers/staging/vt6656/aes_ccmp.h index f2ba1d5aa1e..353bd210a50 100644 --- a/drivers/staging/vt6656/aes_ccmp.h +++ b/drivers/staging/vt6656/aes_ccmp.h | |||
@@ -43,4 +43,4 @@ | |||
43 | /*--------------------- Export Functions --------------------------*/ | 43 | /*--------------------- Export Functions --------------------------*/ |
44 | BOOL AESbGenCCMP(PBYTE pbyRxKey, PBYTE pbyFrame, WORD wFrameSize); | 44 | BOOL AESbGenCCMP(PBYTE pbyRxKey, PBYTE pbyFrame, WORD wFrameSize); |
45 | 45 | ||
46 | #endif //__AES_H__ | 46 | #endif /* __AES_CCMP_H__ */ |
diff --git a/drivers/staging/vt6656/baseband.c b/drivers/staging/vt6656/baseband.c index 7dc01dbfc6f..d3de94f36c6 100644 --- a/drivers/staging/vt6656/baseband.c +++ b/drivers/staging/vt6656/baseband.c | |||
@@ -662,11 +662,11 @@ const WORD awcFrameTime[MAX_RATE] = | |||
662 | 662 | ||
663 | /* | 663 | /* |
664 | static | 664 | static |
665 | ULONG | 665 | unsigned long |
666 | s_ulGetLowSQ3(PSDevice pDevice); | 666 | s_ulGetLowSQ3(PSDevice pDevice); |
667 | 667 | ||
668 | static | 668 | static |
669 | ULONG | 669 | unsigned long |
670 | s_ulGetRatio(PSDevice pDevice); | 670 | s_ulGetRatio(PSDevice pDevice); |
671 | 671 | ||
672 | static | 672 | static |
@@ -689,19 +689,19 @@ s_vClearSQ3Value(PSDevice pDevice); | |||
689 | * Return Value: FrameTime | 689 | * Return Value: FrameTime |
690 | * | 690 | * |
691 | */ | 691 | */ |
692 | UINT | 692 | unsigned int |
693 | BBuGetFrameTime ( | 693 | BBuGetFrameTime ( |
694 | IN BYTE byPreambleType, | 694 | BYTE byPreambleType, |
695 | IN BYTE byPktType, | 695 | BYTE byPktType, |
696 | IN UINT cbFrameLength, | 696 | unsigned int cbFrameLength, |
697 | IN WORD wRate | 697 | WORD wRate |
698 | ) | 698 | ) |
699 | { | 699 | { |
700 | UINT uFrameTime; | 700 | unsigned int uFrameTime; |
701 | UINT uPreamble; | 701 | unsigned int uPreamble; |
702 | UINT uTmp; | 702 | unsigned int uTmp; |
703 | UINT uRateIdx = (UINT)wRate; | 703 | unsigned int uRateIdx = (unsigned int)wRate; |
704 | UINT uRate = 0; | 704 | unsigned int uRate = 0; |
705 | 705 | ||
706 | 706 | ||
707 | if (uRateIdx > RATE_54M) { | 707 | if (uRateIdx > RATE_54M) { |
@@ -709,7 +709,7 @@ BBuGetFrameTime ( | |||
709 | return 0; | 709 | return 0; |
710 | } | 710 | } |
711 | 711 | ||
712 | uRate = (UINT)awcFrameTime[uRateIdx]; | 712 | uRate = (unsigned int)awcFrameTime[uRateIdx]; |
713 | 713 | ||
714 | if (uRateIdx <= 3) { //CCK mode | 714 | if (uRateIdx <= 3) { //CCK mode |
715 | 715 | ||
@@ -756,20 +756,20 @@ BBuGetFrameTime ( | |||
756 | * Return Value: none | 756 | * Return Value: none |
757 | * | 757 | * |
758 | */ | 758 | */ |
759 | VOID | 759 | void |
760 | BBvCaculateParameter ( | 760 | BBvCaculateParameter ( |
761 | IN PSDevice pDevice, | 761 | PSDevice pDevice, |
762 | IN UINT cbFrameLength, | 762 | unsigned int cbFrameLength, |
763 | IN WORD wRate, | 763 | WORD wRate, |
764 | IN BYTE byPacketType, | 764 | BYTE byPacketType, |
765 | OUT PWORD pwPhyLen, | 765 | PWORD pwPhyLen, |
766 | OUT PBYTE pbyPhySrv, | 766 | PBYTE pbyPhySrv, |
767 | OUT PBYTE pbyPhySgn | 767 | PBYTE pbyPhySgn |
768 | ) | 768 | ) |
769 | { | 769 | { |
770 | UINT cbBitCount; | 770 | unsigned int cbBitCount; |
771 | UINT cbUsCount = 0; | 771 | unsigned int cbUsCount = 0; |
772 | UINT cbTmp; | 772 | unsigned int cbTmp; |
773 | BOOL bExtBit; | 773 | BOOL bExtBit; |
774 | BYTE byPreambleType = pDevice->byPreambleType; | 774 | BYTE byPreambleType = pDevice->byPreambleType; |
775 | BOOL bCCK = pDevice->bCCK; | 775 | BOOL bCCK = pDevice->bCCK; |
@@ -929,7 +929,7 @@ BBvCaculateParameter ( | |||
929 | * Return Value: none | 929 | * Return Value: none |
930 | * | 930 | * |
931 | */ | 931 | */ |
932 | VOID | 932 | void |
933 | BBvSetAntennaMode (PSDevice pDevice, BYTE byAntennaMode) | 933 | BBvSetAntennaMode (PSDevice pDevice, BYTE byAntennaMode) |
934 | { | 934 | { |
935 | //{{ RobertYu: 20041124, ABG Mode, VC1/VC2 define, make the ANT_A, ANT_B inverted | 935 | //{{ RobertYu: 20041124, ABG Mode, VC1/VC2 define, make the ANT_A, ANT_B inverted |
@@ -1274,7 +1274,7 @@ void BBvLoopbackOff (PSDevice pDevice) | |||
1274 | * Return Value: none | 1274 | * Return Value: none |
1275 | * | 1275 | * |
1276 | */ | 1276 | */ |
1277 | VOID | 1277 | void |
1278 | BBvSetShortSlotTime (PSDevice pDevice) | 1278 | BBvSetShortSlotTime (PSDevice pDevice) |
1279 | { | 1279 | { |
1280 | BYTE byBBVGA=0; | 1280 | BYTE byBBVGA=0; |
@@ -1295,7 +1295,7 @@ BBvSetShortSlotTime (PSDevice pDevice) | |||
1295 | } | 1295 | } |
1296 | 1296 | ||
1297 | 1297 | ||
1298 | VOID BBvSetVGAGainOffset(PSDevice pDevice, BYTE byData) | 1298 | void BBvSetVGAGainOffset(PSDevice pDevice, BYTE byData) |
1299 | { | 1299 | { |
1300 | 1300 | ||
1301 | ControlvWriteByte(pDevice, MESSAGE_REQUEST_BBREG, 0xE7, byData); | 1301 | ControlvWriteByte(pDevice, MESSAGE_REQUEST_BBREG, 0xE7, byData); |
@@ -1324,7 +1324,7 @@ VOID BBvSetVGAGainOffset(PSDevice pDevice, BYTE byData) | |||
1324 | * Return Value: none | 1324 | * Return Value: none |
1325 | * | 1325 | * |
1326 | */ | 1326 | */ |
1327 | VOID | 1327 | void |
1328 | BBvSoftwareReset (PSDevice pDevice) | 1328 | BBvSoftwareReset (PSDevice pDevice) |
1329 | { | 1329 | { |
1330 | ControlvWriteByte(pDevice, MESSAGE_REQUEST_BBREG, 0x50, 0x40); | 1330 | ControlvWriteByte(pDevice, MESSAGE_REQUEST_BBREG, 0x50, 0x40); |
@@ -1345,14 +1345,14 @@ BBvSoftwareReset (PSDevice pDevice) | |||
1345 | * Return Value: none | 1345 | * Return Value: none |
1346 | * | 1346 | * |
1347 | */ | 1347 | */ |
1348 | VOID | 1348 | void |
1349 | BBvSetDeepSleep (PSDevice pDevice) | 1349 | BBvSetDeepSleep (PSDevice pDevice) |
1350 | { | 1350 | { |
1351 | ControlvWriteByte(pDevice, MESSAGE_REQUEST_BBREG, 0x0c, 0x17);//CR12 | 1351 | ControlvWriteByte(pDevice, MESSAGE_REQUEST_BBREG, 0x0c, 0x17);//CR12 |
1352 | ControlvWriteByte(pDevice, MESSAGE_REQUEST_BBREG, 0x0D, 0xB9);//CR13 | 1352 | ControlvWriteByte(pDevice, MESSAGE_REQUEST_BBREG, 0x0D, 0xB9);//CR13 |
1353 | } | 1353 | } |
1354 | 1354 | ||
1355 | VOID | 1355 | void |
1356 | BBvExitDeepSleep (PSDevice pDevice) | 1356 | BBvExitDeepSleep (PSDevice pDevice) |
1357 | { | 1357 | { |
1358 | ControlvWriteByte(pDevice, MESSAGE_REQUEST_BBREG, 0x0C, 0x00);//CR12 | 1358 | ControlvWriteByte(pDevice, MESSAGE_REQUEST_BBREG, 0x0C, 0x00);//CR12 |
@@ -1360,13 +1360,11 @@ BBvExitDeepSleep (PSDevice pDevice) | |||
1360 | } | 1360 | } |
1361 | 1361 | ||
1362 | 1362 | ||
1363 | static | 1363 | static unsigned long s_ulGetLowSQ3(PSDevice pDevice) |
1364 | ULONG | ||
1365 | s_ulGetLowSQ3(PSDevice pDevice) | ||
1366 | { | 1364 | { |
1367 | int ii; | 1365 | int ii; |
1368 | ULONG ulSQ3 = 0; | 1366 | unsigned long ulSQ3 = 0; |
1369 | ULONG ulMaxPacket; | 1367 | unsigned long ulMaxPacket; |
1370 | 1368 | ||
1371 | ulMaxPacket = pDevice->aulPktNum[RATE_54M]; | 1369 | ulMaxPacket = pDevice->aulPktNum[RATE_54M]; |
1372 | if ( pDevice->aulPktNum[RATE_54M] != 0 ) { | 1370 | if ( pDevice->aulPktNum[RATE_54M] != 0 ) { |
@@ -1382,16 +1380,12 @@ ULONG ulMaxPacket; | |||
1382 | return ulSQ3; | 1380 | return ulSQ3; |
1383 | } | 1381 | } |
1384 | 1382 | ||
1385 | 1383 | static unsigned long s_ulGetRatio(PSDevice pDevice) | |
1386 | |||
1387 | static | ||
1388 | ULONG | ||
1389 | s_ulGetRatio (PSDevice pDevice) | ||
1390 | { | 1384 | { |
1391 | int ii,jj; | 1385 | int ii, jj; |
1392 | ULONG ulRatio = 0; | 1386 | unsigned long ulRatio = 0; |
1393 | ULONG ulMaxPacket; | 1387 | unsigned long ulMaxPacket; |
1394 | ULONG ulPacketNum; | 1388 | unsigned long ulPacketNum; |
1395 | 1389 | ||
1396 | //This is a thousand-ratio | 1390 | //This is a thousand-ratio |
1397 | ulMaxPacket = pDevice->aulPktNum[RATE_54M]; | 1391 | ulMaxPacket = pDevice->aulPktNum[RATE_54M]; |
@@ -1445,7 +1439,7 @@ s_vClearSQ3Value (PSDevice pDevice) | |||
1445 | * | 1439 | * |
1446 | */ | 1440 | */ |
1447 | 1441 | ||
1448 | VOID | 1442 | void |
1449 | BBvAntennaDiversity (PSDevice pDevice, BYTE byRxRate, BYTE bySQ3) | 1443 | BBvAntennaDiversity (PSDevice pDevice, BYTE byRxRate, BYTE bySQ3) |
1450 | { | 1444 | { |
1451 | 1445 | ||
@@ -1513,7 +1507,9 @@ BBvAntennaDiversity (PSDevice pDevice, BYTE byRxRate, BYTE bySQ3) | |||
1513 | if ( pDevice->byTMax == 0 ) | 1507 | if ( pDevice->byTMax == 0 ) |
1514 | return; | 1508 | return; |
1515 | 1509 | ||
1516 | bScheduleCommand((HANDLE) pDevice, WLAN_CMD_CHANGE_ANTENNA, NULL); | 1510 | bScheduleCommand((void *) pDevice, |
1511 | WLAN_CMD_CHANGE_ANTENNA, | ||
1512 | NULL); | ||
1517 | 1513 | ||
1518 | pDevice->byAntennaState = 1; | 1514 | pDevice->byAntennaState = 1; |
1519 | 1515 | ||
@@ -1543,7 +1539,9 @@ BBvAntennaDiversity (PSDevice pDevice, BYTE byRxRate, BYTE bySQ3) | |||
1543 | ((pDevice->ulSQ3_State1 != 0) && (pDevice->ulSQ3_State0 != 0) && (pDevice->ulSQ3_State0 < pDevice->ulSQ3_State1)) | 1539 | ((pDevice->ulSQ3_State1 != 0) && (pDevice->ulSQ3_State0 != 0) && (pDevice->ulSQ3_State0 < pDevice->ulSQ3_State1)) |
1544 | ) { | 1540 | ) { |
1545 | 1541 | ||
1546 | bScheduleCommand((HANDLE) pDevice, WLAN_CMD_CHANGE_ANTENNA, NULL); | 1542 | bScheduleCommand((void *) pDevice, |
1543 | WLAN_CMD_CHANGE_ANTENNA, | ||
1544 | NULL); | ||
1547 | 1545 | ||
1548 | pDevice->TimerSQ3Tmax3.expires = RUN_AT(pDevice->byTMax3 * HZ); | 1546 | pDevice->TimerSQ3Tmax3.expires = RUN_AT(pDevice->byTMax3 * HZ); |
1549 | pDevice->TimerSQ3Tmax2.expires = RUN_AT(pDevice->byTMax2 * HZ); | 1547 | pDevice->TimerSQ3Tmax2.expires = RUN_AT(pDevice->byTMax2 * HZ); |
@@ -1576,17 +1574,14 @@ BBvAntennaDiversity (PSDevice pDevice, BYTE byRxRate, BYTE bySQ3) | |||
1576 | * | 1574 | * |
1577 | -*/ | 1575 | -*/ |
1578 | 1576 | ||
1579 | VOID | 1577 | void TimerSQ3CallBack(void *hDeviceContext) |
1580 | TimerSQ3CallBack ( | ||
1581 | IN HANDLE hDeviceContext | ||
1582 | ) | ||
1583 | { | 1578 | { |
1584 | PSDevice pDevice = (PSDevice)hDeviceContext; | 1579 | PSDevice pDevice = (PSDevice)hDeviceContext; |
1585 | 1580 | ||
1586 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"TimerSQ3CallBack..."); | 1581 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"TimerSQ3CallBack..."); |
1587 | spin_lock_irq(&pDevice->lock); | 1582 | spin_lock_irq(&pDevice->lock); |
1588 | 1583 | ||
1589 | bScheduleCommand((HANDLE) pDevice, WLAN_CMD_CHANGE_ANTENNA, NULL); | 1584 | bScheduleCommand((void *) pDevice, WLAN_CMD_CHANGE_ANTENNA, NULL); |
1590 | pDevice->byAntennaState = 0; | 1585 | pDevice->byAntennaState = 0; |
1591 | s_vClearSQ3Value(pDevice); | 1586 | s_vClearSQ3Value(pDevice); |
1592 | pDevice->TimerSQ3Tmax3.expires = RUN_AT(pDevice->byTMax3 * HZ); | 1587 | pDevice->TimerSQ3Tmax3.expires = RUN_AT(pDevice->byTMax3 * HZ); |
@@ -1618,10 +1613,7 @@ TimerSQ3CallBack ( | |||
1618 | * | 1613 | * |
1619 | -*/ | 1614 | -*/ |
1620 | 1615 | ||
1621 | VOID | 1616 | void TimerSQ3Tmax3CallBack(void *hDeviceContext) |
1622 | TimerSQ3Tmax3CallBack ( | ||
1623 | IN HANDLE hDeviceContext | ||
1624 | ) | ||
1625 | { | 1617 | { |
1626 | PSDevice pDevice = (PSDevice)hDeviceContext; | 1618 | PSDevice pDevice = (PSDevice)hDeviceContext; |
1627 | 1619 | ||
@@ -1639,7 +1631,7 @@ TimerSQ3Tmax3CallBack ( | |||
1639 | return; | 1631 | return; |
1640 | } | 1632 | } |
1641 | 1633 | ||
1642 | bScheduleCommand((HANDLE) pDevice, WLAN_CMD_CHANGE_ANTENNA, NULL); | 1634 | bScheduleCommand((void *) pDevice, WLAN_CMD_CHANGE_ANTENNA, NULL); |
1643 | pDevice->byAntennaState = 1; | 1635 | pDevice->byAntennaState = 1; |
1644 | del_timer(&pDevice->TimerSQ3Tmax3); | 1636 | del_timer(&pDevice->TimerSQ3Tmax3); |
1645 | del_timer(&pDevice->TimerSQ3Tmax2); | 1637 | del_timer(&pDevice->TimerSQ3Tmax2); |
@@ -1650,10 +1642,10 @@ TimerSQ3Tmax3CallBack ( | |||
1650 | return; | 1642 | return; |
1651 | } | 1643 | } |
1652 | 1644 | ||
1653 | VOID | 1645 | void |
1654 | BBvUpdatePreEDThreshold( | 1646 | BBvUpdatePreEDThreshold( |
1655 | IN PSDevice pDevice, | 1647 | PSDevice pDevice, |
1656 | IN BOOL bScanning) | 1648 | BOOL bScanning) |
1657 | { | 1649 | { |
1658 | 1650 | ||
1659 | 1651 | ||
diff --git a/drivers/staging/vt6656/baseband.h b/drivers/staging/vt6656/baseband.h index e991a7e68d4..bc4633d5fea 100644 --- a/drivers/staging/vt6656/baseband.h +++ b/drivers/staging/vt6656/baseband.h | |||
@@ -96,51 +96,44 @@ | |||
96 | 96 | ||
97 | /*--------------------- Export Functions --------------------------*/ | 97 | /*--------------------- Export Functions --------------------------*/ |
98 | 98 | ||
99 | UINT | 99 | unsigned int |
100 | BBuGetFrameTime( | 100 | BBuGetFrameTime( |
101 | IN BYTE byPreambleType, | 101 | BYTE byPreambleType, |
102 | IN BYTE byFreqType, | 102 | BYTE byFreqType, |
103 | IN UINT cbFrameLength, | 103 | unsigned int cbFrameLength, |
104 | IN WORD wRate | 104 | WORD wRate |
105 | ); | 105 | ); |
106 | 106 | ||
107 | VOID | 107 | void |
108 | BBvCaculateParameter ( | 108 | BBvCaculateParameter ( |
109 | IN PSDevice pDevice, | 109 | PSDevice pDevice, |
110 | IN UINT cbFrameLength, | 110 | unsigned int cbFrameLength, |
111 | IN WORD wRate, | 111 | WORD wRate, |
112 | IN BYTE byPacketType, | 112 | BYTE byPacketType, |
113 | OUT PWORD pwPhyLen, | 113 | PWORD pwPhyLen, |
114 | OUT PBYTE pbyPhySrv, | 114 | PBYTE pbyPhySrv, |
115 | OUT PBYTE pbyPhySgn | 115 | PBYTE pbyPhySgn |
116 | ); | 116 | ); |
117 | 117 | ||
118 | // timer for antenna diversity | 118 | // timer for antenna diversity |
119 | 119 | ||
120 | VOID | 120 | void TimerSQ3CallBack(void *hDeviceContext); |
121 | TimerSQ3CallBack ( | 121 | void TimerSQ3Tmax3CallBack(void *hDeviceContext); |
122 | IN HANDLE hDeviceContext | ||
123 | ); | ||
124 | |||
125 | VOID | ||
126 | TimerSQ3Tmax3CallBack ( | ||
127 | IN HANDLE hDeviceContext | ||
128 | ); | ||
129 | 122 | ||
130 | VOID BBvAntennaDiversity (PSDevice pDevice, BYTE byRxRate, BYTE bySQ3); | 123 | void BBvAntennaDiversity(PSDevice pDevice, BYTE byRxRate, BYTE bySQ3); |
131 | void BBvLoopbackOn (PSDevice pDevice); | 124 | void BBvLoopbackOn(PSDevice pDevice); |
132 | void BBvLoopbackOff (PSDevice pDevice); | 125 | void BBvLoopbackOff(PSDevice pDevice); |
133 | void BBvSoftwareReset (PSDevice pDevice); | 126 | void BBvSoftwareReset(PSDevice pDevice); |
134 | 127 | ||
135 | void BBvSetShortSlotTime(PSDevice pDevice); | 128 | void BBvSetShortSlotTime(PSDevice pDevice); |
136 | VOID BBvSetVGAGainOffset(PSDevice pDevice, BYTE byData); | 129 | void BBvSetVGAGainOffset(PSDevice pDevice, BYTE byData); |
137 | void BBvSetAntennaMode(PSDevice pDevice, BYTE byAntennaMode); | 130 | void BBvSetAntennaMode(PSDevice pDevice, BYTE byAntennaMode); |
138 | BOOL BBbVT3184Init (PSDevice pDevice); | 131 | BOOL BBbVT3184Init (PSDevice pDevice); |
139 | VOID BBvSetDeepSleep (PSDevice pDevice); | 132 | void BBvSetDeepSleep(PSDevice pDevice); |
140 | VOID BBvExitDeepSleep (PSDevice pDevice); | 133 | void BBvExitDeepSleep(PSDevice pDevice); |
141 | VOID BBvUpdatePreEDThreshold( | 134 | void BBvUpdatePreEDThreshold( |
142 | IN PSDevice pDevice, | 135 | PSDevice pDevice, |
143 | IN BOOL bScanning | 136 | BOOL bScanning |
144 | ); | 137 | ); |
145 | 138 | ||
146 | #endif // __BASEBAND_H__ | 139 | #endif /* __BASEBAND_H__ */ |
diff --git a/drivers/staging/vt6656/bssdb.c b/drivers/staging/vt6656/bssdb.c index 6b1678bfd61..36ed61b595c 100644 --- a/drivers/staging/vt6656/bssdb.c +++ b/drivers/staging/vt6656/bssdb.c | |||
@@ -91,19 +91,13 @@ const WORD awHWRetry1[5][5] = { | |||
91 | 91 | ||
92 | /*--------------------- Static Functions --------------------------*/ | 92 | /*--------------------- Static Functions --------------------------*/ |
93 | 93 | ||
94 | VOID s_vCheckSensitivity( | 94 | void s_vCheckSensitivity(void *hDeviceContext); |
95 | IN HANDLE hDeviceContext | 95 | void s_vCheckPreEDThreshold(void *hDeviceContext); |
96 | ); | ||
97 | |||
98 | VOID s_vCheckPreEDThreshold( | ||
99 | IN HANDLE hDeviceContext | ||
100 | ); | ||
101 | 96 | ||
102 | #ifdef Calcu_LinkQual | 97 | #ifdef Calcu_LinkQual |
103 | VOID s_uCalculateLinkQual( | 98 | void s_uCalculateLinkQual(void *hDeviceContext); |
104 | IN HANDLE hDeviceContext | ||
105 | ); | ||
106 | #endif | 99 | #endif |
100 | |||
107 | /*--------------------- Export Variables --------------------------*/ | 101 | /*--------------------- Export Variables --------------------------*/ |
108 | 102 | ||
109 | 103 | ||
@@ -123,13 +117,10 @@ VOID s_uCalculateLinkQual( | |||
123 | * | 117 | * |
124 | -*/ | 118 | -*/ |
125 | 119 | ||
126 | PKnownBSS | 120 | PKnownBSS BSSpSearchBSSList(void *hDeviceContext, |
127 | BSSpSearchBSSList( | 121 | PBYTE pbyDesireBSSID, |
128 | IN HANDLE hDeviceContext, | 122 | PBYTE pbyDesireSSID, |
129 | IN PBYTE pbyDesireBSSID, | 123 | CARD_PHY_TYPE ePhyType) |
130 | IN PBYTE pbyDesireSSID, | ||
131 | IN CARD_PHY_TYPE ePhyType | ||
132 | ) | ||
133 | { | 124 | { |
134 | PSDevice pDevice = (PSDevice)hDeviceContext; | 125 | PSDevice pDevice = (PSDevice)hDeviceContext; |
135 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); | 126 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); |
@@ -138,8 +129,8 @@ BSSpSearchBSSList( | |||
138 | PKnownBSS pCurrBSS = NULL; | 129 | PKnownBSS pCurrBSS = NULL; |
139 | PKnownBSS pSelect = NULL; | 130 | PKnownBSS pSelect = NULL; |
140 | BYTE ZeroBSSID[WLAN_BSSID_LEN]={0x00,0x00,0x00,0x00,0x00,0x00}; | 131 | BYTE ZeroBSSID[WLAN_BSSID_LEN]={0x00,0x00,0x00,0x00,0x00,0x00}; |
141 | UINT ii = 0; | 132 | unsigned int ii = 0; |
142 | UINT jj = 0; //DavidWang | 133 | unsigned int jj = 0; |
143 | if (pbyDesireBSSID != NULL) { | 134 | if (pbyDesireBSSID != NULL) { |
144 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"BSSpSearchBSSList BSSID[%02X %02X %02X-%02X %02X %02X]\n", | 135 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"BSSpSearchBSSList BSSID[%02X %02X %02X-%02X %02X %02X]\n", |
145 | *pbyDesireBSSID,*(pbyDesireBSSID+1),*(pbyDesireBSSID+2), | 136 | *pbyDesireBSSID,*(pbyDesireBSSID+1),*(pbyDesireBSSID+2), |
@@ -296,15 +287,11 @@ pDevice->bSameBSSMaxNum = jj; | |||
296 | -*/ | 287 | -*/ |
297 | 288 | ||
298 | 289 | ||
299 | VOID | 290 | void BSSvClearBSSList(void *hDeviceContext, BOOL bKeepCurrBSSID) |
300 | BSSvClearBSSList( | ||
301 | IN HANDLE hDeviceContext, | ||
302 | IN BOOL bKeepCurrBSSID | ||
303 | ) | ||
304 | { | 291 | { |
305 | PSDevice pDevice = (PSDevice)hDeviceContext; | 292 | PSDevice pDevice = (PSDevice)hDeviceContext; |
306 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); | 293 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); |
307 | UINT ii; | 294 | unsigned int ii; |
308 | 295 | ||
309 | for (ii = 0; ii < MAX_BSS_NUM; ii++) { | 296 | for (ii = 0; ii < MAX_BSS_NUM; ii++) { |
310 | if (bKeepCurrBSSID) { | 297 | if (bKeepCurrBSSID) { |
@@ -342,17 +329,14 @@ BSSvClearBSSList( | |||
342 | * TRUE if found. | 329 | * TRUE if found. |
343 | * | 330 | * |
344 | -*/ | 331 | -*/ |
345 | PKnownBSS | 332 | PKnownBSS BSSpAddrIsInBSSList(void *hDeviceContext, |
346 | BSSpAddrIsInBSSList( | 333 | PBYTE abyBSSID, |
347 | IN HANDLE hDeviceContext, | 334 | PWLAN_IE_SSID pSSID) |
348 | IN PBYTE abyBSSID, | ||
349 | IN PWLAN_IE_SSID pSSID | ||
350 | ) | ||
351 | { | 335 | { |
352 | PSDevice pDevice = (PSDevice)hDeviceContext; | 336 | PSDevice pDevice = (PSDevice)hDeviceContext; |
353 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); | 337 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); |
354 | PKnownBSS pBSSList = NULL; | 338 | PKnownBSS pBSSList = NULL; |
355 | UINT ii; | 339 | unsigned int ii; |
356 | 340 | ||
357 | for (ii = 0; ii < MAX_BSS_NUM; ii++) { | 341 | for (ii = 0; ii < MAX_BSS_NUM; ii++) { |
358 | pBSSList = &(pMgmt->sBSSList[ii]); | 342 | pBSSList = &(pMgmt->sBSSList[ii]); |
@@ -383,33 +367,30 @@ BSSpAddrIsInBSSList( | |||
383 | * | 367 | * |
384 | -*/ | 368 | -*/ |
385 | 369 | ||
386 | BOOL | 370 | BOOL BSSbInsertToBSSList(void *hDeviceContext, |
387 | BSSbInsertToBSSList ( | 371 | PBYTE abyBSSIDAddr, |
388 | IN HANDLE hDeviceContext, | 372 | QWORD qwTimestamp, |
389 | IN PBYTE abyBSSIDAddr, | 373 | WORD wBeaconInterval, |
390 | IN QWORD qwTimestamp, | 374 | WORD wCapInfo, |
391 | IN WORD wBeaconInterval, | 375 | BYTE byCurrChannel, |
392 | IN WORD wCapInfo, | 376 | PWLAN_IE_SSID pSSID, |
393 | IN BYTE byCurrChannel, | 377 | PWLAN_IE_SUPP_RATES pSuppRates, |
394 | IN PWLAN_IE_SSID pSSID, | 378 | PWLAN_IE_SUPP_RATES pExtSuppRates, |
395 | IN PWLAN_IE_SUPP_RATES pSuppRates, | 379 | PERPObject psERP, |
396 | IN PWLAN_IE_SUPP_RATES pExtSuppRates, | 380 | PWLAN_IE_RSN pRSN, |
397 | IN PERPObject psERP, | 381 | PWLAN_IE_RSN_EXT pRSNWPA, |
398 | IN PWLAN_IE_RSN pRSN, | 382 | PWLAN_IE_COUNTRY pIE_Country, |
399 | IN PWLAN_IE_RSN_EXT pRSNWPA, | 383 | PWLAN_IE_QUIET pIE_Quiet, |
400 | IN PWLAN_IE_COUNTRY pIE_Country, | 384 | unsigned int uIELength, |
401 | IN PWLAN_IE_QUIET pIE_Quiet, | 385 | PBYTE pbyIEs, |
402 | IN UINT uIELength, | 386 | void *pRxPacketContext) |
403 | IN PBYTE pbyIEs, | ||
404 | IN HANDLE pRxPacketContext | ||
405 | ) | ||
406 | { | 387 | { |
407 | 388 | ||
408 | PSDevice pDevice = (PSDevice)hDeviceContext; | 389 | PSDevice pDevice = (PSDevice)hDeviceContext; |
409 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); | 390 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); |
410 | PSRxMgmtPacket pRxPacket = (PSRxMgmtPacket)pRxPacketContext; | 391 | PSRxMgmtPacket pRxPacket = (PSRxMgmtPacket)pRxPacketContext; |
411 | PKnownBSS pBSSList = NULL; | 392 | PKnownBSS pBSSList = NULL; |
412 | UINT ii; | 393 | unsigned int ii; |
413 | BOOL bParsingQuiet = FALSE; | 394 | BOOL bParsingQuiet = FALSE; |
414 | 395 | ||
415 | 396 | ||
@@ -484,24 +465,27 @@ BSSbInsertToBSSList ( | |||
484 | WPA_ClearRSN(pBSSList); | 465 | WPA_ClearRSN(pBSSList); |
485 | 466 | ||
486 | if (pRSNWPA != NULL) { | 467 | if (pRSNWPA != NULL) { |
487 | UINT uLen = pRSNWPA->len + 2; | 468 | unsigned int uLen = pRSNWPA->len + 2; |
488 | 469 | ||
489 | if (uLen <= (uIELength - (UINT)(ULONG_PTR)((PBYTE)pRSNWPA - pbyIEs))) { | 470 | if (uLen <= (uIELength - |
490 | pBSSList->wWPALen = uLen; | 471 | (unsigned int) (ULONG_PTR) ((PBYTE) pRSNWPA - pbyIEs))) { |
491 | memcpy(pBSSList->byWPAIE, pRSNWPA, uLen); | 472 | pBSSList->wWPALen = uLen; |
492 | WPA_ParseRSN(pBSSList, pRSNWPA); | 473 | memcpy(pBSSList->byWPAIE, pRSNWPA, uLen); |
493 | } | 474 | WPA_ParseRSN(pBSSList, pRSNWPA); |
475 | } | ||
494 | } | 476 | } |
495 | 477 | ||
496 | WPA2_ClearRSN(pBSSList); | 478 | WPA2_ClearRSN(pBSSList); |
497 | 479 | ||
498 | if (pRSN != NULL) { | 480 | if (pRSN != NULL) { |
499 | UINT uLen = pRSN->len + 2; | 481 | unsigned int uLen = pRSN->len + 2; |
500 | if (uLen <= (uIELength - (UINT)(ULONG_PTR)((PBYTE)pRSN - pbyIEs))) { | 482 | |
501 | pBSSList->wRSNLen = uLen; | 483 | if (uLen <= (uIELength - |
502 | memcpy(pBSSList->byRSNIE, pRSN, uLen); | 484 | (unsigned int) (ULONG_PTR) ((PBYTE) pRSN - pbyIEs))) { |
503 | WPA2vParseRSN(pBSSList, pRSN); | 485 | pBSSList->wRSNLen = uLen; |
504 | } | 486 | memcpy(pBSSList->byRSNIE, pRSN, uLen); |
487 | WPA2vParseRSN(pBSSList, pRSN); | ||
488 | } | ||
505 | } | 489 | } |
506 | 490 | ||
507 | if ((pMgmt->eAuthenMode == WMAC_AUTH_WPA2) || (pBSSList->bWPA2Valid == TRUE)) { | 491 | if ((pMgmt->eAuthenMode == WMAC_AUTH_WPA2) || (pBSSList->bWPA2Valid == TRUE)) { |
@@ -518,7 +502,9 @@ BSSbInsertToBSSList ( | |||
518 | if ((bIs802_1x == TRUE) && (pSSID->len == ((PWLAN_IE_SSID)pMgmt->abyDesireSSID)->len) && | 502 | if ((bIs802_1x == TRUE) && (pSSID->len == ((PWLAN_IE_SSID)pMgmt->abyDesireSSID)->len) && |
519 | ( !memcmp(pSSID->abySSID, ((PWLAN_IE_SSID)pMgmt->abyDesireSSID)->abySSID, pSSID->len))) { | 503 | ( !memcmp(pSSID->abySSID, ((PWLAN_IE_SSID)pMgmt->abyDesireSSID)->abySSID, pSSID->len))) { |
520 | 504 | ||
521 | bAdd_PMKID_Candidate((HANDLE)pDevice, pBSSList->abyBSSID, &pBSSList->sRSNCapObj); | 505 | bAdd_PMKID_Candidate((void *) pDevice, |
506 | pBSSList->abyBSSID, | ||
507 | &pBSSList->sRSNCapObj); | ||
522 | 508 | ||
523 | if ((pDevice->bLinkPass == TRUE) && (pMgmt->eCurrState == WMAC_STATE_ASSOC)) { | 509 | if ((pDevice->bLinkPass == TRUE) && (pMgmt->eCurrState == WMAC_STATE_ASSOC)) { |
524 | if ((KeybGetTransmitKey(&(pDevice->sKey), pDevice->abyBSSID, PAIRWISE_KEY, &pTransmitKey) == TRUE) || | 510 | if ((KeybGetTransmitKey(&(pDevice->sKey), pDevice->abyBSSID, PAIRWISE_KEY, &pTransmitKey) == TRUE) || |
@@ -602,33 +588,30 @@ BSSbInsertToBSSList ( | |||
602 | -*/ | 588 | -*/ |
603 | // TODO: input structure modify | 589 | // TODO: input structure modify |
604 | 590 | ||
605 | BOOL | 591 | BOOL BSSbUpdateToBSSList(void *hDeviceContext, |
606 | BSSbUpdateToBSSList ( | 592 | QWORD qwTimestamp, |
607 | IN HANDLE hDeviceContext, | 593 | WORD wBeaconInterval, |
608 | IN QWORD qwTimestamp, | 594 | WORD wCapInfo, |
609 | IN WORD wBeaconInterval, | 595 | BYTE byCurrChannel, |
610 | IN WORD wCapInfo, | 596 | BOOL bChannelHit, |
611 | IN BYTE byCurrChannel, | 597 | PWLAN_IE_SSID pSSID, |
612 | IN BOOL bChannelHit, | 598 | PWLAN_IE_SUPP_RATES pSuppRates, |
613 | IN PWLAN_IE_SSID pSSID, | 599 | PWLAN_IE_SUPP_RATES pExtSuppRates, |
614 | IN PWLAN_IE_SUPP_RATES pSuppRates, | 600 | PERPObject psERP, |
615 | IN PWLAN_IE_SUPP_RATES pExtSuppRates, | 601 | PWLAN_IE_RSN pRSN, |
616 | IN PERPObject psERP, | 602 | PWLAN_IE_RSN_EXT pRSNWPA, |
617 | IN PWLAN_IE_RSN pRSN, | 603 | PWLAN_IE_COUNTRY pIE_Country, |
618 | IN PWLAN_IE_RSN_EXT pRSNWPA, | 604 | PWLAN_IE_QUIET pIE_Quiet, |
619 | IN PWLAN_IE_COUNTRY pIE_Country, | 605 | PKnownBSS pBSSList, |
620 | IN PWLAN_IE_QUIET pIE_Quiet, | 606 | unsigned int uIELength, |
621 | IN PKnownBSS pBSSList, | 607 | PBYTE pbyIEs, |
622 | IN UINT uIELength, | 608 | void *pRxPacketContext) |
623 | IN PBYTE pbyIEs, | ||
624 | IN HANDLE pRxPacketContext | ||
625 | ) | ||
626 | { | 609 | { |
627 | int ii, jj; | 610 | int ii, jj; |
628 | PSDevice pDevice = (PSDevice)hDeviceContext; | 611 | PSDevice pDevice = (PSDevice)hDeviceContext; |
629 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); | 612 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); |
630 | PSRxMgmtPacket pRxPacket = (PSRxMgmtPacket)pRxPacketContext; | 613 | PSRxMgmtPacket pRxPacket = (PSRxMgmtPacket)pRxPacketContext; |
631 | LONG ldBm, ldBmSum; | 614 | signed long ldBm, ldBmSum; |
632 | BOOL bParsingQuiet = FALSE; | 615 | BOOL bParsingQuiet = FALSE; |
633 | // BYTE abyTmpSSID[WLAN_IEHDR_LEN + WLAN_SSID_MAXLEN + 1]; | 616 | // BYTE abyTmpSSID[WLAN_IEHDR_LEN + WLAN_SSID_MAXLEN + 1]; |
634 | 617 | ||
@@ -687,24 +670,26 @@ BSSbUpdateToBSSList ( | |||
687 | 670 | ||
688 | WPA_ClearRSN(pBSSList); //mike update | 671 | WPA_ClearRSN(pBSSList); //mike update |
689 | 672 | ||
690 | if (pRSNWPA != NULL) { | 673 | if (pRSNWPA != NULL) { |
691 | UINT uLen = pRSNWPA->len + 2; | 674 | unsigned int uLen = pRSNWPA->len + 2; |
692 | if (uLen <= (uIELength - (UINT)(ULONG_PTR)((PBYTE)pRSNWPA - pbyIEs))) { | 675 | if (uLen <= (uIELength - |
693 | pBSSList->wWPALen = uLen; | 676 | (unsigned int) (ULONG_PTR) ((PBYTE) pRSNWPA - pbyIEs))) { |
694 | memcpy(pBSSList->byWPAIE, pRSNWPA, uLen); | 677 | pBSSList->wWPALen = uLen; |
695 | WPA_ParseRSN(pBSSList, pRSNWPA); | 678 | memcpy(pBSSList->byWPAIE, pRSNWPA, uLen); |
696 | } | 679 | WPA_ParseRSN(pBSSList, pRSNWPA); |
697 | } | 680 | } |
681 | } | ||
698 | 682 | ||
699 | WPA2_ClearRSN(pBSSList); //mike update | 683 | WPA2_ClearRSN(pBSSList); //mike update |
700 | 684 | ||
701 | if (pRSN != NULL) { | 685 | if (pRSN != NULL) { |
702 | UINT uLen = pRSN->len + 2; | 686 | unsigned int uLen = pRSN->len + 2; |
703 | if (uLen <= (uIELength - (UINT)(ULONG_PTR)((PBYTE)pRSN - pbyIEs))) { | 687 | if (uLen <= (uIELength - |
704 | pBSSList->wRSNLen = uLen; | 688 | (unsigned int) (ULONG_PTR) ((PBYTE) pRSN - pbyIEs))) { |
705 | memcpy(pBSSList->byRSNIE, pRSN, uLen); | 689 | pBSSList->wRSNLen = uLen; |
706 | WPA2vParseRSN(pBSSList, pRSN); | 690 | memcpy(pBSSList->byRSNIE, pRSN, uLen); |
707 | } | 691 | WPA2vParseRSN(pBSSList, pRSN); |
692 | } | ||
708 | } | 693 | } |
709 | 694 | ||
710 | if (pRxPacket->uRSSI != 0) { | 695 | if (pRxPacket->uRSSI != 0) { |
@@ -768,16 +753,13 @@ BSSbUpdateToBSSList ( | |||
768 | * | 753 | * |
769 | -*/ | 754 | -*/ |
770 | 755 | ||
771 | BOOL | 756 | BOOL BSSbIsSTAInNodeDB(void *hDeviceContext, |
772 | BSSbIsSTAInNodeDB( | 757 | PBYTE abyDstAddr, |
773 | IN HANDLE hDeviceContext, | 758 | PUINT puNodeIndex) |
774 | IN PBYTE abyDstAddr, | ||
775 | OUT PUINT puNodeIndex | ||
776 | ) | ||
777 | { | 759 | { |
778 | PSDevice pDevice = (PSDevice)hDeviceContext; | 760 | PSDevice pDevice = (PSDevice)hDeviceContext; |
779 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); | 761 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); |
780 | UINT ii; | 762 | unsigned int ii; |
781 | 763 | ||
782 | // Index = 0 reserved for AP Node | 764 | // Index = 0 reserved for AP Node |
783 | for (ii = 1; ii < (MAX_NODE_NUM + 1); ii++) { | 765 | for (ii = 1; ii < (MAX_NODE_NUM + 1); ii++) { |
@@ -804,18 +786,14 @@ BSSbIsSTAInNodeDB( | |||
804 | * None | 786 | * None |
805 | * | 787 | * |
806 | -*/ | 788 | -*/ |
807 | VOID | 789 | void BSSvCreateOneNode(void *hDeviceContext, PUINT puNodeIndex) |
808 | BSSvCreateOneNode( | ||
809 | IN HANDLE hDeviceContext, | ||
810 | OUT PUINT puNodeIndex | ||
811 | ) | ||
812 | { | 790 | { |
813 | 791 | ||
814 | PSDevice pDevice = (PSDevice)hDeviceContext; | 792 | PSDevice pDevice = (PSDevice)hDeviceContext; |
815 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); | 793 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); |
816 | UINT ii; | 794 | unsigned int ii; |
817 | UINT BigestCount = 0; | 795 | unsigned int BigestCount = 0; |
818 | UINT SelectIndex; | 796 | unsigned int SelectIndex; |
819 | struct sk_buff *skb; | 797 | struct sk_buff *skb; |
820 | // Index = 0 reserved for AP Node (In STA mode) | 798 | // Index = 0 reserved for AP Node (In STA mode) |
821 | // Index = 0 reserved for Broadcast/MultiCast (In AP mode) | 799 | // Index = 0 reserved for Broadcast/MultiCast (In AP mode) |
@@ -869,11 +847,8 @@ BSSvCreateOneNode( | |||
869 | * None | 847 | * None |
870 | * | 848 | * |
871 | -*/ | 849 | -*/ |
872 | VOID | 850 | |
873 | BSSvRemoveOneNode( | 851 | void BSSvRemoveOneNode(void *hDeviceContext, unsigned int uNodeIndex) |
874 | IN HANDLE hDeviceContext, | ||
875 | IN UINT uNodeIndex | ||
876 | ) | ||
877 | { | 852 | { |
878 | 853 | ||
879 | PSDevice pDevice = (PSDevice)hDeviceContext; | 854 | PSDevice pDevice = (PSDevice)hDeviceContext; |
@@ -902,17 +877,14 @@ BSSvRemoveOneNode( | |||
902 | * | 877 | * |
903 | -*/ | 878 | -*/ |
904 | 879 | ||
905 | VOID | 880 | void BSSvUpdateAPNode(void *hDeviceContext, |
906 | BSSvUpdateAPNode( | 881 | PWORD pwCapInfo, |
907 | IN HANDLE hDeviceContext, | 882 | PWLAN_IE_SUPP_RATES pSuppRates, |
908 | IN PWORD pwCapInfo, | 883 | PWLAN_IE_SUPP_RATES pExtSuppRates) |
909 | IN PWLAN_IE_SUPP_RATES pSuppRates, | ||
910 | IN PWLAN_IE_SUPP_RATES pExtSuppRates | ||
911 | ) | ||
912 | { | 884 | { |
913 | PSDevice pDevice = (PSDevice)hDeviceContext; | 885 | PSDevice pDevice = (PSDevice)hDeviceContext; |
914 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); | 886 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); |
915 | UINT uRateLen = WLAN_RATES_MAXLEN; | 887 | unsigned int uRateLen = WLAN_RATES_MAXLEN; |
916 | 888 | ||
917 | memset(&pMgmt->sNodeDBTable[0], 0, sizeof(KnownNodeDB)); | 889 | memset(&pMgmt->sNodeDBTable[0], 0, sizeof(KnownNodeDB)); |
918 | 890 | ||
@@ -926,7 +898,7 @@ BSSvUpdateAPNode( | |||
926 | pMgmt->abyCurrExtSuppRates[1] = RATEuSetIE((PWLAN_IE_SUPP_RATES)pExtSuppRates, | 898 | pMgmt->abyCurrExtSuppRates[1] = RATEuSetIE((PWLAN_IE_SUPP_RATES)pExtSuppRates, |
927 | (PWLAN_IE_SUPP_RATES)pMgmt->abyCurrExtSuppRates, | 899 | (PWLAN_IE_SUPP_RATES)pMgmt->abyCurrExtSuppRates, |
928 | uRateLen); | 900 | uRateLen); |
929 | RATEvParseMaxRate((PVOID) pDevice, | 901 | RATEvParseMaxRate((void *) pDevice, |
930 | (PWLAN_IE_SUPP_RATES)pMgmt->abyCurrSuppRates, | 902 | (PWLAN_IE_SUPP_RATES)pMgmt->abyCurrSuppRates, |
931 | (PWLAN_IE_SUPP_RATES)pMgmt->abyCurrExtSuppRates, | 903 | (PWLAN_IE_SUPP_RATES)pMgmt->abyCurrExtSuppRates, |
932 | TRUE, | 904 | TRUE, |
@@ -946,10 +918,6 @@ BSSvUpdateAPNode( | |||
946 | 918 | ||
947 | }; | 919 | }; |
948 | 920 | ||
949 | |||
950 | |||
951 | |||
952 | |||
953 | /*+ | 921 | /*+ |
954 | * | 922 | * |
955 | * Routine Description: | 923 | * Routine Description: |
@@ -961,11 +929,7 @@ BSSvUpdateAPNode( | |||
961 | * | 929 | * |
962 | -*/ | 930 | -*/ |
963 | 931 | ||
964 | 932 | void BSSvAddMulticastNode(void *hDeviceContext) | |
965 | VOID | ||
966 | BSSvAddMulticastNode( | ||
967 | IN HANDLE hDeviceContext | ||
968 | ) | ||
969 | { | 933 | { |
970 | PSDevice pDevice = (PSDevice)hDeviceContext; | 934 | PSDevice pDevice = (PSDevice)hDeviceContext; |
971 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); | 935 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); |
@@ -976,7 +940,7 @@ BSSvAddMulticastNode( | |||
976 | pMgmt->sNodeDBTable[0].bActive = TRUE; | 940 | pMgmt->sNodeDBTable[0].bActive = TRUE; |
977 | pMgmt->sNodeDBTable[0].bPSEnable = FALSE; | 941 | pMgmt->sNodeDBTable[0].bPSEnable = FALSE; |
978 | skb_queue_head_init(&pMgmt->sNodeDBTable[0].sTxPSQueue); | 942 | skb_queue_head_init(&pMgmt->sNodeDBTable[0].sTxPSQueue); |
979 | RATEvParseMaxRate((PVOID) pDevice, | 943 | RATEvParseMaxRate((void *) pDevice, |
980 | (PWLAN_IE_SUPP_RATES)pMgmt->abyCurrSuppRates, | 944 | (PWLAN_IE_SUPP_RATES)pMgmt->abyCurrSuppRates, |
981 | (PWLAN_IE_SUPP_RATES)pMgmt->abyCurrExtSuppRates, | 945 | (PWLAN_IE_SUPP_RATES)pMgmt->abyCurrExtSuppRates, |
982 | TRUE, | 946 | TRUE, |
@@ -991,10 +955,6 @@ BSSvAddMulticastNode( | |||
991 | 955 | ||
992 | }; | 956 | }; |
993 | 957 | ||
994 | |||
995 | |||
996 | |||
997 | |||
998 | /*+ | 958 | /*+ |
999 | * | 959 | * |
1000 | * Routine Description: | 960 | * Routine Description: |
@@ -1008,19 +968,15 @@ BSSvAddMulticastNode( | |||
1008 | * | 968 | * |
1009 | -*/ | 969 | -*/ |
1010 | 970 | ||
1011 | 971 | void BSSvSecondCallBack(void *hDeviceContext) | |
1012 | VOID | ||
1013 | BSSvSecondCallBack( | ||
1014 | IN HANDLE hDeviceContext | ||
1015 | ) | ||
1016 | { | 972 | { |
1017 | PSDevice pDevice = (PSDevice)hDeviceContext; | 973 | PSDevice pDevice = (PSDevice)hDeviceContext; |
1018 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); | 974 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); |
1019 | UINT ii; | 975 | unsigned int ii; |
1020 | PWLAN_IE_SSID pItemSSID, pCurrSSID; | 976 | PWLAN_IE_SSID pItemSSID, pCurrSSID; |
1021 | UINT uSleepySTACnt = 0; | 977 | unsigned int uSleepySTACnt = 0; |
1022 | UINT uNonShortSlotSTACnt = 0; | 978 | unsigned int uNonShortSlotSTACnt = 0; |
1023 | UINT uLongPreambleSTACnt = 0; | 979 | unsigned int uLongPreambleSTACnt = 0; |
1024 | viawget_wpa_header *wpahdr; //DavidWang | 980 | viawget_wpa_header *wpahdr; //DavidWang |
1025 | 981 | ||
1026 | spin_lock_irq(&pDevice->lock); | 982 | spin_lock_irq(&pDevice->lock); |
@@ -1080,7 +1036,7 @@ if((pMgmt->eCurrState!=WMAC_STATE_ASSOC) && | |||
1080 | #endif | 1036 | #endif |
1081 | 1037 | ||
1082 | #ifdef Calcu_LinkQual | 1038 | #ifdef Calcu_LinkQual |
1083 | s_uCalculateLinkQual((HANDLE)pDevice); | 1039 | s_uCalculateLinkQual((void *)pDevice); |
1084 | #endif | 1040 | #endif |
1085 | 1041 | ||
1086 | for (ii = 0; ii < (MAX_NODE_NUM + 1); ii++) { | 1042 | for (ii = 0; ii < (MAX_NODE_NUM + 1); ii++) { |
@@ -1131,12 +1087,14 @@ if((pMgmt->eCurrState!=WMAC_STATE_ASSOC) && | |||
1131 | */ | 1087 | */ |
1132 | if (ii > 0) { | 1088 | if (ii > 0) { |
1133 | // ii = 0 for multicast node (AP & Adhoc) | 1089 | // ii = 0 for multicast node (AP & Adhoc) |
1134 | RATEvTxRateFallBack((PVOID)pDevice, &(pMgmt->sNodeDBTable[ii])); | 1090 | RATEvTxRateFallBack((void *)pDevice, |
1091 | &(pMgmt->sNodeDBTable[ii])); | ||
1135 | } | 1092 | } |
1136 | else { | 1093 | else { |
1137 | // ii = 0 reserved for unicast AP node (Infra STA) | 1094 | // ii = 0 reserved for unicast AP node (Infra STA) |
1138 | if (pMgmt->eCurrMode == WMAC_MODE_ESS_STA) | 1095 | if (pMgmt->eCurrMode == WMAC_MODE_ESS_STA) |
1139 | RATEvTxRateFallBack((PVOID)pDevice, &(pMgmt->sNodeDBTable[ii])); | 1096 | RATEvTxRateFallBack((void *)pDevice, |
1097 | &(pMgmt->sNodeDBTable[ii])); | ||
1140 | } | 1098 | } |
1141 | 1099 | ||
1142 | } | 1100 | } |
@@ -1177,14 +1135,14 @@ if((pMgmt->eCurrState!=WMAC_STATE_ASSOC) && | |||
1177 | if (pDevice->bShortSlotTime) { | 1135 | if (pDevice->bShortSlotTime) { |
1178 | pDevice->bShortSlotTime = FALSE; | 1136 | pDevice->bShortSlotTime = FALSE; |
1179 | BBvSetShortSlotTime(pDevice); | 1137 | BBvSetShortSlotTime(pDevice); |
1180 | vUpdateIFS((PVOID)pDevice); | 1138 | vUpdateIFS((void *)pDevice); |
1181 | } | 1139 | } |
1182 | } | 1140 | } |
1183 | else { | 1141 | else { |
1184 | if (!pDevice->bShortSlotTime) { | 1142 | if (!pDevice->bShortSlotTime) { |
1185 | pDevice->bShortSlotTime = TRUE; | 1143 | pDevice->bShortSlotTime = TRUE; |
1186 | BBvSetShortSlotTime(pDevice); | 1144 | BBvSetShortSlotTime(pDevice); |
1187 | vUpdateIFS((PVOID)pDevice); | 1145 | vUpdateIFS((void *)pDevice); |
1188 | } | 1146 | } |
1189 | } | 1147 | } |
1190 | 1148 | ||
@@ -1224,14 +1182,16 @@ if((pMgmt->eCurrState!=WMAC_STATE_ASSOC) && | |||
1224 | // DBG_PRT(MSG_LEVEL_INFO, KERN_INFO "Callback inactive Count = [%d]\n", pMgmt->sNodeDBTable[0].uInActiveCount); | 1182 | // DBG_PRT(MSG_LEVEL_INFO, KERN_INFO "Callback inactive Count = [%d]\n", pMgmt->sNodeDBTable[0].uInActiveCount); |
1225 | 1183 | ||
1226 | if (pDevice->bUpdateBBVGA) { | 1184 | if (pDevice->bUpdateBBVGA) { |
1227 | // s_vCheckSensitivity((HANDLE) pDevice); | 1185 | /* s_vCheckSensitivity((void *) pDevice); */ |
1228 | s_vCheckPreEDThreshold((HANDLE)pDevice); | 1186 | s_vCheckPreEDThreshold((void *) pDevice); |
1229 | } | 1187 | } |
1230 | 1188 | ||
1231 | if ((pMgmt->sNodeDBTable[0].uInActiveCount >= (LOST_BEACON_COUNT/2)) && | 1189 | if ((pMgmt->sNodeDBTable[0].uInActiveCount >= (LOST_BEACON_COUNT/2)) && |
1232 | (pDevice->byBBVGACurrent != pDevice->abyBBVGA[0]) ) { | 1190 | (pDevice->byBBVGACurrent != pDevice->abyBBVGA[0]) ) { |
1233 | pDevice->byBBVGANew = pDevice->abyBBVGA[0]; | 1191 | pDevice->byBBVGANew = pDevice->abyBBVGA[0]; |
1234 | bScheduleCommand((HANDLE) pDevice, WLAN_CMD_CHANGE_BBSENSITIVITY, NULL); | 1192 | bScheduleCommand((void *) pDevice, |
1193 | WLAN_CMD_CHANGE_BBSENSITIVITY, | ||
1194 | NULL); | ||
1235 | } | 1195 | } |
1236 | 1196 | ||
1237 | if (pMgmt->sNodeDBTable[0].uInActiveCount >= LOST_BEACON_COUNT) { | 1197 | if (pMgmt->sNodeDBTable[0].uInActiveCount >= LOST_BEACON_COUNT) { |
@@ -1279,9 +1239,13 @@ DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "bRoaming %d, !\n", pDevice->bRoaming ); | |||
1279 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "bIsRoaming %d, !\n", pDevice->bIsRoaming ); | 1239 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "bIsRoaming %d, !\n", pDevice->bIsRoaming ); |
1280 | if ((pDevice->bRoaming == TRUE)&&(pDevice->bIsRoaming == TRUE)){ | 1240 | if ((pDevice->bRoaming == TRUE)&&(pDevice->bIsRoaming == TRUE)){ |
1281 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "Fast Roaming ...\n"); | 1241 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "Fast Roaming ...\n"); |
1282 | BSSvClearBSSList((HANDLE)pDevice, pDevice->bLinkPass); | 1242 | BSSvClearBSSList((void *) pDevice, pDevice->bLinkPass); |
1283 | bScheduleCommand((HANDLE) pDevice, WLAN_CMD_BSSID_SCAN, pMgmt->abyDesireSSID); | 1243 | bScheduleCommand((void *) pDevice, |
1284 | bScheduleCommand((HANDLE) pDevice, WLAN_CMD_SSID, pMgmt->abyDesireSSID); | 1244 | WLAN_CMD_BSSID_SCAN, |
1245 | pMgmt->abyDesireSSID); | ||
1246 | bScheduleCommand((void *) pDevice, | ||
1247 | WLAN_CMD_SSID, | ||
1248 | pMgmt->abyDesireSSID); | ||
1285 | pDevice->uAutoReConnectTime = 0; | 1249 | pDevice->uAutoReConnectTime = 0; |
1286 | pDevice->uIsroamingTime = 0; | 1250 | pDevice->uIsroamingTime = 0; |
1287 | pDevice->bRoaming = FALSE; | 1251 | pDevice->bRoaming = FALSE; |
@@ -1324,10 +1288,14 @@ else { | |||
1324 | pDevice->eEncryptionStatus = pDevice->eOldEncryptionStatus; | 1288 | pDevice->eEncryptionStatus = pDevice->eOldEncryptionStatus; |
1325 | 1289 | ||
1326 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "Roaming ...\n"); | 1290 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "Roaming ...\n"); |
1327 | BSSvClearBSSList((HANDLE)pDevice, pDevice->bLinkPass); | 1291 | BSSvClearBSSList((void *) pDevice, pDevice->bLinkPass); |
1328 | pMgmt->eScanType = WMAC_SCAN_ACTIVE; | 1292 | pMgmt->eScanType = WMAC_SCAN_ACTIVE; |
1329 | bScheduleCommand((HANDLE) pDevice, WLAN_CMD_BSSID_SCAN, pMgmt->abyDesireSSID); | 1293 | bScheduleCommand((void *) pDevice, |
1330 | bScheduleCommand((HANDLE) pDevice, WLAN_CMD_SSID, pMgmt->abyDesireSSID); | 1294 | WLAN_CMD_BSSID_SCAN, |
1295 | pMgmt->abyDesireSSID); | ||
1296 | bScheduleCommand((void *) pDevice, | ||
1297 | WLAN_CMD_SSID, | ||
1298 | pMgmt->abyDesireSSID); | ||
1331 | pDevice->uAutoReConnectTime = 0; | 1299 | pDevice->uAutoReConnectTime = 0; |
1332 | } | 1300 | } |
1333 | } | 1301 | } |
@@ -1343,17 +1311,17 @@ else { | |||
1343 | else { | 1311 | else { |
1344 | DBG_PRT(MSG_LEVEL_NOTICE, KERN_INFO "Adhoc re-scaning ...\n"); | 1312 | DBG_PRT(MSG_LEVEL_NOTICE, KERN_INFO "Adhoc re-scaning ...\n"); |
1345 | pMgmt->eScanType = WMAC_SCAN_ACTIVE; | 1313 | pMgmt->eScanType = WMAC_SCAN_ACTIVE; |
1346 | bScheduleCommand((HANDLE) pDevice, WLAN_CMD_BSSID_SCAN, NULL); | 1314 | bScheduleCommand((void *) pDevice, WLAN_CMD_BSSID_SCAN, NULL); |
1347 | bScheduleCommand((HANDLE) pDevice, WLAN_CMD_SSID, NULL); | 1315 | bScheduleCommand((void *) pDevice, WLAN_CMD_SSID, NULL); |
1348 | pDevice->uAutoReConnectTime = 0; | 1316 | pDevice->uAutoReConnectTime = 0; |
1349 | }; | 1317 | }; |
1350 | } | 1318 | } |
1351 | if (pMgmt->eCurrState == WMAC_STATE_JOINTED) { | 1319 | if (pMgmt->eCurrState == WMAC_STATE_JOINTED) { |
1352 | 1320 | ||
1353 | if (pDevice->bUpdateBBVGA) { | 1321 | if (pDevice->bUpdateBBVGA) { |
1354 | //s_vCheckSensitivity((HANDLE) pDevice); | 1322 | /* s_vCheckSensitivity((void *) pDevice); */ |
1355 | s_vCheckPreEDThreshold((HANDLE)pDevice); | 1323 | s_vCheckPreEDThreshold((void *) pDevice); |
1356 | } | 1324 | } |
1357 | if (pMgmt->sNodeDBTable[0].uInActiveCount >=ADHOC_LOST_BEACON_COUNT) { | 1325 | if (pMgmt->sNodeDBTable[0].uInActiveCount >=ADHOC_LOST_BEACON_COUNT) { |
1358 | DBG_PRT(MSG_LEVEL_NOTICE, KERN_INFO "Lost other STA beacon [%d] sec, started !\n", pMgmt->sNodeDBTable[0].uInActiveCount); | 1326 | DBG_PRT(MSG_LEVEL_NOTICE, KERN_INFO "Lost other STA beacon [%d] sec, started !\n", pMgmt->sNodeDBTable[0].uInActiveCount); |
1359 | pMgmt->sNodeDBTable[0].uInActiveCount = 0; | 1327 | pMgmt->sNodeDBTable[0].uInActiveCount = 0; |
@@ -1377,9 +1345,6 @@ else { | |||
1377 | return; | 1345 | return; |
1378 | } | 1346 | } |
1379 | 1347 | ||
1380 | |||
1381 | |||
1382 | |||
1383 | /*+ | 1348 | /*+ |
1384 | * | 1349 | * |
1385 | * Routine Description: | 1350 | * Routine Description: |
@@ -1393,30 +1358,23 @@ else { | |||
1393 | * | 1358 | * |
1394 | -*/ | 1359 | -*/ |
1395 | 1360 | ||
1396 | 1361 | void BSSvUpdateNodeTxCounter(void *hDeviceContext, | |
1397 | 1362 | PSStatCounter pStatistic, | |
1398 | VOID | 1363 | BYTE byTSR, |
1399 | BSSvUpdateNodeTxCounter( | 1364 | BYTE byPktNO) |
1400 | IN HANDLE hDeviceContext, | ||
1401 | IN PSStatCounter pStatistic, | ||
1402 | IN BYTE byTSR, | ||
1403 | IN BYTE byPktNO | ||
1404 | ) | ||
1405 | { | 1365 | { |
1406 | PSDevice pDevice = (PSDevice)hDeviceContext; | 1366 | PSDevice pDevice = (PSDevice)hDeviceContext; |
1407 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); | 1367 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); |
1408 | UINT uNodeIndex = 0; | 1368 | unsigned int uNodeIndex = 0; |
1409 | BYTE byTxRetry; | 1369 | BYTE byTxRetry; |
1410 | WORD wRate; | 1370 | WORD wRate; |
1411 | WORD wFallBackRate = RATE_1M; | 1371 | WORD wFallBackRate = RATE_1M; |
1412 | BYTE byFallBack; | 1372 | BYTE byFallBack; |
1413 | UINT ii; | 1373 | unsigned int ii; |
1414 | PBYTE pbyDestAddr; | 1374 | PBYTE pbyDestAddr; |
1415 | BYTE byPktNum; | 1375 | BYTE byPktNum; |
1416 | WORD wFIFOCtl; | 1376 | WORD wFIFOCtl; |
1417 | 1377 | ||
1418 | |||
1419 | |||
1420 | byPktNum = (byPktNO & 0x0F) >> 4; | 1378 | byPktNum = (byPktNO & 0x0F) >> 4; |
1421 | byTxRetry = (byTSR & 0xF0) >> 4; | 1379 | byTxRetry = (byTSR & 0xF0) >> 4; |
1422 | wRate = (WORD) (byPktNO & 0xF0) >> 4; | 1380 | wRate = (WORD) (byPktNO & 0xF0) >> 4; |
@@ -1483,11 +1441,13 @@ BSSvUpdateNodeTxCounter( | |||
1483 | } | 1441 | } |
1484 | }; | 1442 | }; |
1485 | 1443 | ||
1486 | if ((pMgmt->eCurrMode == WMAC_MODE_IBSS_STA) || | 1444 | if ((pMgmt->eCurrMode == WMAC_MODE_IBSS_STA) || |
1487 | (pMgmt->eCurrMode == WMAC_MODE_ESS_AP)) { | 1445 | (pMgmt->eCurrMode == WMAC_MODE_ESS_AP)) { |
1488 | 1446 | ||
1489 | if (BSSbIsSTAInNodeDB((HANDLE)pDevice, pbyDestAddr, &uNodeIndex)){ | 1447 | if (BSSbIsSTAInNodeDB((void *) pDevice, |
1490 | pMgmt->sNodeDBTable[uNodeIndex].uTxAttempts += 1; | 1448 | pbyDestAddr, |
1449 | &uNodeIndex)) { | ||
1450 | pMgmt->sNodeDBTable[uNodeIndex].uTxAttempts += 1; | ||
1491 | if ( !(byTSR & (TSR_TMO | TSR_RETRYTMO))) { | 1451 | if ( !(byTSR & (TSR_TMO | TSR_RETRYTMO))) { |
1492 | // transmit success, TxAttempts at least plus one | 1452 | // transmit success, TxAttempts at least plus one |
1493 | pMgmt->sNodeDBTable[uNodeIndex].uTxOk[MAX_RATE]++; | 1453 | pMgmt->sNodeDBTable[uNodeIndex].uTxOk[MAX_RATE]++; |
@@ -1542,9 +1502,6 @@ BSSvUpdateNodeTxCounter( | |||
1542 | 1502 | ||
1543 | } | 1503 | } |
1544 | 1504 | ||
1545 | |||
1546 | |||
1547 | |||
1548 | /*+ | 1505 | /*+ |
1549 | * | 1506 | * |
1550 | * Routine Description: | 1507 | * Routine Description: |
@@ -1563,18 +1520,13 @@ BSSvUpdateNodeTxCounter( | |||
1563 | * | 1520 | * |
1564 | -*/ | 1521 | -*/ |
1565 | 1522 | ||
1566 | 1523 | void BSSvClearNodeDBTable(void *hDeviceContext, | |
1567 | VOID | 1524 | unsigned int uStartIndex) |
1568 | BSSvClearNodeDBTable( | ||
1569 | IN HANDLE hDeviceContext, | ||
1570 | IN UINT uStartIndex | ||
1571 | ) | ||
1572 | |||
1573 | { | 1525 | { |
1574 | PSDevice pDevice = (PSDevice)hDeviceContext; | 1526 | PSDevice pDevice = (PSDevice)hDeviceContext; |
1575 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); | 1527 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); |
1576 | struct sk_buff *skb; | 1528 | struct sk_buff *skb; |
1577 | UINT ii; | 1529 | unsigned int ii; |
1578 | 1530 | ||
1579 | for (ii = uStartIndex; ii < (MAX_NODE_NUM + 1); ii++) { | 1531 | for (ii = uStartIndex; ii < (MAX_NODE_NUM + 1); ii++) { |
1580 | if (pMgmt->sNodeDBTable[ii].bActive) { | 1532 | if (pMgmt->sNodeDBTable[ii].bActive) { |
@@ -1592,10 +1544,7 @@ BSSvClearNodeDBTable( | |||
1592 | return; | 1544 | return; |
1593 | }; | 1545 | }; |
1594 | 1546 | ||
1595 | 1547 | void s_vCheckSensitivity(void *hDeviceContext) | |
1596 | VOID s_vCheckSensitivity( | ||
1597 | IN HANDLE hDeviceContext | ||
1598 | ) | ||
1599 | { | 1548 | { |
1600 | PSDevice pDevice = (PSDevice)hDeviceContext; | 1549 | PSDevice pDevice = (PSDevice)hDeviceContext; |
1601 | PKnownBSS pBSSList = NULL; | 1550 | PKnownBSS pBSSList = NULL; |
@@ -1606,9 +1555,9 @@ VOID s_vCheckSensitivity( | |||
1606 | ((pMgmt->eCurrMode == WMAC_MODE_IBSS_STA) && (pMgmt->eCurrState == WMAC_STATE_JOINTED))) { | 1555 | ((pMgmt->eCurrMode == WMAC_MODE_IBSS_STA) && (pMgmt->eCurrState == WMAC_STATE_JOINTED))) { |
1607 | pBSSList = BSSpAddrIsInBSSList(pDevice, pMgmt->abyCurrBSSID, (PWLAN_IE_SSID)pMgmt->abyCurrSSID); | 1556 | pBSSList = BSSpAddrIsInBSSList(pDevice, pMgmt->abyCurrBSSID, (PWLAN_IE_SSID)pMgmt->abyCurrSSID); |
1608 | if (pBSSList != NULL) { | 1557 | if (pBSSList != NULL) { |
1609 | // Updata BB Reg if RSSI is too strong. | 1558 | /* Update BB register if RSSI is too strong */ |
1610 | LONG LocalldBmAverage = 0; | 1559 | signed long LocalldBmAverage = 0; |
1611 | LONG uNumofdBm = 0; | 1560 | signed long uNumofdBm = 0; |
1612 | for (ii = 0; ii < RSSI_STAT_COUNT; ii++) { | 1561 | for (ii = 0; ii < RSSI_STAT_COUNT; ii++) { |
1613 | if (pBSSList->ldBmAverage[ii] != 0) { | 1562 | if (pBSSList->ldBmAverage[ii] != 0) { |
1614 | uNumofdBm ++; | 1563 | uNumofdBm ++; |
@@ -1627,7 +1576,9 @@ VOID s_vCheckSensitivity( | |||
1627 | if (pDevice->byBBVGANew != pDevice->byBBVGACurrent) { | 1576 | if (pDevice->byBBVGANew != pDevice->byBBVGACurrent) { |
1628 | pDevice->uBBVGADiffCount++; | 1577 | pDevice->uBBVGADiffCount++; |
1629 | if (pDevice->uBBVGADiffCount >= BB_VGA_CHANGE_THRESHOLD) | 1578 | if (pDevice->uBBVGADiffCount >= BB_VGA_CHANGE_THRESHOLD) |
1630 | bScheduleCommand((HANDLE) pDevice, WLAN_CMD_CHANGE_BBSENSITIVITY, NULL); | 1579 | bScheduleCommand((void *) pDevice, |
1580 | WLAN_CMD_CHANGE_BBSENSITIVITY, | ||
1581 | NULL); | ||
1631 | } else { | 1582 | } else { |
1632 | pDevice->uBBVGADiffCount = 0; | 1583 | pDevice->uBBVGADiffCount = 0; |
1633 | } | 1584 | } |
@@ -1637,14 +1588,12 @@ VOID s_vCheckSensitivity( | |||
1637 | } | 1588 | } |
1638 | 1589 | ||
1639 | #ifdef Calcu_LinkQual | 1590 | #ifdef Calcu_LinkQual |
1640 | VOID s_uCalculateLinkQual( | 1591 | void s_uCalculateLinkQual(void *hDeviceContext) |
1641 | IN HANDLE hDeviceContext | ||
1642 | ) | ||
1643 | { | 1592 | { |
1644 | PSDevice pDevice = (PSDevice)hDeviceContext; | 1593 | PSDevice pDevice = (PSDevice)hDeviceContext; |
1645 | ULONG TxOkRatio, TxCnt; | 1594 | unsigned long TxOkRatio, TxCnt; |
1646 | ULONG RxOkRatio,RxCnt; | 1595 | unsigned long RxOkRatio, RxCnt; |
1647 | ULONG RssiRatio; | 1596 | unsigned long RssiRatio; |
1648 | long ldBm; | 1597 | long ldBm; |
1649 | 1598 | ||
1650 | TxCnt = pDevice->scStatistic.TxNoRetryOkCount + | 1599 | TxCnt = pDevice->scStatistic.TxNoRetryOkCount + |
@@ -1685,14 +1634,11 @@ else | |||
1685 | } | 1634 | } |
1686 | #endif | 1635 | #endif |
1687 | 1636 | ||
1688 | VOID | 1637 | void BSSvClearAnyBSSJoinRecord(void *hDeviceContext) |
1689 | BSSvClearAnyBSSJoinRecord ( | ||
1690 | IN HANDLE hDeviceContext | ||
1691 | ) | ||
1692 | { | 1638 | { |
1693 | PSDevice pDevice = (PSDevice)hDeviceContext; | 1639 | PSDevice pDevice = (PSDevice)hDeviceContext; |
1694 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); | 1640 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); |
1695 | UINT ii; | 1641 | unsigned int ii; |
1696 | 1642 | ||
1697 | for (ii = 0; ii < MAX_BSS_NUM; ii++) { | 1643 | for (ii = 0; ii < MAX_BSS_NUM; ii++) { |
1698 | pMgmt->sBSSList[ii].bSelected = FALSE; | 1644 | pMgmt->sBSSList[ii].bSelected = FALSE; |
@@ -1700,9 +1646,7 @@ BSSvClearAnyBSSJoinRecord ( | |||
1700 | return; | 1646 | return; |
1701 | } | 1647 | } |
1702 | 1648 | ||
1703 | VOID s_vCheckPreEDThreshold( | 1649 | void s_vCheckPreEDThreshold(void *hDeviceContext) |
1704 | IN HANDLE hDeviceContext | ||
1705 | ) | ||
1706 | { | 1650 | { |
1707 | PSDevice pDevice = (PSDevice)hDeviceContext; | 1651 | PSDevice pDevice = (PSDevice)hDeviceContext; |
1708 | PKnownBSS pBSSList = NULL; | 1652 | PKnownBSS pBSSList = NULL; |
diff --git a/drivers/staging/vt6656/bssdb.h b/drivers/staging/vt6656/bssdb.h index f365b6b8bf6..9686d8600d6 100644 --- a/drivers/staging/vt6656/bssdb.h +++ b/drivers/staging/vt6656/bssdb.h | |||
@@ -97,10 +97,10 @@ typedef struct tagKnownBSS { | |||
97 | // BSS info | 97 | // BSS info |
98 | BOOL bActive; | 98 | BOOL bActive; |
99 | BYTE abyBSSID[WLAN_BSSID_LEN]; | 99 | BYTE abyBSSID[WLAN_BSSID_LEN]; |
100 | UINT uChannel; | 100 | unsigned int uChannel; |
101 | BYTE abySuppRates[WLAN_IEHDR_LEN + WLAN_RATES_MAXLEN + 1]; | 101 | BYTE abySuppRates[WLAN_IEHDR_LEN + WLAN_RATES_MAXLEN + 1]; |
102 | BYTE abyExtSuppRates[WLAN_IEHDR_LEN + WLAN_RATES_MAXLEN + 1]; | 102 | BYTE abyExtSuppRates[WLAN_IEHDR_LEN + WLAN_RATES_MAXLEN + 1]; |
103 | UINT uRSSI; | 103 | unsigned int uRSSI; |
104 | BYTE bySQ; | 104 | BYTE bySQ; |
105 | WORD wBeaconInterval; | 105 | WORD wBeaconInterval; |
106 | WORD wCapInfo; | 106 | WORD wCapInfo; |
@@ -109,9 +109,9 @@ typedef struct tagKnownBSS { | |||
109 | 109 | ||
110 | // WORD wATIMWindow; | 110 | // WORD wATIMWindow; |
111 | BYTE byRSSIStatCnt; | 111 | BYTE byRSSIStatCnt; |
112 | LONG ldBmMAX; | 112 | signed long ldBmMAX; |
113 | LONG ldBmAverage[RSSI_STAT_COUNT]; | 113 | signed long ldBmAverage[RSSI_STAT_COUNT]; |
114 | LONG ldBmAverRange; | 114 | signed long ldBmAverRange; |
115 | //For any BSSID selection improvment | 115 | //For any BSSID selection improvment |
116 | BOOL bSelected; | 116 | BOOL bSelected; |
117 | 117 | ||
@@ -141,9 +141,9 @@ typedef struct tagKnownBSS { | |||
141 | WORD wRSNLen; | 141 | WORD wRSNLen; |
142 | 142 | ||
143 | // Clear count | 143 | // Clear count |
144 | UINT uClearCount; | 144 | unsigned int uClearCount; |
145 | // BYTE abyIEs[WLAN_BEACON_FR_MAXLEN]; | 145 | // BYTE abyIEs[WLAN_BEACON_FR_MAXLEN]; |
146 | UINT uIELength; | 146 | unsigned int uIELength; |
147 | QWORD qwBSSTimestamp; | 147 | QWORD qwBSSTimestamp; |
148 | QWORD qwLocalTSF; // local TSF timer | 148 | QWORD qwLocalTSF; // local TSF timer |
149 | 149 | ||
@@ -178,7 +178,7 @@ typedef struct tagKnownNodeDB { | |||
178 | BOOL bShortPreamble; | 178 | BOOL bShortPreamble; |
179 | BOOL bERPExist; | 179 | BOOL bERPExist; |
180 | BOOL bShortSlotTime; | 180 | BOOL bShortSlotTime; |
181 | UINT uInActiveCount; | 181 | unsigned int uInActiveCount; |
182 | WORD wMaxBasicRate; //Get from byTopOFDMBasicRate or byTopCCKBasicRate which depends on packetTyp. | 182 | WORD wMaxBasicRate; //Get from byTopOFDMBasicRate or byTopCCKBasicRate which depends on packetTyp. |
183 | WORD wMaxSuppRate; //Records the highest supported rate getting from SuppRates IE and ExtSuppRates IE in Beacon. | 183 | WORD wMaxSuppRate; //Records the highest supported rate getting from SuppRates IE and ExtSuppRates IE in Beacon. |
184 | WORD wSuppRate; | 184 | WORD wSuppRate; |
@@ -194,166 +194,114 @@ typedef struct tagKnownNodeDB { | |||
194 | BOOL bPSEnable; | 194 | BOOL bPSEnable; |
195 | BOOL bRxPSPoll; | 195 | BOOL bRxPSPoll; |
196 | BYTE byAuthSequence; | 196 | BYTE byAuthSequence; |
197 | ULONG ulLastRxJiffer; | 197 | unsigned long ulLastRxJiffer; |
198 | BYTE bySuppRate; | 198 | BYTE bySuppRate; |
199 | DWORD dwFlags; | 199 | DWORD dwFlags; |
200 | WORD wEnQueueCnt; | 200 | WORD wEnQueueCnt; |
201 | 201 | ||
202 | BOOL bOnFly; | 202 | BOOL bOnFly; |
203 | ULONGLONG KeyRSC; | 203 | unsigned long long KeyRSC; |
204 | BYTE byKeyIndex; | 204 | BYTE byKeyIndex; |
205 | DWORD dwKeyIndex; | 205 | DWORD dwKeyIndex; |
206 | BYTE byCipherSuite; | 206 | BYTE byCipherSuite; |
207 | DWORD dwTSC47_16; | 207 | DWORD dwTSC47_16; |
208 | WORD wTSC15_0; | 208 | WORD wTSC15_0; |
209 | UINT uWepKeyLength; | 209 | unsigned int uWepKeyLength; |
210 | BYTE abyWepKey[WLAN_WEPMAX_KEYLEN]; | 210 | BYTE abyWepKey[WLAN_WEPMAX_KEYLEN]; |
211 | // | 211 | // |
212 | // Auto rate fallback vars | 212 | // Auto rate fallback vars |
213 | BOOL bIsInFallback; | 213 | BOOL bIsInFallback; |
214 | UINT uAverageRSSI; | 214 | unsigned int uAverageRSSI; |
215 | UINT uRateRecoveryTimeout; | 215 | unsigned int uRateRecoveryTimeout; |
216 | UINT uRatePollTimeout; | 216 | unsigned int uRatePollTimeout; |
217 | UINT uTxFailures; | 217 | unsigned int uTxFailures; |
218 | UINT uTxAttempts; | 218 | unsigned int uTxAttempts; |
219 | 219 | ||
220 | UINT uTxRetry; | 220 | unsigned int uTxRetry; |
221 | UINT uFailureRatio; | 221 | unsigned int uFailureRatio; |
222 | UINT uRetryRatio; | 222 | unsigned int uRetryRatio; |
223 | UINT uTxOk[MAX_RATE+1]; | 223 | unsigned int uTxOk[MAX_RATE+1]; |
224 | UINT uTxFail[MAX_RATE+1]; | 224 | unsigned int uTxFail[MAX_RATE+1]; |
225 | UINT uTimeCount; | 225 | unsigned int uTimeCount; |
226 | 226 | ||
227 | } KnownNodeDB, *PKnownNodeDB; | 227 | } KnownNodeDB, *PKnownNodeDB; |
228 | 228 | ||
229 | |||
230 | /*--------------------- Export Functions --------------------------*/ | 229 | /*--------------------- Export Functions --------------------------*/ |
231 | 230 | ||
232 | 231 | PKnownBSS BSSpSearchBSSList(void *hDeviceContext, | |
233 | 232 | PBYTE pbyDesireBSSID, | |
234 | PKnownBSS | 233 | PBYTE pbyDesireSSID, |
235 | BSSpSearchBSSList( | 234 | CARD_PHY_TYPE ePhyType); |
236 | IN HANDLE hDeviceContext, | 235 | |
237 | IN PBYTE pbyDesireBSSID, | 236 | PKnownBSS BSSpAddrIsInBSSList(void *hDeviceContext, |
238 | IN PBYTE pbyDesireSSID, | 237 | PBYTE abyBSSID, |
239 | IN CARD_PHY_TYPE ePhyType | 238 | PWLAN_IE_SSID pSSID); |
240 | ); | 239 | |
241 | 240 | void BSSvClearBSSList(void *hDeviceContext, BOOL bKeepCurrBSSID); | |
242 | PKnownBSS | 241 | |
243 | BSSpAddrIsInBSSList( | 242 | BOOL BSSbInsertToBSSList(void *hDeviceContext, |
244 | IN HANDLE hDeviceContext, | 243 | PBYTE abyBSSIDAddr, |
245 | IN PBYTE abyBSSID, | 244 | QWORD qwTimestamp, |
246 | IN PWLAN_IE_SSID pSSID | 245 | WORD wBeaconInterval, |
247 | ); | 246 | WORD wCapInfo, |
248 | 247 | BYTE byCurrChannel, | |
249 | VOID | 248 | PWLAN_IE_SSID pSSID, |
250 | BSSvClearBSSList( | 249 | PWLAN_IE_SUPP_RATES pSuppRates, |
251 | IN HANDLE hDeviceContext, | 250 | PWLAN_IE_SUPP_RATES pExtSuppRates, |
252 | IN BOOL bKeepCurrBSSID | 251 | PERPObject psERP, |
253 | ); | 252 | PWLAN_IE_RSN pRSN, |
254 | 253 | PWLAN_IE_RSN_EXT pRSNWPA, | |
255 | BOOL | 254 | PWLAN_IE_COUNTRY pIE_Country, |
256 | BSSbInsertToBSSList( | 255 | PWLAN_IE_QUIET pIE_Quiet, |
257 | IN HANDLE hDeviceContext, | 256 | unsigned int uIELength, |
258 | IN PBYTE abyBSSIDAddr, | 257 | PBYTE pbyIEs, |
259 | IN QWORD qwTimestamp, | 258 | void *pRxPacketContext); |
260 | IN WORD wBeaconInterval, | 259 | |
261 | IN WORD wCapInfo, | 260 | BOOL BSSbUpdateToBSSList(void *hDeviceContext, |
262 | IN BYTE byCurrChannel, | 261 | QWORD qwTimestamp, |
263 | IN PWLAN_IE_SSID pSSID, | 262 | WORD wBeaconInterval, |
264 | IN PWLAN_IE_SUPP_RATES pSuppRates, | 263 | WORD wCapInfo, |
265 | IN PWLAN_IE_SUPP_RATES pExtSuppRates, | 264 | BYTE byCurrChannel, |
266 | IN PERPObject psERP, | 265 | BOOL bChannelHit, |
267 | IN PWLAN_IE_RSN pRSN, | 266 | PWLAN_IE_SSID pSSID, |
268 | IN PWLAN_IE_RSN_EXT pRSNWPA, | 267 | PWLAN_IE_SUPP_RATES pSuppRates, |
269 | IN PWLAN_IE_COUNTRY pIE_Country, | 268 | PWLAN_IE_SUPP_RATES pExtSuppRates, |
270 | IN PWLAN_IE_QUIET pIE_Quiet, | 269 | PERPObject psERP, |
271 | IN UINT uIELength, | 270 | PWLAN_IE_RSN pRSN, |
272 | IN PBYTE pbyIEs, | 271 | PWLAN_IE_RSN_EXT pRSNWPA, |
273 | IN HANDLE pRxPacketContext | 272 | PWLAN_IE_COUNTRY pIE_Country, |
274 | ); | 273 | PWLAN_IE_QUIET pIE_Quiet, |
275 | 274 | PKnownBSS pBSSList, | |
276 | 275 | unsigned int uIELength, | |
277 | BOOL | 276 | PBYTE pbyIEs, |
278 | BSSbUpdateToBSSList( | 277 | void *pRxPacketContext); |
279 | IN HANDLE hDeviceContext, | 278 | |
280 | IN QWORD qwTimestamp, | 279 | BOOL BSSbIsSTAInNodeDB(void *hDeviceContext, |
281 | IN WORD wBeaconInterval, | 280 | PBYTE abyDstAddr, |
282 | IN WORD wCapInfo, | 281 | PUINT puNodeIndex); |
283 | IN BYTE byCurrChannel, | 282 | |
284 | IN BOOL bChannelHit, | 283 | void BSSvCreateOneNode(void *hDeviceContext, PUINT puNodeIndex); |
285 | IN PWLAN_IE_SSID pSSID, | 284 | |
286 | IN PWLAN_IE_SUPP_RATES pSuppRates, | 285 | void BSSvUpdateAPNode(void *hDeviceContext, |
287 | IN PWLAN_IE_SUPP_RATES pExtSuppRates, | 286 | PWORD pwCapInfo, |
288 | IN PERPObject psERP, | 287 | PWLAN_IE_SUPP_RATES pItemRates, |
289 | IN PWLAN_IE_RSN pRSN, | 288 | PWLAN_IE_SUPP_RATES pExtSuppRates); |
290 | IN PWLAN_IE_RSN_EXT pRSNWPA, | 289 | |
291 | IN PWLAN_IE_COUNTRY pIE_Country, | 290 | void BSSvSecondCallBack(void *hDeviceContext); |
292 | IN PWLAN_IE_QUIET pIE_Quiet, | 291 | |
293 | IN PKnownBSS pBSSList, | 292 | void BSSvUpdateNodeTxCounter(void *hDeviceContext, |
294 | IN UINT uIELength, | 293 | PSStatCounter pStatistic, |
295 | IN PBYTE pbyIEs, | 294 | BYTE byTSR, |
296 | IN HANDLE pRxPacketContext | 295 | BYTE byPktNO); |
297 | ); | 296 | |
298 | 297 | void BSSvRemoveOneNode(void *hDeviceContext, | |
299 | 298 | unsigned int uNodeIndex); | |
300 | BOOL | 299 | |
301 | BSSbIsSTAInNodeDB( | 300 | void BSSvAddMulticastNode(void *hDeviceContext); |
302 | IN HANDLE hDeviceContext, | 301 | |
303 | IN PBYTE abyDstAddr, | 302 | void BSSvClearNodeDBTable(void *hDeviceContext, |
304 | OUT PUINT puNodeIndex | 303 | unsigned int uStartIndex); |
305 | ); | 304 | |
306 | 305 | void BSSvClearAnyBSSJoinRecord(void *hDeviceContext); | |
307 | VOID | 306 | |
308 | BSSvCreateOneNode( | 307 | #endif /* __BSSDB_H__ */ |
309 | IN HANDLE hDeviceContext, | ||
310 | OUT PUINT puNodeIndex | ||
311 | ); | ||
312 | |||
313 | VOID | ||
314 | BSSvUpdateAPNode( | ||
315 | IN HANDLE hDeviceContext, | ||
316 | IN PWORD pwCapInfo, | ||
317 | IN PWLAN_IE_SUPP_RATES pItemRates, | ||
318 | IN PWLAN_IE_SUPP_RATES pExtSuppRates | ||
319 | ); | ||
320 | |||
321 | |||
322 | VOID | ||
323 | BSSvSecondCallBack( | ||
324 | IN HANDLE hDeviceContext | ||
325 | ); | ||
326 | |||
327 | |||
328 | VOID | ||
329 | BSSvUpdateNodeTxCounter( | ||
330 | IN HANDLE hDeviceContext, | ||
331 | IN PSStatCounter pStatistic, | ||
332 | IN BYTE byTSR, | ||
333 | IN BYTE byPktNO | ||
334 | ); | ||
335 | |||
336 | VOID | ||
337 | BSSvRemoveOneNode( | ||
338 | IN HANDLE hDeviceContext, | ||
339 | IN UINT uNodeIndex | ||
340 | ); | ||
341 | |||
342 | VOID | ||
343 | BSSvAddMulticastNode( | ||
344 | IN HANDLE hDeviceContext | ||
345 | ); | ||
346 | |||
347 | |||
348 | VOID | ||
349 | BSSvClearNodeDBTable( | ||
350 | IN HANDLE hDeviceContext, | ||
351 | IN UINT uStartIndex | ||
352 | ); | ||
353 | |||
354 | VOID | ||
355 | BSSvClearAnyBSSJoinRecord( | ||
356 | IN HANDLE hDeviceContext | ||
357 | ); | ||
358 | |||
359 | #endif //__BSSDB_H__ | ||
diff --git a/drivers/staging/vt6656/card.c b/drivers/staging/vt6656/card.c index d73efeea2d5..fe4ec913ffe 100644 --- a/drivers/staging/vt6656/card.c +++ b/drivers/staging/vt6656/card.c | |||
@@ -95,7 +95,7 @@ const WORD cwRXBCNTSFOff[MAX_RATE] = | |||
95 | * Return Value: TRUE if succeeded; FALSE if failed. | 95 | * Return Value: TRUE if succeeded; FALSE if failed. |
96 | * | 96 | * |
97 | */ | 97 | */ |
98 | BOOL CARDbSetMediaChannel (PVOID pDeviceHandler, UINT uConnectionChannel) | 98 | BOOL CARDbSetMediaChannel(void *pDeviceHandler, unsigned int uConnectionChannel) |
99 | { | 99 | { |
100 | PSDevice pDevice = (PSDevice) pDeviceHandler; | 100 | PSDevice pDevice = (PSDevice) pDeviceHandler; |
101 | BOOL bResult = TRUE; | 101 | BOOL bResult = TRUE; |
@@ -156,11 +156,10 @@ BOOL bResult = TRUE; | |||
156 | * Return Value: response Control frame rate | 156 | * Return Value: response Control frame rate |
157 | * | 157 | * |
158 | */ | 158 | */ |
159 | static | 159 | static WORD swGetCCKControlRate(void *pDeviceHandler, WORD wRateIdx) |
160 | WORD swGetCCKControlRate(PVOID pDeviceHandler, WORD wRateIdx) | ||
161 | { | 160 | { |
162 | PSDevice pDevice = (PSDevice) pDeviceHandler; | 161 | PSDevice pDevice = (PSDevice) pDeviceHandler; |
163 | UINT ui = (UINT)wRateIdx; | 162 | unsigned int ui = (unsigned int)wRateIdx; |
164 | while (ui > RATE_1M) { | 163 | while (ui > RATE_1M) { |
165 | if (pDevice->wBasicRate & ((WORD)1 << ui)) { | 164 | if (pDevice->wBasicRate & ((WORD)1 << ui)) { |
166 | return (WORD)ui; | 165 | return (WORD)ui; |
@@ -183,11 +182,10 @@ WORD swGetCCKControlRate(PVOID pDeviceHandler, WORD wRateIdx) | |||
183 | * Return Value: response Control frame rate | 182 | * Return Value: response Control frame rate |
184 | * | 183 | * |
185 | */ | 184 | */ |
186 | static | 185 | static WORD swGetOFDMControlRate(void *pDeviceHandler, WORD wRateIdx) |
187 | WORD swGetOFDMControlRate (PVOID pDeviceHandler, WORD wRateIdx) | ||
188 | { | 186 | { |
189 | PSDevice pDevice = (PSDevice) pDeviceHandler; | 187 | PSDevice pDevice = (PSDevice) pDeviceHandler; |
190 | UINT ui = (UINT)wRateIdx; | 188 | unsigned int ui = (unsigned int)wRateIdx; |
191 | 189 | ||
192 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"BASIC RATE: %X\n", pDevice->wBasicRate); | 190 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"BASIC RATE: %X\n", pDevice->wBasicRate); |
193 | 191 | ||
@@ -222,12 +220,12 @@ WORD swGetOFDMControlRate (PVOID pDeviceHandler, WORD wRateIdx) | |||
222 | * Return Value: none | 220 | * Return Value: none |
223 | * | 221 | * |
224 | */ | 222 | */ |
225 | VOID | 223 | void |
226 | CARDvCaculateOFDMRParameter ( | 224 | CARDvCaculateOFDMRParameter ( |
227 | IN WORD wRate, | 225 | WORD wRate, |
228 | IN BYTE byBBType, | 226 | BYTE byBBType, |
229 | OUT PBYTE pbyTxRate, | 227 | PBYTE pbyTxRate, |
230 | OUT PBYTE pbyRsvTime | 228 | PBYTE pbyRsvTime |
231 | ) | 229 | ) |
232 | { | 230 | { |
233 | switch (wRate) { | 231 | switch (wRate) { |
@@ -334,7 +332,7 @@ CARDvCaculateOFDMRParameter ( | |||
334 | * Return Value: None. | 332 | * Return Value: None. |
335 | * | 333 | * |
336 | */ | 334 | */ |
337 | void CARDvSetRSPINF (PVOID pDeviceHandler, BYTE byBBType) | 335 | void CARDvSetRSPINF(void *pDeviceHandler, BYTE byBBType) |
338 | { | 336 | { |
339 | PSDevice pDevice = (PSDevice) pDeviceHandler; | 337 | PSDevice pDevice = (PSDevice) pDeviceHandler; |
340 | BYTE abyServ[4] = {0,0,0,0}; // For CCK | 338 | BYTE abyServ[4] = {0,0,0,0}; // For CCK |
@@ -486,7 +484,7 @@ void CARDvSetRSPINF (PVOID pDeviceHandler, BYTE byBBType) | |||
486 | * Return Value: None. | 484 | * Return Value: None. |
487 | * | 485 | * |
488 | */ | 486 | */ |
489 | void vUpdateIFS (PVOID pDeviceHandler) | 487 | void vUpdateIFS(void *pDeviceHandler) |
490 | { | 488 | { |
491 | PSDevice pDevice = (PSDevice) pDeviceHandler; | 489 | PSDevice pDevice = (PSDevice) pDeviceHandler; |
492 | //Set SIFS, DIFS, EIFS, SlotTime, CwMin | 490 | //Set SIFS, DIFS, EIFS, SlotTime, CwMin |
@@ -510,7 +508,7 @@ void vUpdateIFS (PVOID pDeviceHandler) | |||
510 | else {// PK_TYPE_11GA & PK_TYPE_11GB | 508 | else {// PK_TYPE_11GA & PK_TYPE_11GB |
511 | BYTE byRate = 0; | 509 | BYTE byRate = 0; |
512 | BOOL bOFDMRate = FALSE; | 510 | BOOL bOFDMRate = FALSE; |
513 | UINT ii = 0; | 511 | unsigned int ii = 0; |
514 | PWLAN_IE_SUPP_RATES pItemRates = NULL; | 512 | PWLAN_IE_SUPP_RATES pItemRates = NULL; |
515 | 513 | ||
516 | pDevice->uSIFS = C_SIFS_BG; | 514 | pDevice->uSIFS = C_SIFS_BG; |
@@ -571,7 +569,7 @@ void vUpdateIFS (PVOID pDeviceHandler) | |||
571 | &byMaxMin); | 569 | &byMaxMin); |
572 | } | 570 | } |
573 | 571 | ||
574 | void CARDvUpdateBasicTopRate (PVOID pDeviceHandler) | 572 | void CARDvUpdateBasicTopRate(void *pDeviceHandler) |
575 | { | 573 | { |
576 | PSDevice pDevice = (PSDevice) pDeviceHandler; | 574 | PSDevice pDevice = (PSDevice) pDeviceHandler; |
577 | BYTE byTopOFDM = RATE_24M, byTopCCK = RATE_1M; | 575 | BYTE byTopOFDM = RATE_24M, byTopCCK = RATE_1M; |
@@ -610,7 +608,7 @@ BYTE ii; | |||
610 | * Return Value: TRUE if succeeded; FALSE if failed. | 608 | * Return Value: TRUE if succeeded; FALSE if failed. |
611 | * | 609 | * |
612 | */ | 610 | */ |
613 | BOOL CARDbAddBasicRate (PVOID pDeviceHandler, WORD wRateIdx) | 611 | BOOL CARDbAddBasicRate(void *pDeviceHandler, WORD wRateIdx) |
614 | { | 612 | { |
615 | PSDevice pDevice = (PSDevice) pDeviceHandler; | 613 | PSDevice pDevice = (PSDevice) pDeviceHandler; |
616 | WORD wRate = (WORD)(1<<wRateIdx); | 614 | WORD wRate = (WORD)(1<<wRateIdx); |
@@ -623,7 +621,7 @@ WORD wRate = (WORD)(1<<wRateIdx); | |||
623 | return(TRUE); | 621 | return(TRUE); |
624 | } | 622 | } |
625 | 623 | ||
626 | BOOL CARDbIsOFDMinBasicRate (PVOID pDeviceHandler) | 624 | BOOL CARDbIsOFDMinBasicRate(void *pDeviceHandler) |
627 | { | 625 | { |
628 | PSDevice pDevice = (PSDevice) pDeviceHandler; | 626 | PSDevice pDevice = (PSDevice) pDeviceHandler; |
629 | int ii; | 627 | int ii; |
@@ -635,7 +633,7 @@ int ii; | |||
635 | return FALSE; | 633 | return FALSE; |
636 | } | 634 | } |
637 | 635 | ||
638 | BYTE CARDbyGetPktType (PVOID pDeviceHandler) | 636 | BYTE CARDbyGetPktType(void *pDeviceHandler) |
639 | { | 637 | { |
640 | PSDevice pDevice = (PSDevice) pDeviceHandler; | 638 | PSDevice pDevice = (PSDevice) pDeviceHandler; |
641 | 639 | ||
@@ -707,7 +705,8 @@ QWORD CARDqGetTSFOffset (BYTE byRxRate, QWORD qwTSF1, QWORD qwTSF2) | |||
707 | * Return Value: none | 705 | * Return Value: none |
708 | * | 706 | * |
709 | */ | 707 | */ |
710 | void CARDvAdjustTSF (PVOID pDeviceHandler, BYTE byRxRate, QWORD qwBSSTimestamp, QWORD qwLocalTSF) | 708 | void CARDvAdjustTSF(void *pDeviceHandler, BYTE byRxRate, |
709 | QWORD qwBSSTimestamp, QWORD qwLocalTSF) | ||
711 | { | 710 | { |
712 | 711 | ||
713 | PSDevice pDevice = (PSDevice) pDeviceHandler; | 712 | PSDevice pDevice = (PSDevice) pDeviceHandler; |
@@ -756,7 +755,7 @@ void CARDvAdjustTSF (PVOID pDeviceHandler, BYTE byRxRate, QWORD qwBSSTimestamp, | |||
756 | * Return Value: TRUE if success; otherwise FALSE | 755 | * Return Value: TRUE if success; otherwise FALSE |
757 | * | 756 | * |
758 | */ | 757 | */ |
759 | BOOL CARDbGetCurrentTSF (PVOID pDeviceHandler, PQWORD pqwCurrTSF) | 758 | BOOL CARDbGetCurrentTSF(void *pDeviceHandler, PQWORD pqwCurrTSF) |
760 | { | 759 | { |
761 | PSDevice pDevice = (PSDevice) pDeviceHandler; | 760 | PSDevice pDevice = (PSDevice) pDeviceHandler; |
762 | 761 | ||
@@ -778,7 +777,7 @@ BOOL CARDbGetCurrentTSF (PVOID pDeviceHandler, PQWORD pqwCurrTSF) | |||
778 | * Return Value: TRUE if success; otherwise FALSE | 777 | * Return Value: TRUE if success; otherwise FALSE |
779 | * | 778 | * |
780 | */ | 779 | */ |
781 | BOOL CARDbClearCurrentTSF(PVOID pDeviceHandler) | 780 | BOOL CARDbClearCurrentTSF(void *pDeviceHandler) |
782 | { | 781 | { |
783 | PSDevice pDevice = (PSDevice) pDeviceHandler; | 782 | PSDevice pDevice = (PSDevice) pDeviceHandler; |
784 | 783 | ||
@@ -807,9 +806,9 @@ BOOL CARDbClearCurrentTSF(PVOID pDeviceHandler) | |||
807 | QWORD CARDqGetNextTBTT (QWORD qwTSF, WORD wBeaconInterval) | 806 | QWORD CARDqGetNextTBTT (QWORD qwTSF, WORD wBeaconInterval) |
808 | { | 807 | { |
809 | 808 | ||
810 | UINT uLowNextTBTT; | 809 | unsigned int uLowNextTBTT; |
811 | UINT uHighRemain, uLowRemain; | 810 | unsigned int uHighRemain, uLowRemain; |
812 | UINT uBeaconInterval; | 811 | unsigned int uBeaconInterval; |
813 | 812 | ||
814 | uBeaconInterval = wBeaconInterval * 1024; | 813 | uBeaconInterval = wBeaconInterval * 1024; |
815 | // Next TBTT = ((local_current_TSF / beacon_interval) + 1 ) * beacon_interval | 814 | // Next TBTT = ((local_current_TSF / beacon_interval) + 1 ) * beacon_interval |
@@ -844,7 +843,7 @@ QWORD CARDqGetNextTBTT (QWORD qwTSF, WORD wBeaconInterval) | |||
844 | * Return Value: none | 843 | * Return Value: none |
845 | * | 844 | * |
846 | */ | 845 | */ |
847 | void CARDvSetFirstNextTBTT (PVOID pDeviceHandler, WORD wBeaconInterval) | 846 | void CARDvSetFirstNextTBTT(void *pDeviceHandler, WORD wBeaconInterval) |
848 | { | 847 | { |
849 | 848 | ||
850 | PSDevice pDevice = (PSDevice) pDeviceHandler; | 849 | PSDevice pDevice = (PSDevice) pDeviceHandler; |
@@ -898,7 +897,8 @@ void CARDvSetFirstNextTBTT (PVOID pDeviceHandler, WORD wBeaconInterval) | |||
898 | * Return Value: none | 897 | * Return Value: none |
899 | * | 898 | * |
900 | */ | 899 | */ |
901 | void CARDvUpdateNextTBTT (PVOID pDeviceHandler, QWORD qwTSF, WORD wBeaconInterval) | 900 | void CARDvUpdateNextTBTT(void *pDeviceHandler, QWORD qwTSF, |
901 | WORD wBeaconInterval) | ||
902 | { | 902 | { |
903 | PSDevice pDevice = (PSDevice) pDeviceHandler; | 903 | PSDevice pDevice = (PSDevice) pDeviceHandler; |
904 | DWORD dwLoTBTT,dwHiTBTT; | 904 | DWORD dwLoTBTT,dwHiTBTT; |
@@ -945,7 +945,7 @@ void CARDvUpdateNextTBTT (PVOID pDeviceHandler, QWORD qwTSF, WORD wBeaconInterva | |||
945 | * Return Value: TRUE if success; otherwise FALSE | 945 | * Return Value: TRUE if success; otherwise FALSE |
946 | * | 946 | * |
947 | */ | 947 | */ |
948 | BOOL CARDbRadioPowerOff (PVOID pDeviceHandler) | 948 | BOOL CARDbRadioPowerOff(void *pDeviceHandler) |
949 | { | 949 | { |
950 | PSDevice pDevice = (PSDevice) pDeviceHandler; | 950 | PSDevice pDevice = (PSDevice) pDeviceHandler; |
951 | BOOL bResult = TRUE; | 951 | BOOL bResult = TRUE; |
@@ -986,7 +986,7 @@ BOOL bResult = TRUE; | |||
986 | * Return Value: TRUE if success; otherwise FALSE | 986 | * Return Value: TRUE if success; otherwise FALSE |
987 | * | 987 | * |
988 | */ | 988 | */ |
989 | BOOL CARDbRadioPowerOn (PVOID pDeviceHandler) | 989 | BOOL CARDbRadioPowerOn(void *pDeviceHandler) |
990 | { | 990 | { |
991 | PSDevice pDevice = (PSDevice) pDeviceHandler; | 991 | PSDevice pDevice = (PSDevice) pDeviceHandler; |
992 | BOOL bResult = TRUE; | 992 | BOOL bResult = TRUE; |
@@ -1019,7 +1019,7 @@ BOOL bResult = TRUE; | |||
1019 | return bResult; | 1019 | return bResult; |
1020 | } | 1020 | } |
1021 | 1021 | ||
1022 | void CARDvSetBSSMode (PVOID pDeviceHandler) | 1022 | void CARDvSetBSSMode(void *pDeviceHandler) |
1023 | { | 1023 | { |
1024 | PSDevice pDevice = (PSDevice) pDeviceHandler; | 1024 | PSDevice pDevice = (PSDevice) pDeviceHandler; |
1025 | // Set BB and packet type at the same time.//{{RobertYu:20050222, AL7230 have two TX PA output, only connet to b/g now | 1025 | // Set BB and packet type at the same time.//{{RobertYu:20050222, AL7230 have two TX PA output, only connet to b/g now |
@@ -1080,10 +1080,10 @@ void CARDvSetBSSMode (PVOID pDeviceHandler) | |||
1080 | -*/ | 1080 | -*/ |
1081 | BOOL | 1081 | BOOL |
1082 | CARDbChannelSwitch ( | 1082 | CARDbChannelSwitch ( |
1083 | IN PVOID pDeviceHandler, | 1083 | void *pDeviceHandler, |
1084 | IN BYTE byMode, | 1084 | BYTE byMode, |
1085 | IN BYTE byNewChannel, | 1085 | BYTE byNewChannel, |
1086 | IN BYTE byCount | 1086 | BYTE byCount |
1087 | ) | 1087 | ) |
1088 | { | 1088 | { |
1089 | PSDevice pDevice = (PSDevice) pDeviceHandler; | 1089 | PSDevice pDevice = (PSDevice) pDeviceHandler; |
diff --git a/drivers/staging/vt6656/card.h b/drivers/staging/vt6656/card.h index aa90c2cb446..6c91343d0d1 100644 --- a/drivers/staging/vt6656/card.h +++ b/drivers/staging/vt6656/card.h | |||
@@ -33,63 +33,57 @@ | |||
33 | 33 | ||
34 | /*--------------------- Export Definitions -------------------------*/ | 34 | /*--------------------- Export Definitions -------------------------*/ |
35 | 35 | ||
36 | |||
37 | /*--------------------- Export Classes ----------------------------*/ | 36 | /*--------------------- Export Classes ----------------------------*/ |
38 | 37 | ||
39 | // Init card type | 38 | /* init card type */ |
40 | 39 | ||
41 | typedef enum _CARD_PHY_TYPE { | 40 | typedef enum _CARD_PHY_TYPE { |
42 | 41 | PHY_TYPE_AUTO = 0, | |
43 | PHY_TYPE_AUTO=0, | ||
44 | PHY_TYPE_11B, | 42 | PHY_TYPE_11B, |
45 | PHY_TYPE_11G, | 43 | PHY_TYPE_11G, |
46 | PHY_TYPE_11A | 44 | PHY_TYPE_11A |
47 | } CARD_PHY_TYPE, *PCARD_PHY_TYPE; | 45 | } CARD_PHY_TYPE, *PCARD_PHY_TYPE; |
48 | 46 | ||
49 | typedef enum _CARD_OP_MODE { | 47 | typedef enum _CARD_OP_MODE { |
50 | 48 | OP_MODE_INFRASTRUCTURE = 0, | |
51 | OP_MODE_INFRASTRUCTURE=0, | ||
52 | OP_MODE_ADHOC, | 49 | OP_MODE_ADHOC, |
53 | OP_MODE_AP, | 50 | OP_MODE_AP, |
54 | OP_MODE_UNKNOWN | 51 | OP_MODE_UNKNOWN |
55 | } CARD_OP_MODE, *PCARD_OP_MODE; | 52 | } CARD_OP_MODE, *PCARD_OP_MODE; |
56 | 53 | ||
57 | #define CB_MAX_CHANNEL_24G 14 | 54 | #define CB_MAX_CHANNEL_24G 14 |
58 | //#define CB_MAX_CHANNEL_5G 24 | 55 | /* #define CB_MAX_CHANNEL_5G 24 */ |
59 | #define CB_MAX_CHANNEL_5G 42 //[20050104] add channel9(5045MHz), 41==>42 | 56 | #define CB_MAX_CHANNEL_5G 42 /* add channel9(5045MHz), 41==>42 */ |
60 | #define CB_MAX_CHANNEL (CB_MAX_CHANNEL_24G+CB_MAX_CHANNEL_5G) | 57 | #define CB_MAX_CHANNEL (CB_MAX_CHANNEL_24G+CB_MAX_CHANNEL_5G) |
61 | 58 | ||
62 | /*--------------------- Export Variables --------------------------*/ | 59 | /*--------------------- Export Variables --------------------------*/ |
63 | 60 | ||
64 | /*--------------------- Export Functions --------------------------*/ | 61 | /*--------------------- Export Functions --------------------------*/ |
65 | 62 | ||
66 | BOOL CARDbSetMediaChannel(PVOID pDeviceHandler, UINT uConnectionChannel); | 63 | BOOL CARDbSetMediaChannel(void *pDeviceHandler, |
67 | void CARDvSetRSPINF(PVOID pDeviceHandler, BYTE byBBType); | 64 | unsigned int uConnectionChannel); |
68 | void vUpdateIFS(PVOID pDeviceHandler); | 65 | void CARDvSetRSPINF(void *pDeviceHandler, BYTE byBBType); |
69 | void CARDvUpdateBasicTopRate(PVOID pDeviceHandler); | 66 | void vUpdateIFS(void *pDeviceHandler); |
70 | BOOL CARDbAddBasicRate(PVOID pDeviceHandler, WORD wRateIdx); | 67 | void CARDvUpdateBasicTopRate(void *pDeviceHandler); |
71 | BOOL CARDbIsOFDMinBasicRate(PVOID pDeviceHandler); | 68 | BOOL CARDbAddBasicRate(void *pDeviceHandler, WORD wRateIdx); |
72 | void CARDvAdjustTSF(PVOID pDeviceHandler, BYTE byRxRate, QWORD qwBSSTimestamp, QWORD qwLocalTSF); | 69 | BOOL CARDbIsOFDMinBasicRate(void *pDeviceHandler); |
73 | BOOL CARDbGetCurrentTSF (PVOID pDeviceHandler, PQWORD pqwCurrTSF); | 70 | void CARDvAdjustTSF(void *pDeviceHandler, BYTE byRxRate, |
74 | BOOL CARDbClearCurrentTSF(PVOID pDeviceHandler); | 71 | QWORD qwBSSTimestamp, QWORD qwLocalTSF); |
75 | void CARDvSetFirstNextTBTT(PVOID pDeviceHandler, WORD wBeaconInterval); | 72 | BOOL CARDbGetCurrentTSF(void *pDeviceHandler, PQWORD pqwCurrTSF); |
76 | void CARDvUpdateNextTBTT(PVOID pDeviceHandler, QWORD qwTSF, WORD wBeaconInterval); | 73 | BOOL CARDbClearCurrentTSF(void *pDeviceHandler); |
74 | void CARDvSetFirstNextTBTT(void *pDeviceHandler, WORD wBeaconInterval); | ||
75 | void CARDvUpdateNextTBTT(void *pDeviceHandler, QWORD qwTSF, | ||
76 | WORD wBeaconInterval); | ||
77 | QWORD CARDqGetNextTBTT(QWORD qwTSF, WORD wBeaconInterval); | 77 | QWORD CARDqGetNextTBTT(QWORD qwTSF, WORD wBeaconInterval); |
78 | QWORD CARDqGetTSFOffset(BYTE byRxRate, QWORD qwTSF1, QWORD qwTSF2); | 78 | QWORD CARDqGetTSFOffset(BYTE byRxRate, QWORD qwTSF1, QWORD qwTSF2); |
79 | BOOL CARDbRadioPowerOff(PVOID pDeviceHandler); | 79 | BOOL CARDbRadioPowerOff(void *pDeviceHandler); |
80 | BOOL CARDbRadioPowerOn(PVOID pDeviceHandler); | 80 | BOOL CARDbRadioPowerOn(void *pDeviceHandler); |
81 | BYTE CARDbyGetPktType(PVOID pDeviceHandler); | 81 | BYTE CARDbyGetPktType(void *pDeviceHandler); |
82 | void CARDvSetBSSMode(PVOID pDeviceHandler); | 82 | void CARDvSetBSSMode(void *pDeviceHandler); |
83 | |||
84 | BOOL | ||
85 | CARDbChannelSwitch ( | ||
86 | IN PVOID pDeviceHandler, | ||
87 | IN BYTE byMode, | ||
88 | IN BYTE byNewChannel, | ||
89 | IN BYTE byCount | ||
90 | ); | ||
91 | |||
92 | #endif // __CARD_H__ | ||
93 | |||
94 | 83 | ||
84 | BOOL CARDbChannelSwitch(void *pDeviceHandler, | ||
85 | BYTE byMode, | ||
86 | BYTE byNewChannel, | ||
87 | BYTE byCount); | ||
95 | 88 | ||
89 | #endif /* __CARD_H__ */ | ||
diff --git a/drivers/staging/vt6656/channel.c b/drivers/staging/vt6656/channel.c index f7136b0073b..f49b6e13339 100644 --- a/drivers/staging/vt6656/channel.c +++ b/drivers/staging/vt6656/channel.c | |||
@@ -116,7 +116,7 @@ static SChannelTblElement sChannelTbl[CB_MAX_CHANNEL+1] = | |||
116 | static struct | 116 | static struct |
117 | { | 117 | { |
118 | BYTE byChannelCountryCode; /* The country code */ | 118 | BYTE byChannelCountryCode; /* The country code */ |
119 | CHAR chCountryCode[2]; | 119 | char chCountryCode[2]; |
120 | BYTE bChannelIdxList[CB_MAX_CHANNEL]; /* Available channels Index */ | 120 | BYTE bChannelIdxList[CB_MAX_CHANNEL]; /* Available channels Index */ |
121 | BYTE byPower[CB_MAX_CHANNEL]; | 121 | BYTE byPower[CB_MAX_CHANNEL]; |
122 | } ChannelRuleTab[] = | 122 | } ChannelRuleTab[] = |
@@ -389,7 +389,7 @@ static struct | |||
389 | // 100, 104, 108, 112, 116, 120, 124, 128, 132, 136, 140, 149, 153, 157, 161, 165 (Value 23 ~ 56) | 389 | // 100, 104, 108, 112, 116, 120, 124, 128, 132, 136, 140, 149, 153, 157, 161, 165 (Value 23 ~ 56) |
390 | ************************************************************************/ | 390 | ************************************************************************/ |
391 | BOOL | 391 | BOOL |
392 | ChannelValid(UINT CountryCode, UINT ChannelIndex) | 392 | ChannelValid(unsigned int CountryCode, unsigned int ChannelIndex) |
393 | { | 393 | { |
394 | BOOL bValid; | 394 | BOOL bValid; |
395 | 395 | ||
@@ -425,8 +425,8 @@ exit: | |||
425 | ************************************************************************/ | 425 | ************************************************************************/ |
426 | BOOL | 426 | BOOL |
427 | CHvChannelGetList ( | 427 | CHvChannelGetList ( |
428 | IN UINT uCountryCodeIdx, | 428 | unsigned int uCountryCodeIdx, |
429 | OUT PBYTE pbyChannelTable | 429 | PBYTE pbyChannelTable |
430 | ) | 430 | ) |
431 | { | 431 | { |
432 | if (uCountryCodeIdx >= CCODE_MAX) { | 432 | if (uCountryCodeIdx >= CCODE_MAX) { |
@@ -437,11 +437,11 @@ CHvChannelGetList ( | |||
437 | } | 437 | } |
438 | 438 | ||
439 | 439 | ||
440 | VOID CHvInitChannelTable (PVOID pDeviceHandler) | 440 | void CHvInitChannelTable(void *pDeviceHandler) |
441 | { | 441 | { |
442 | PSDevice pDevice = (PSDevice) pDeviceHandler; | 442 | PSDevice pDevice = (PSDevice) pDeviceHandler; |
443 | BOOL bMultiBand = FALSE; | 443 | BOOL bMultiBand = FALSE; |
444 | UINT ii; | 444 | unsigned int ii; |
445 | 445 | ||
446 | for(ii=1;ii<=CB_MAX_CHANNEL;ii++) { | 446 | for(ii=1;ii<=CB_MAX_CHANNEL;ii++) { |
447 | sChannelTbl[ii].bValid = FALSE; | 447 | sChannelTbl[ii].bValid = FALSE; |
diff --git a/drivers/staging/vt6656/channel.h b/drivers/staging/vt6656/channel.h index 2306b202565..91c2ffc6f1f 100644 --- a/drivers/staging/vt6656/channel.h +++ b/drivers/staging/vt6656/channel.h | |||
@@ -37,21 +37,21 @@ | |||
37 | /*--------------------- Export Classes ----------------------------*/ | 37 | /*--------------------- Export Classes ----------------------------*/ |
38 | typedef struct tagSChannelTblElement { | 38 | typedef struct tagSChannelTblElement { |
39 | BYTE byChannelNumber; | 39 | BYTE byChannelNumber; |
40 | UINT uFrequency; | 40 | unsigned int uFrequency; |
41 | BOOL bValid; | 41 | BOOL bValid; |
42 | }SChannelTblElement, *PSChannelTblElement; | 42 | }SChannelTblElement, *PSChannelTblElement; |
43 | 43 | ||
44 | /*--------------------- Export Variables --------------------------*/ | 44 | /*--------------------- Export Variables --------------------------*/ |
45 | 45 | ||
46 | /*--------------------- Export Functions --------------------------*/ | 46 | /*--------------------- Export Functions --------------------------*/ |
47 | BOOL ChannelValid(UINT CountryCode, UINT ChannelNum); | 47 | BOOL ChannelValid(unsigned int CountryCode, unsigned int ChannelNum); |
48 | VOID CHvInitChannelTable (PVOID pDeviceHandler); | 48 | void CHvInitChannelTable(void *pDeviceHandler); |
49 | BYTE CHbyGetChannelMapping(BYTE byChannelNumber); | 49 | BYTE CHbyGetChannelMapping(BYTE byChannelNumber); |
50 | 50 | ||
51 | BOOL | 51 | BOOL |
52 | CHvChannelGetList ( | 52 | CHvChannelGetList ( |
53 | IN UINT uCountryCodeIdx, | 53 | unsigned int uCountryCodeIdx, |
54 | OUT PBYTE pbyChannelTable | 54 | PBYTE pbyChannelTable |
55 | ); | 55 | ); |
56 | 56 | ||
57 | #endif /* _REGULATE_H_ */ | 57 | #endif /* _REGULATE_H_ */ |
diff --git a/drivers/staging/vt6656/control.c b/drivers/staging/vt6656/control.c index 7dba7710e59..8aab6718ff4 100644 --- a/drivers/staging/vt6656/control.c +++ b/drivers/staging/vt6656/control.c | |||
@@ -30,11 +30,13 @@ | |||
30 | * CONTROLnsRequestIn - Read variable length bytes from MEM/BB/MAC/EEPROM | 30 | * CONTROLnsRequestIn - Read variable length bytes from MEM/BB/MAC/EEPROM |
31 | * ControlvWriteByte - Write one byte to MEM/BB/MAC/EEPROM | 31 | * ControlvWriteByte - Write one byte to MEM/BB/MAC/EEPROM |
32 | * ControlvReadByte - Read one byte from MEM/BB/MAC/EEPROM | 32 | * ControlvReadByte - Read one byte from MEM/BB/MAC/EEPROM |
33 | * ControlvMaskByte - Read one byte from MEM/BB/MAC/EEPROM and clear/set some bits in the same address | 33 | * ControlvMaskByte - Read one byte from MEM/BB/MAC/EEPROM and clear/set |
34 | * some bits in the same address | ||
34 | * | 35 | * |
35 | * Revision History: | 36 | * Revision History: |
36 | * 04-05-2004 Jerry Chen: Initial release | 37 | * 04-05-2004 Jerry Chen: Initial release |
37 | * 11-24-2004 Warren Hsu: Add ControlvWriteByte,ControlvReadByte,ControlvMaskByte | 38 | * 11-24-2004 Warren Hsu: Add ControlvWriteByte, ControlvReadByte, |
39 | * ControlvMaskByte | ||
38 | * | 40 | * |
39 | */ | 41 | */ |
40 | 42 | ||
@@ -42,8 +44,8 @@ | |||
42 | #include "rndis.h" | 44 | #include "rndis.h" |
43 | 45 | ||
44 | /*--------------------- Static Definitions -------------------------*/ | 46 | /*--------------------- Static Definitions -------------------------*/ |
45 | //static int msglevel =MSG_LEVEL_INFO; | 47 | /* static int msglevel =MSG_LEVEL_INFO; */ |
46 | //static int msglevel =MSG_LEVEL_DEBUG; | 48 | /* static int msglevel =MSG_LEVEL_DEBUG; */ |
47 | /*--------------------- Static Classes ----------------------------*/ | 49 | /*--------------------- Static Classes ----------------------------*/ |
48 | 50 | ||
49 | /*--------------------- Static Variables --------------------------*/ | 51 | /*--------------------- Static Variables --------------------------*/ |
@@ -54,56 +56,43 @@ | |||
54 | 56 | ||
55 | /*--------------------- Export Functions --------------------------*/ | 57 | /*--------------------- Export Functions --------------------------*/ |
56 | 58 | ||
57 | 59 | void ControlvWriteByte(PSDevice pDevice, BYTE byRegType, BYTE byRegOfs, | |
58 | void ControlvWriteByte(PSDevice pDevice, BYTE byRegType, BYTE byRegOfs, BYTE byData) | 60 | BYTE byData) |
59 | { | 61 | { |
60 | BYTE byData1; | 62 | BYTE byData1; |
61 | 63 | byData1 = byData; | |
62 | byData1 = byData; | 64 | CONTROLnsRequestOut(pDevice, |
63 | 65 | MESSAGE_TYPE_WRITE, | |
64 | CONTROLnsRequestOut(pDevice, | 66 | byRegOfs, |
65 | MESSAGE_TYPE_WRITE, | 67 | byRegType, |
66 | byRegOfs, | 68 | 1, |
67 | byRegType, | 69 | &byData1); |
68 | 1, | ||
69 | &byData1 | ||
70 | ); | ||
71 | |||
72 | } | 70 | } |
73 | 71 | ||
74 | 72 | void ControlvReadByte(PSDevice pDevice, BYTE byRegType, BYTE byRegOfs, | |
75 | void ControlvReadByte(PSDevice pDevice, BYTE byRegType, BYTE byRegOfs, PBYTE pbyData) | 73 | PBYTE pbyData) |
76 | { | 74 | { |
77 | NTSTATUS ntStatus; | 75 | NTSTATUS ntStatus; |
78 | BYTE byData1; | 76 | BYTE byData1; |
79 | 77 | ntStatus = CONTROLnsRequestIn(pDevice, | |
80 | 78 | MESSAGE_TYPE_READ, | |
81 | ntStatus = CONTROLnsRequestIn(pDevice, | 79 | byRegOfs, |
82 | MESSAGE_TYPE_READ, | 80 | byRegType, |
83 | byRegOfs, | 81 | 1, |
84 | byRegType, | 82 | &byData1); |
85 | 1, | 83 | *pbyData = byData1; |
86 | &byData1); | ||
87 | |||
88 | *pbyData = byData1; | ||
89 | |||
90 | } | 84 | } |
91 | 85 | ||
92 | 86 | void ControlvMaskByte(PSDevice pDevice, BYTE byRegType, BYTE byRegOfs, | |
93 | 87 | BYTE byMask, BYTE byData) | |
94 | void ControlvMaskByte(PSDevice pDevice, BYTE byRegType, BYTE byRegOfs, BYTE byMask, BYTE byData) | ||
95 | { | 88 | { |
96 | BYTE pbyData[2]; | 89 | BYTE pbyData[2]; |
97 | 90 | pbyData[0] = byData; | |
98 | pbyData[0] = byData; | 91 | pbyData[1] = byMask; |
99 | pbyData[1] = byMask; | 92 | CONTROLnsRequestOut(pDevice, |
100 | 93 | MESSAGE_TYPE_WRITE_MASK, | |
101 | CONTROLnsRequestOut(pDevice, | 94 | byRegOfs, |
102 | MESSAGE_TYPE_WRITE_MASK, | 95 | byRegType, |
103 | byRegOfs, | 96 | 2, |
104 | byRegType, | 97 | pbyData); |
105 | 2, | ||
106 | pbyData | ||
107 | ); | ||
108 | |||
109 | } | 98 | } |
diff --git a/drivers/staging/vt6656/control.h b/drivers/staging/vt6656/control.h index 4d9a777a706..146b450e13d 100644 --- a/drivers/staging/vt6656/control.h +++ b/drivers/staging/vt6656/control.h | |||
@@ -54,30 +54,27 @@ | |||
54 | /*--------------------- Export Functions --------------------------*/ | 54 | /*--------------------- Export Functions --------------------------*/ |
55 | 55 | ||
56 | void ControlvWriteByte( | 56 | void ControlvWriteByte( |
57 | IN PSDevice pDevice, | 57 | PSDevice pDevice, |
58 | IN BYTE byRegType, | 58 | BYTE byRegType, |
59 | IN BYTE byRegOfs, | 59 | BYTE byRegOfs, |
60 | IN BYTE byData | 60 | BYTE byData |
61 | ); | 61 | ); |
62 | 62 | ||
63 | 63 | ||
64 | void ControlvReadByte( | 64 | void ControlvReadByte( |
65 | IN PSDevice pDevice, | 65 | PSDevice pDevice, |
66 | IN BYTE byRegType, | 66 | BYTE byRegType, |
67 | IN BYTE byRegOfs, | 67 | BYTE byRegOfs, |
68 | IN PBYTE pbyData | 68 | PBYTE pbyData |
69 | ); | 69 | ); |
70 | 70 | ||
71 | 71 | ||
72 | void ControlvMaskByte( | 72 | void ControlvMaskByte( |
73 | IN PSDevice pDevice, | 73 | PSDevice pDevice, |
74 | IN BYTE byRegType, | 74 | BYTE byRegType, |
75 | IN BYTE byRegOfs, | 75 | BYTE byRegOfs, |
76 | IN BYTE byMask, | 76 | BYTE byMask, |
77 | IN BYTE byData | 77 | BYTE byData |
78 | ); | 78 | ); |
79 | 79 | ||
80 | #endif // __RCV_H__ | 80 | #endif /* __CONTROL_H__ */ |
81 | |||
82 | |||
83 | |||
diff --git a/drivers/staging/vt6656/datarate.c b/drivers/staging/vt6656/datarate.c index 968feb466b0..2e183ddbfd0 100644 --- a/drivers/staging/vt6656/datarate.c +++ b/drivers/staging/vt6656/datarate.c | |||
@@ -65,16 +65,9 @@ const BYTE acbyIERate[MAX_RATE] = | |||
65 | 65 | ||
66 | /*--------------------- Static Functions --------------------------*/ | 66 | /*--------------------- Static Functions --------------------------*/ |
67 | 67 | ||
68 | VOID s_vResetCounter ( | 68 | void s_vResetCounter(PKnownNodeDB psNodeDBTable); |
69 | IN PKnownNodeDB psNodeDBTable | ||
70 | ); | ||
71 | 69 | ||
72 | 70 | void s_vResetCounter(PKnownNodeDB psNodeDBTable) | |
73 | |||
74 | VOID | ||
75 | s_vResetCounter ( | ||
76 | IN PKnownNodeDB psNodeDBTable | ||
77 | ) | ||
78 | { | 71 | { |
79 | BYTE ii; | 72 | BYTE ii; |
80 | 73 | ||
@@ -107,7 +100,7 @@ s_vResetCounter ( | |||
107 | -*/ | 100 | -*/ |
108 | BYTE | 101 | BYTE |
109 | DATARATEbyGetRateIdx ( | 102 | DATARATEbyGetRateIdx ( |
110 | IN BYTE byRate | 103 | BYTE byRate |
111 | ) | 104 | ) |
112 | { | 105 | { |
113 | BYTE ii; | 106 | BYTE ii; |
@@ -161,7 +154,7 @@ DATARATEbyGetRateIdx ( | |||
161 | -*/ | 154 | -*/ |
162 | WORD | 155 | WORD |
163 | RATEwGetRateIdx( | 156 | RATEwGetRateIdx( |
164 | IN BYTE byRate | 157 | BYTE byRate |
165 | ) | 158 | ) |
166 | { | 159 | { |
167 | WORD ii; | 160 | WORD ii; |
@@ -195,25 +188,24 @@ RATEwGetRateIdx( | |||
195 | * Return Value: none | 188 | * Return Value: none |
196 | * | 189 | * |
197 | -*/ | 190 | -*/ |
198 | VOID | 191 | void RATEvParseMaxRate( |
199 | RATEvParseMaxRate ( | 192 | void *pDeviceHandler, |
200 | IN PVOID pDeviceHandler, | 193 | PWLAN_IE_SUPP_RATES pItemRates, |
201 | IN PWLAN_IE_SUPP_RATES pItemRates, | 194 | PWLAN_IE_SUPP_RATES pItemExtRates, |
202 | IN PWLAN_IE_SUPP_RATES pItemExtRates, | 195 | BOOL bUpdateBasicRate, |
203 | IN BOOL bUpdateBasicRate, | 196 | PWORD pwMaxBasicRate, |
204 | OUT PWORD pwMaxBasicRate, | 197 | PWORD pwMaxSuppRate, |
205 | OUT PWORD pwMaxSuppRate, | 198 | PWORD pwSuppRate, |
206 | OUT PWORD pwSuppRate, | 199 | PBYTE pbyTopCCKRate, |
207 | OUT PBYTE pbyTopCCKRate, | 200 | PBYTE pbyTopOFDMRate |
208 | OUT PBYTE pbyTopOFDMRate | ||
209 | ) | 201 | ) |
210 | { | 202 | { |
211 | PSDevice pDevice = (PSDevice) pDeviceHandler; | 203 | PSDevice pDevice = (PSDevice) pDeviceHandler; |
212 | UINT ii; | 204 | unsigned int ii; |
213 | BYTE byHighSuppRate = 0; | 205 | BYTE byHighSuppRate = 0; |
214 | BYTE byRate = 0; | 206 | BYTE byRate = 0; |
215 | WORD wOldBasicRate = pDevice->wBasicRate; | 207 | WORD wOldBasicRate = pDevice->wBasicRate; |
216 | UINT uRateLen; | 208 | unsigned int uRateLen; |
217 | 209 | ||
218 | 210 | ||
219 | if (pItemRates == NULL) | 211 | if (pItemRates == NULL) |
@@ -236,7 +228,7 @@ UINT uRateLen; | |||
236 | if (WLAN_MGMT_IS_BASICRATE(byRate) && | 228 | if (WLAN_MGMT_IS_BASICRATE(byRate) && |
237 | (bUpdateBasicRate == TRUE)) { | 229 | (bUpdateBasicRate == TRUE)) { |
238 | // Add to basic rate set, update pDevice->byTopCCKBasicRate and pDevice->byTopOFDMBasicRate | 230 | // Add to basic rate set, update pDevice->byTopCCKBasicRate and pDevice->byTopOFDMBasicRate |
239 | CARDbAddBasicRate((PVOID)pDevice, RATEwGetRateIdx(byRate)); | 231 | CARDbAddBasicRate((void *)pDevice, RATEwGetRateIdx(byRate)); |
240 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"ParseMaxRate AddBasicRate: %d\n", RATEwGetRateIdx(byRate)); | 232 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"ParseMaxRate AddBasicRate: %d\n", RATEwGetRateIdx(byRate)); |
241 | } | 233 | } |
242 | byRate = (BYTE)(pItemRates->abyRates[ii]&0x7F); | 234 | byRate = (BYTE)(pItemRates->abyRates[ii]&0x7F); |
@@ -249,7 +241,7 @@ UINT uRateLen; | |||
249 | if ((pItemExtRates != NULL) && (pItemExtRates->byElementID == WLAN_EID_EXTSUPP_RATES) && | 241 | if ((pItemExtRates != NULL) && (pItemExtRates->byElementID == WLAN_EID_EXTSUPP_RATES) && |
250 | (pDevice->byBBType != BB_TYPE_11B)) { | 242 | (pDevice->byBBType != BB_TYPE_11B)) { |
251 | 243 | ||
252 | UINT uExtRateLen = pItemExtRates->len; | 244 | unsigned int uExtRateLen = pItemExtRates->len; |
253 | 245 | ||
254 | if (uExtRateLen > WLAN_RATES_MAXLEN) | 246 | if (uExtRateLen > WLAN_RATES_MAXLEN) |
255 | uExtRateLen = WLAN_RATES_MAXLEN; | 247 | uExtRateLen = WLAN_RATES_MAXLEN; |
@@ -259,7 +251,7 @@ UINT uRateLen; | |||
259 | // select highest basic rate | 251 | // select highest basic rate |
260 | if (WLAN_MGMT_IS_BASICRATE(pItemExtRates->abyRates[ii])) { | 252 | if (WLAN_MGMT_IS_BASICRATE(pItemExtRates->abyRates[ii])) { |
261 | // Add to basic rate set, update pDevice->byTopCCKBasicRate and pDevice->byTopOFDMBasicRate | 253 | // Add to basic rate set, update pDevice->byTopCCKBasicRate and pDevice->byTopOFDMBasicRate |
262 | CARDbAddBasicRate((PVOID)pDevice, RATEwGetRateIdx(byRate)); | 254 | CARDbAddBasicRate((void *)pDevice, RATEwGetRateIdx(byRate)); |
263 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"ParseMaxRate AddBasicRate: %d\n", RATEwGetRateIdx(byRate)); | 255 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"ParseMaxRate AddBasicRate: %d\n", RATEwGetRateIdx(byRate)); |
264 | } | 256 | } |
265 | byRate = (BYTE)(pItemExtRates->abyRates[ii]&0x7F); | 257 | byRate = (BYTE)(pItemExtRates->abyRates[ii]&0x7F); |
@@ -272,7 +264,8 @@ UINT uRateLen; | |||
272 | } | 264 | } |
273 | } //if(pItemExtRates != NULL) | 265 | } //if(pItemExtRates != NULL) |
274 | 266 | ||
275 | if ((pDevice->byPacketType == PK_TYPE_11GB) && CARDbIsOFDMinBasicRate((PVOID)pDevice)) { | 267 | if ((pDevice->byPacketType == PK_TYPE_11GB) |
268 | && CARDbIsOFDMinBasicRate((void *)pDevice)) { | ||
276 | pDevice->byPacketType = PK_TYPE_11GA; | 269 | pDevice->byPacketType = PK_TYPE_11GA; |
277 | } | 270 | } |
278 | 271 | ||
@@ -284,7 +277,7 @@ UINT uRateLen; | |||
284 | else | 277 | else |
285 | *pwMaxBasicRate = pDevice->byTopOFDMBasicRate; | 278 | *pwMaxBasicRate = pDevice->byTopOFDMBasicRate; |
286 | if (wOldBasicRate != pDevice->wBasicRate) | 279 | if (wOldBasicRate != pDevice->wBasicRate) |
287 | CARDvSetRSPINF((PVOID)pDevice, pDevice->byBBType); | 280 | CARDvSetRSPINF((void *)pDevice, pDevice->byBBType); |
288 | 281 | ||
289 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"Exit ParseMaxRate\n"); | 282 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"Exit ParseMaxRate\n"); |
290 | } | 283 | } |
@@ -308,17 +301,17 @@ UINT uRateLen; | |||
308 | #define AUTORATE_TXCNT_THRESHOLD 20 | 301 | #define AUTORATE_TXCNT_THRESHOLD 20 |
309 | #define AUTORATE_INC_THRESHOLD 30 | 302 | #define AUTORATE_INC_THRESHOLD 30 |
310 | 303 | ||
311 | VOID | 304 | void |
312 | RATEvTxRateFallBack ( | 305 | RATEvTxRateFallBack( |
313 | IN PVOID pDeviceHandler, | 306 | void *pDeviceHandler, |
314 | IN PKnownNodeDB psNodeDBTable | 307 | PKnownNodeDB psNodeDBTable |
315 | ) | 308 | ) |
316 | { | 309 | { |
317 | PSDevice pDevice = (PSDevice) pDeviceHandler; | 310 | PSDevice pDevice = (PSDevice) pDeviceHandler; |
318 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); | 311 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); |
319 | #if 1 //mike fixed old: use packet lose ratio algorithm to control rate | 312 | #if 1 //mike fixed old: use packet lose ratio algorithm to control rate |
320 | WORD wIdxDownRate = 0; | 313 | WORD wIdxDownRate = 0; |
321 | UINT ii; | 314 | unsigned int ii; |
322 | BOOL bAutoRate[MAX_RATE] = {TRUE,TRUE,TRUE,TRUE,FALSE,FALSE,TRUE,TRUE,TRUE,TRUE,TRUE,TRUE}; | 315 | BOOL bAutoRate[MAX_RATE] = {TRUE,TRUE,TRUE,TRUE,FALSE,FALSE,TRUE,TRUE,TRUE,TRUE,TRUE,TRUE}; |
323 | DWORD dwThroughputTbl[MAX_RATE] = {10, 20, 55, 110, 60, 90, 120, 180, 240, 360, 480, 540}; | 316 | DWORD dwThroughputTbl[MAX_RATE] = {10, 20, 55, 110, 60, 90, 120, 180, 240, 360, 480, 540}; |
324 | DWORD dwThroughput = 0; | 317 | DWORD dwThroughput = 0; |
@@ -399,7 +392,7 @@ DWORD dwTxDiff = 0; | |||
399 | #else //mike fixed new: use differ-signal strength to control rate | 392 | #else //mike fixed new: use differ-signal strength to control rate |
400 | WORD wIdxUpRate = 0; | 393 | WORD wIdxUpRate = 0; |
401 | BOOL bAutoRate[MAX_RATE] = {TRUE,TRUE,TRUE,TRUE,FALSE,FALSE,TRUE,TRUE,TRUE,TRUE,TRUE,TRUE}; | 394 | BOOL bAutoRate[MAX_RATE] = {TRUE,TRUE,TRUE,TRUE,FALSE,FALSE,TRUE,TRUE,TRUE,TRUE,TRUE,TRUE}; |
402 | UINT ii; | 395 | unsigned int ii; |
403 | long ldBm; | 396 | long ldBm; |
404 | 397 | ||
405 | if (pMgmt->eScanState != WMAC_NO_SCANNING) { | 398 | if (pMgmt->eScanState != WMAC_NO_SCANNING) { |
@@ -473,12 +466,12 @@ if (wIdxUpRate == RATE_54M ) { //11a/g | |||
473 | -*/ | 466 | -*/ |
474 | BYTE | 467 | BYTE |
475 | RATEuSetIE ( | 468 | RATEuSetIE ( |
476 | IN PWLAN_IE_SUPP_RATES pSrcRates, | 469 | PWLAN_IE_SUPP_RATES pSrcRates, |
477 | IN PWLAN_IE_SUPP_RATES pDstRates, | 470 | PWLAN_IE_SUPP_RATES pDstRates, |
478 | IN UINT uRateLen | 471 | unsigned int uRateLen |
479 | ) | 472 | ) |
480 | { | 473 | { |
481 | UINT ii, uu, uRateCnt = 0; | 474 | unsigned int ii, uu, uRateCnt = 0; |
482 | 475 | ||
483 | if ((pSrcRates == NULL) || (pDstRates == NULL)) | 476 | if ((pSrcRates == NULL) || (pDstRates == NULL)) |
484 | return 0; | 477 | return 0; |
diff --git a/drivers/staging/vt6656/datarate.h b/drivers/staging/vt6656/datarate.h index 68f206e2707..c6f5163ff9b 100644 --- a/drivers/staging/vt6656/datarate.h +++ b/drivers/staging/vt6656/datarate.h | |||
@@ -69,42 +69,41 @@ | |||
69 | 69 | ||
70 | 70 | ||
71 | 71 | ||
72 | VOID | 72 | void |
73 | RATEvParseMaxRate( | 73 | RATEvParseMaxRate( |
74 | IN PVOID pDeviceHandler, | 74 | void *pDeviceHandler, |
75 | IN PWLAN_IE_SUPP_RATES pItemRates, | 75 | PWLAN_IE_SUPP_RATES pItemRates, |
76 | IN PWLAN_IE_SUPP_RATES pItemExtRates, | 76 | PWLAN_IE_SUPP_RATES pItemExtRates, |
77 | IN BOOL bUpdateBasicRate, | 77 | BOOL bUpdateBasicRate, |
78 | OUT PWORD pwMaxBasicRate, | 78 | PWORD pwMaxBasicRate, |
79 | OUT PWORD pwMaxSuppRate, | 79 | PWORD pwMaxSuppRate, |
80 | OUT PWORD pwSuppRate, | 80 | PWORD pwSuppRate, |
81 | OUT PBYTE pbyTopCCKRate, | 81 | PBYTE pbyTopCCKRate, |
82 | OUT PBYTE pbyTopOFDMRate | 82 | PBYTE pbyTopOFDMRate |
83 | ); | 83 | ); |
84 | 84 | ||
85 | VOID | 85 | void |
86 | RATEvTxRateFallBack( | 86 | RATEvTxRateFallBack( |
87 | IN PVOID pDeviceHandler, | 87 | void *pDeviceHandler, |
88 | IN PKnownNodeDB psNodeDBTable | 88 | PKnownNodeDB psNodeDBTable |
89 | ); | 89 | ); |
90 | 90 | ||
91 | BYTE | 91 | BYTE |
92 | RATEuSetIE( | 92 | RATEuSetIE( |
93 | IN PWLAN_IE_SUPP_RATES pSrcRates, | 93 | PWLAN_IE_SUPP_RATES pSrcRates, |
94 | IN PWLAN_IE_SUPP_RATES pDstRates, | 94 | PWLAN_IE_SUPP_RATES pDstRates, |
95 | IN UINT uRateLen | 95 | unsigned int uRateLen |
96 | ); | 96 | ); |
97 | 97 | ||
98 | WORD | 98 | WORD |
99 | RATEwGetRateIdx( | 99 | RATEwGetRateIdx( |
100 | IN BYTE byRate | 100 | BYTE byRate |
101 | ); | 101 | ); |
102 | 102 | ||
103 | 103 | ||
104 | BYTE | 104 | BYTE |
105 | DATARATEbyGetRateIdx( | 105 | DATARATEbyGetRateIdx( |
106 | IN BYTE byRate | 106 | BYTE byRate |
107 | ); | 107 | ); |
108 | 108 | ||
109 | 109 | #endif /* __DATARATE_H__ */ | |
110 | #endif //__DATARATE_H__ | ||
diff --git a/drivers/staging/vt6656/desc.h b/drivers/staging/vt6656/desc.h index f10530fcc99..07f794ec6db 100644 --- a/drivers/staging/vt6656/desc.h +++ b/drivers/staging/vt6656/desc.h | |||
@@ -206,8 +206,8 @@ typedef const SRrvTime_atim *PCSRrvTime_atim; | |||
206 | typedef struct tagSRTSData { | 206 | typedef struct tagSRTSData { |
207 | WORD wFrameControl; | 207 | WORD wFrameControl; |
208 | WORD wDurationID; | 208 | WORD wDurationID; |
209 | BYTE abyRA[U_ETHER_ADDR_LEN]; | 209 | BYTE abyRA[ETH_ALEN]; |
210 | BYTE abyTA[U_ETHER_ADDR_LEN]; | 210 | BYTE abyTA[ETH_ALEN]; |
211 | }__attribute__ ((__packed__)) | 211 | }__attribute__ ((__packed__)) |
212 | SRTSData, *PSRTSData; | 212 | SRTSData, *PSRTSData; |
213 | typedef const SRTSData *PCSRTSData; | 213 | typedef const SRTSData *PCSRTSData; |
@@ -282,7 +282,7 @@ typedef const SRTS_a_FB *PCSRTS_a_FB; | |||
282 | typedef struct tagSCTSData { | 282 | typedef struct tagSCTSData { |
283 | WORD wFrameControl; | 283 | WORD wFrameControl; |
284 | WORD wDurationID; | 284 | WORD wDurationID; |
285 | BYTE abyRA[U_ETHER_ADDR_LEN]; | 285 | BYTE abyRA[ETH_ALEN]; |
286 | WORD wReserved; | 286 | WORD wReserved; |
287 | }__attribute__ ((__packed__)) | 287 | }__attribute__ ((__packed__)) |
288 | SCTSData, *PSCTSData; | 288 | SCTSData, *PSCTSData; |
@@ -436,8 +436,4 @@ SKeyEntry; | |||
436 | 436 | ||
437 | /*--------------------- Export Functions --------------------------*/ | 437 | /*--------------------- Export Functions --------------------------*/ |
438 | 438 | ||
439 | 439 | #endif /* __DESC_H__ */ | |
440 | |||
441 | |||
442 | #endif // __DESC_H__ | ||
443 | |||
diff --git a/drivers/staging/vt6656/device.h b/drivers/staging/vt6656/device.h index 8b541d1d0e2..ef9fd97d3ca 100644 --- a/drivers/staging/vt6656/device.h +++ b/drivers/staging/vt6656/device.h | |||
@@ -107,7 +107,7 @@ | |||
107 | #define MAC_MAX_CONTEXT_REG (256+128) | 107 | #define MAC_MAX_CONTEXT_REG (256+128) |
108 | 108 | ||
109 | #define MAX_MULTICAST_ADDRESS_NUM 32 | 109 | #define MAX_MULTICAST_ADDRESS_NUM 32 |
110 | #define MULTICAST_ADDRESS_LIST_SIZE (MAX_MULTICAST_ADDRESS_NUM * U_ETHER_ADDR_LEN) | 110 | #define MULTICAST_ADDRESS_LIST_SIZE (MAX_MULTICAST_ADDRESS_NUM * ETH_ALEN) |
111 | 111 | ||
112 | 112 | ||
113 | //#define OP_MODE_INFRASTRUCTURE 0 | 113 | //#define OP_MODE_INFRASTRUCTURE 0 |
@@ -209,9 +209,9 @@ typedef enum _CONTEXT_TYPE { | |||
209 | // RCB (Receive Control Block) | 209 | // RCB (Receive Control Block) |
210 | typedef struct _RCB | 210 | typedef struct _RCB |
211 | { | 211 | { |
212 | PVOID Next; | 212 | void *Next; |
213 | LONG Ref; | 213 | signed long Ref; |
214 | PVOID pDevice; | 214 | void *pDevice; |
215 | struct urb *pUrb; | 215 | struct urb *pUrb; |
216 | SRxMgmtPacket sMngPacket; | 216 | SRxMgmtPacket sMngPacket; |
217 | struct sk_buff* skb; | 217 | struct sk_buff* skb; |
@@ -222,34 +222,33 @@ typedef struct _RCB | |||
222 | 222 | ||
223 | // used to track bulk out irps | 223 | // used to track bulk out irps |
224 | typedef struct _USB_SEND_CONTEXT { | 224 | typedef struct _USB_SEND_CONTEXT { |
225 | PVOID pDevice; | 225 | void *pDevice; |
226 | struct sk_buff *pPacket; | 226 | struct sk_buff *pPacket; |
227 | struct urb *pUrb; | 227 | struct urb *pUrb; |
228 | UINT uBufLen; | 228 | unsigned int uBufLen; |
229 | CONTEXT_TYPE Type; | 229 | CONTEXT_TYPE Type; |
230 | SEthernetHeader sEthHeader; | 230 | SEthernetHeader sEthHeader; |
231 | PVOID Next; | 231 | void *Next; |
232 | BOOL bBoolInUse; | 232 | BOOL bBoolInUse; |
233 | UCHAR Data[MAX_TOTAL_SIZE_WITH_ALL_HEADERS]; | 233 | unsigned char Data[MAX_TOTAL_SIZE_WITH_ALL_HEADERS]; |
234 | } USB_SEND_CONTEXT, *PUSB_SEND_CONTEXT; | 234 | } USB_SEND_CONTEXT, *PUSB_SEND_CONTEXT; |
235 | 235 | ||
236 | 236 | ||
237 | //structure got from configuration file as user desired default setting. | 237 | /* structure got from configuration file as user-desired default settings */ |
238 | typedef struct _DEFAULT_CONFIG{ | 238 | typedef struct _DEFAULT_CONFIG { |
239 | INT ZoneType; | 239 | signed int ZoneType; |
240 | INT eConfigMode; | 240 | signed int eConfigMode; |
241 | INT eAuthenMode; //open/wep/wpa | 241 | signed int eAuthenMode; /* open/wep/wpa */ |
242 | INT bShareKeyAlgorithm; //open-open/open-sharekey/wep-sharekey | 242 | signed int bShareKeyAlgorithm; /* open-open/{open,wep}-sharekey */ |
243 | INT keyidx; //wepkey index | 243 | signed int keyidx; /* wepkey index */ |
244 | INT eEncryptionStatus; | 244 | signed int eEncryptionStatus; |
245 | 245 | } DEFAULT_CONFIG, *PDEFAULT_CONFIG; | |
246 | }DEFAULT_CONFIG,*PDEFAULT_CONFIG; | ||
247 | 246 | ||
248 | // | 247 | // |
249 | // Structure to keep track of usb interrupt packets | 248 | // Structure to keep track of usb interrupt packets |
250 | // | 249 | // |
251 | typedef struct { | 250 | typedef struct { |
252 | UINT uDataLen; | 251 | unsigned int uDataLen; |
253 | PBYTE pDataBuf; | 252 | PBYTE pDataBuf; |
254 | // struct urb *pUrb; | 253 | // struct urb *pUrb; |
255 | BOOL bInUse; | 254 | BOOL bInUse; |
@@ -296,7 +295,7 @@ typedef enum __DEVICE_NDIS_STATUS { | |||
296 | #define NDIS_802_11_PMKID_CANDIDATE_PREAUTH_ENABLED 0x01 | 295 | #define NDIS_802_11_PMKID_CANDIDATE_PREAUTH_ENABLED 0x01 |
297 | 296 | ||
298 | // PMKID Structures | 297 | // PMKID Structures |
299 | typedef UCHAR NDIS_802_11_PMKID_VALUE[16]; | 298 | typedef unsigned char NDIS_802_11_PMKID_VALUE[16]; |
300 | 299 | ||
301 | 300 | ||
302 | typedef enum _NDIS_802_11_WEP_STATUS | 301 | typedef enum _NDIS_802_11_WEP_STATUS |
@@ -328,7 +327,7 @@ typedef enum _NDIS_802_11_STATUS_TYPE | |||
328 | //Added new types for PMKID Candidate lists. | 327 | //Added new types for PMKID Candidate lists. |
329 | typedef struct _PMKID_CANDIDATE { | 328 | typedef struct _PMKID_CANDIDATE { |
330 | NDIS_802_11_MAC_ADDRESS BSSID; | 329 | NDIS_802_11_MAC_ADDRESS BSSID; |
331 | ULONG Flags; | 330 | unsigned long Flags; |
332 | } PMKID_CANDIDATE, *PPMKID_CANDIDATE; | 331 | } PMKID_CANDIDATE, *PPMKID_CANDIDATE; |
333 | 332 | ||
334 | 333 | ||
@@ -339,15 +338,15 @@ typedef struct _BSSID_INFO | |||
339 | } BSSID_INFO, *PBSSID_INFO; | 338 | } BSSID_INFO, *PBSSID_INFO; |
340 | 339 | ||
341 | typedef struct tagSPMKID { | 340 | typedef struct tagSPMKID { |
342 | ULONG Length; | 341 | unsigned long Length; |
343 | ULONG BSSIDInfoCount; | 342 | unsigned long BSSIDInfoCount; |
344 | BSSID_INFO BSSIDInfo[MAX_BSSIDINFO_4_PMKID]; | 343 | BSSID_INFO BSSIDInfo[MAX_BSSIDINFO_4_PMKID]; |
345 | } SPMKID, *PSPMKID; | 344 | } SPMKID, *PSPMKID; |
346 | 345 | ||
347 | typedef struct tagSPMKIDCandidateEvent { | 346 | typedef struct tagSPMKIDCandidateEvent { |
348 | NDIS_802_11_STATUS_TYPE StatusType; | 347 | NDIS_802_11_STATUS_TYPE StatusType; |
349 | ULONG Version; // Version of the structure | 348 | unsigned long Version; /* Version of the structure */ |
350 | ULONG NumCandidates; // No. of pmkid candidates | 349 | unsigned long NumCandidates; /* No. of pmkid candidates */ |
351 | PMKID_CANDIDATE CandidateList[MAX_PMKIDLIST]; | 350 | PMKID_CANDIDATE CandidateList[MAX_PMKIDLIST]; |
352 | } SPMKIDCandidateEvent, *PSPMKIDCandidateEvent; | 351 | } SPMKIDCandidateEvent, *PSPMKIDCandidateEvent; |
353 | 352 | ||
@@ -369,7 +368,7 @@ typedef struct tagSQuietControl { | |||
369 | // The receive duplicate detection cache entry | 368 | // The receive duplicate detection cache entry |
370 | typedef struct tagSCacheEntry{ | 369 | typedef struct tagSCacheEntry{ |
371 | WORD wFmSequence; | 370 | WORD wFmSequence; |
372 | BYTE abyAddr2[U_ETHER_ADDR_LEN]; | 371 | BYTE abyAddr2[ETH_ALEN]; |
373 | WORD wFrameCtl; | 372 | WORD wFrameCtl; |
374 | } SCacheEntry, *PSCacheEntry; | 373 | } SCacheEntry, *PSCacheEntry; |
375 | 374 | ||
@@ -377,7 +376,7 @@ typedef struct tagSCache{ | |||
377 | /* The receive cache is updated circularly. The next entry to be written is | 376 | /* The receive cache is updated circularly. The next entry to be written is |
378 | * indexed by the "InPtr". | 377 | * indexed by the "InPtr". |
379 | */ | 378 | */ |
380 | UINT uInPtr; // Place to use next | 379 | unsigned int uInPtr; /* Place to use next */ |
381 | SCacheEntry asCacheEntry[DUPLICATE_RX_CACHE_LENGTH]; | 380 | SCacheEntry asCacheEntry[DUPLICATE_RX_CACHE_LENGTH]; |
382 | } SCache, *PSCache; | 381 | } SCache, *PSCache; |
383 | 382 | ||
@@ -387,11 +386,11 @@ typedef struct tagSDeFragControlBlock | |||
387 | { | 386 | { |
388 | WORD wSequence; | 387 | WORD wSequence; |
389 | WORD wFragNum; | 388 | WORD wFragNum; |
390 | BYTE abyAddr2[U_ETHER_ADDR_LEN]; | 389 | BYTE abyAddr2[ETH_ALEN]; |
391 | UINT uLifetime; | 390 | unsigned int uLifetime; |
392 | struct sk_buff* skb; | 391 | struct sk_buff* skb; |
393 | PBYTE pbyRxBuffer; | 392 | PBYTE pbyRxBuffer; |
394 | UINT cbFrameLength; | 393 | unsigned int cbFrameLength; |
395 | BOOL bInUse; | 394 | BOOL bInUse; |
396 | } SDeFragControlBlock, *PSDeFragControlBlock; | 395 | } SDeFragControlBlock, *PSDeFragControlBlock; |
397 | 396 | ||
@@ -435,7 +434,7 @@ typedef struct __device_opt { | |||
435 | int short_retry; | 434 | int short_retry; |
436 | int long_retry; | 435 | int long_retry; |
437 | int bbp_type; | 436 | int bbp_type; |
438 | U32 flags; | 437 | u32 flags; |
439 | } OPTIONS, *POPTIONS; | 438 | } OPTIONS, *POPTIONS; |
440 | 439 | ||
441 | 440 | ||
@@ -453,25 +452,25 @@ typedef struct __device_info { | |||
453 | struct tasklet_struct ReadWorkItem; | 452 | struct tasklet_struct ReadWorkItem; |
454 | struct tasklet_struct RxMngWorkItem; | 453 | struct tasklet_struct RxMngWorkItem; |
455 | 454 | ||
456 | U32 rx_buf_sz; | 455 | u32 rx_buf_sz; |
457 | int multicast_limit; | 456 | int multicast_limit; |
458 | BYTE byRxMode; | 457 | BYTE byRxMode; |
459 | 458 | ||
460 | spinlock_t lock; | 459 | spinlock_t lock; |
461 | 460 | ||
462 | U32 rx_bytes; | 461 | u32 rx_bytes; |
463 | 462 | ||
464 | BYTE byRevId; | 463 | BYTE byRevId; |
465 | 464 | ||
466 | U32 flags; | 465 | u32 flags; |
467 | ULONG Flags; | 466 | unsigned long Flags; |
468 | 467 | ||
469 | SCache sDupRxCache; | 468 | SCache sDupRxCache; |
470 | 469 | ||
471 | SDeFragControlBlock sRxDFCB[CB_MAX_RX_FRAG]; | 470 | SDeFragControlBlock sRxDFCB[CB_MAX_RX_FRAG]; |
472 | UINT cbDFCB; | 471 | unsigned int cbDFCB; |
473 | UINT cbFreeDFCB; | 472 | unsigned int cbFreeDFCB; |
474 | UINT uCurrentDFCBIdx; | 473 | unsigned int uCurrentDFCBIdx; |
475 | 474 | ||
476 | // +++USB | 475 | // +++USB |
477 | 476 | ||
@@ -479,29 +478,29 @@ typedef struct __device_info { | |||
479 | struct urb *pInterruptURB; | 478 | struct urb *pInterruptURB; |
480 | struct usb_ctrlrequest sUsbCtlRequest; | 479 | struct usb_ctrlrequest sUsbCtlRequest; |
481 | 480 | ||
482 | UINT int_interval; | 481 | unsigned int int_interval; |
483 | // | 482 | // |
484 | // Variables to track resources for the BULK In Pipe | 483 | // Variables to track resources for the BULK In Pipe |
485 | // | 484 | // |
486 | PRCB pRCBMem; | 485 | PRCB pRCBMem; |
487 | PRCB apRCB[CB_MAX_RX_DESC]; | 486 | PRCB apRCB[CB_MAX_RX_DESC]; |
488 | UINT cbRD; | 487 | unsigned int cbRD; |
489 | PRCB FirstRecvFreeList; | 488 | PRCB FirstRecvFreeList; |
490 | PRCB LastRecvFreeList; | 489 | PRCB LastRecvFreeList; |
491 | UINT NumRecvFreeList; | 490 | unsigned int NumRecvFreeList; |
492 | PRCB FirstRecvMngList; | 491 | PRCB FirstRecvMngList; |
493 | PRCB LastRecvMngList; | 492 | PRCB LastRecvMngList; |
494 | UINT NumRecvMngList; | 493 | unsigned int NumRecvMngList; |
495 | BOOL bIsRxWorkItemQueued; | 494 | BOOL bIsRxWorkItemQueued; |
496 | BOOL bIsRxMngWorkItemQueued; | 495 | BOOL bIsRxMngWorkItemQueued; |
497 | ULONG ulRcvRefCount; // number of packets that have not been returned back | 496 | unsigned long ulRcvRefCount; /* packets that have not returned back */ |
498 | 497 | ||
499 | // | 498 | // |
500 | // Variables to track resources for the BULK Out Pipe | 499 | // Variables to track resources for the BULK Out Pipe |
501 | // | 500 | // |
502 | 501 | ||
503 | PUSB_SEND_CONTEXT apTD[CB_MAX_TX_DESC]; | 502 | PUSB_SEND_CONTEXT apTD[CB_MAX_TX_DESC]; |
504 | UINT cbTD; | 503 | unsigned int cbTD; |
505 | 504 | ||
506 | // | 505 | // |
507 | // Variables to track resources for the Interript In Pipe | 506 | // Variables to track resources for the Interript In Pipe |
@@ -518,20 +517,20 @@ typedef struct __device_info { | |||
518 | // | 517 | // |
519 | // Statistic for USB | 518 | // Statistic for USB |
520 | // protect with spinlock | 519 | // protect with spinlock |
521 | ULONG ulBulkInPosted; | 520 | unsigned long ulBulkInPosted; |
522 | ULONG ulBulkInError; | 521 | unsigned long ulBulkInError; |
523 | ULONG ulBulkInContCRCError; | 522 | unsigned long ulBulkInContCRCError; |
524 | ULONG ulBulkInBytesRead; | 523 | unsigned long ulBulkInBytesRead; |
525 | 524 | ||
526 | ULONG ulBulkOutPosted; | 525 | unsigned long ulBulkOutPosted; |
527 | ULONG ulBulkOutError; | 526 | unsigned long ulBulkOutError; |
528 | ULONG ulBulkOutContCRCError; | 527 | unsigned long ulBulkOutContCRCError; |
529 | ULONG ulBulkOutBytesWrite; | 528 | unsigned long ulBulkOutBytesWrite; |
530 | 529 | ||
531 | ULONG ulIntInPosted; | 530 | unsigned long ulIntInPosted; |
532 | ULONG ulIntInError; | 531 | unsigned long ulIntInError; |
533 | ULONG ulIntInContCRCError; | 532 | unsigned long ulIntInContCRCError; |
534 | ULONG ulIntInBytesRead; | 533 | unsigned long ulIntInBytesRead; |
535 | 534 | ||
536 | 535 | ||
537 | // Version control | 536 | // Version control |
@@ -547,10 +546,10 @@ typedef struct __device_info { | |||
547 | BYTE byOriginalZonetype; | 546 | BYTE byOriginalZonetype; |
548 | 547 | ||
549 | BOOL bLinkPass; // link status: OK or fail | 548 | BOOL bLinkPass; // link status: OK or fail |
550 | BYTE abyCurrentNetAddr[U_ETHER_ADDR_LEN]; | 549 | BYTE abyCurrentNetAddr[ETH_ALEN]; |
551 | BYTE abyPermanentNetAddr[U_ETHER_ADDR_LEN]; | 550 | BYTE abyPermanentNetAddr[ETH_ALEN]; |
552 | // SW network address | 551 | // SW network address |
553 | // BYTE abySoftwareNetAddr[U_ETHER_ADDR_LEN]; | 552 | /* u8 abySoftwareNetAddr[ETH_ALEN]; */ |
554 | BOOL bExistSWNetAddr; | 553 | BOOL bExistSWNetAddr; |
555 | 554 | ||
556 | // Adapter statistics | 555 | // Adapter statistics |
@@ -561,24 +560,24 @@ typedef struct __device_info { | |||
561 | // | 560 | // |
562 | // Maintain statistical debug info. | 561 | // Maintain statistical debug info. |
563 | // | 562 | // |
564 | ULONG packetsReceived; | 563 | unsigned long packetsReceived; |
565 | ULONG packetsReceivedDropped; | 564 | unsigned long packetsReceivedDropped; |
566 | ULONG packetsReceivedOverflow; | 565 | unsigned long packetsReceivedOverflow; |
567 | ULONG packetsSent; | 566 | unsigned long packetsSent; |
568 | ULONG packetsSentDropped; | 567 | unsigned long packetsSentDropped; |
569 | ULONG SendContextsInUse; | 568 | unsigned long SendContextsInUse; |
570 | ULONG RcvBuffersInUse; | 569 | unsigned long RcvBuffersInUse; |
571 | 570 | ||
572 | 571 | ||
573 | // 802.11 management | 572 | // 802.11 management |
574 | SMgmtObject sMgmtObj; | 573 | SMgmtObject sMgmtObj; |
575 | 574 | ||
576 | QWORD qwCurrTSF; | 575 | QWORD qwCurrTSF; |
577 | UINT cbBulkInMax; | 576 | unsigned int cbBulkInMax; |
578 | BOOL bPSRxBeacon; | 577 | BOOL bPSRxBeacon; |
579 | 578 | ||
580 | // 802.11 MAC specific | 579 | // 802.11 MAC specific |
581 | UINT uCurrRSSI; | 580 | unsigned int uCurrRSSI; |
582 | BYTE byCurrSQ; | 581 | BYTE byCurrSQ; |
583 | 582 | ||
584 | 583 | ||
@@ -599,30 +598,31 @@ typedef struct __device_info { | |||
599 | 598 | ||
600 | BOOL bDiversityRegCtlON; | 599 | BOOL bDiversityRegCtlON; |
601 | BOOL bDiversityEnable; | 600 | BOOL bDiversityEnable; |
602 | ULONG ulDiversityNValue; | 601 | unsigned long ulDiversityNValue; |
603 | ULONG ulDiversityMValue; | 602 | unsigned long ulDiversityMValue; |
604 | BYTE byTMax; | 603 | BYTE byTMax; |
605 | BYTE byTMax2; | 604 | BYTE byTMax2; |
606 | BYTE byTMax3; | 605 | BYTE byTMax3; |
607 | ULONG ulSQ3TH; | 606 | unsigned long ulSQ3TH; |
608 | 607 | ||
609 | ULONG uDiversityCnt; | 608 | unsigned long uDiversityCnt; |
610 | BYTE byAntennaState; | 609 | BYTE byAntennaState; |
611 | ULONG ulRatio_State0; | 610 | unsigned long ulRatio_State0; |
612 | ULONG ulRatio_State1; | 611 | unsigned long ulRatio_State1; |
613 | ULONG ulSQ3_State0; | 612 | unsigned long ulSQ3_State0; |
614 | ULONG ulSQ3_State1; | 613 | unsigned long ulSQ3_State1; |
615 | 614 | ||
616 | ULONG aulSQ3Val[MAX_RATE]; | 615 | unsigned long aulSQ3Val[MAX_RATE]; |
617 | ULONG aulPktNum[MAX_RATE]; | 616 | unsigned long aulPktNum[MAX_RATE]; |
618 | 617 | ||
619 | // IFS & Cw | 618 | /* IFS & Cw */ |
620 | UINT uSIFS; //Current SIFS | 619 | unsigned int uSIFS; /* Current SIFS */ |
621 | UINT uDIFS; //Current DIFS | 620 | unsigned int uDIFS; /* Current DIFS */ |
622 | UINT uEIFS; //Current EIFS | 621 | unsigned int uEIFS; /* Current EIFS */ |
623 | UINT uSlot; //Current SlotTime | 622 | unsigned int uSlot; /* Current SlotTime */ |
624 | UINT uCwMin; //Current CwMin | 623 | unsigned int uCwMin; /* Current CwMin */ |
625 | UINT uCwMax; //CwMax is fixed on 1023. | 624 | unsigned int uCwMax; /* CwMax is fixed on 1023 */ |
625 | |||
626 | // PHY parameter | 626 | // PHY parameter |
627 | BYTE bySIFS; | 627 | BYTE bySIFS; |
628 | BYTE byDIFS; | 628 | BYTE byDIFS; |
@@ -647,7 +647,7 @@ typedef struct __device_info { | |||
647 | 647 | ||
648 | BYTE byMinChannel; | 648 | BYTE byMinChannel; |
649 | BYTE byMaxChannel; | 649 | BYTE byMaxChannel; |
650 | UINT uConnectionRate; | 650 | unsigned int uConnectionRate; |
651 | 651 | ||
652 | BYTE byPreambleType; | 652 | BYTE byPreambleType; |
653 | BYTE byShortPreamble; | 653 | BYTE byShortPreamble; |
@@ -671,8 +671,8 @@ typedef struct __device_info { | |||
671 | CARD_OP_MODE eOPMode; | 671 | CARD_OP_MODE eOPMode; |
672 | BOOL bBSSIDFilter; | 672 | BOOL bBSSIDFilter; |
673 | WORD wMaxTransmitMSDULifetime; | 673 | WORD wMaxTransmitMSDULifetime; |
674 | BYTE abyBSSID[U_ETHER_ADDR_LEN]; | 674 | BYTE abyBSSID[ETH_ALEN]; |
675 | BYTE abyDesireBSSID[U_ETHER_ADDR_LEN]; | 675 | BYTE abyDesireBSSID[ETH_ALEN]; |
676 | WORD wCTSDuration; // update while speed change | 676 | WORD wCTSDuration; // update while speed change |
677 | WORD wACKDuration; // update while speed change | 677 | WORD wACKDuration; // update while speed change |
678 | WORD wRTSTransmitLen; // update while speed change | 678 | WORD wRTSTransmitLen; // update while speed change |
@@ -701,7 +701,7 @@ typedef struct __device_info { | |||
701 | WORD wListenInterval; | 701 | WORD wListenInterval; |
702 | BOOL bPWBitOn; | 702 | BOOL bPWBitOn; |
703 | WMAC_POWER_MODE ePSMode; | 703 | WMAC_POWER_MODE ePSMode; |
704 | ULONG ulPSModeWaitTx; | 704 | unsigned long ulPSModeWaitTx; |
705 | BOOL bPSModeTxBurst; | 705 | BOOL bPSModeTxBurst; |
706 | 706 | ||
707 | // Beacon releated | 707 | // Beacon releated |
@@ -710,7 +710,7 @@ typedef struct __device_info { | |||
710 | BOOL bBeaconSent; | 710 | BOOL bBeaconSent; |
711 | BOOL bFixRate; | 711 | BOOL bFixRate; |
712 | BYTE byCurrentCh; | 712 | BYTE byCurrentCh; |
713 | UINT uScanTime; | 713 | unsigned int uScanTime; |
714 | 714 | ||
715 | CMD_STATE eCommandState; | 715 | CMD_STATE eCommandState; |
716 | 716 | ||
@@ -721,15 +721,15 @@ typedef struct __device_info { | |||
721 | BOOL bStopBeacon; | 721 | BOOL bStopBeacon; |
722 | BOOL bStopDataPkt; | 722 | BOOL bStopDataPkt; |
723 | BOOL bStopTx0Pkt; | 723 | BOOL bStopTx0Pkt; |
724 | UINT uAutoReConnectTime; | 724 | unsigned int uAutoReConnectTime; |
725 | UINT uIsroamingTime; | 725 | unsigned int uIsroamingTime; |
726 | 726 | ||
727 | // 802.11 counter | 727 | // 802.11 counter |
728 | 728 | ||
729 | CMD_ITEM eCmdQueue[CMD_Q_SIZE]; | 729 | CMD_ITEM eCmdQueue[CMD_Q_SIZE]; |
730 | UINT uCmdDequeueIdx; | 730 | unsigned int uCmdDequeueIdx; |
731 | UINT uCmdEnqueueIdx; | 731 | unsigned int uCmdEnqueueIdx; |
732 | UINT cbFreeCmdQueue; | 732 | unsigned int cbFreeCmdQueue; |
733 | BOOL bCmdRunning; | 733 | BOOL bCmdRunning; |
734 | BOOL bCmdClear; | 734 | BOOL bCmdClear; |
735 | BOOL bNeedRadioOFF; | 735 | BOOL bNeedRadioOFF; |
@@ -741,7 +741,7 @@ typedef struct __device_info { | |||
741 | BYTE bSameBSSCurNum; //DavidWang | 741 | BYTE bSameBSSCurNum; //DavidWang |
742 | BOOL bRoaming; | 742 | BOOL bRoaming; |
743 | BOOL b11hEable; | 743 | BOOL b11hEable; |
744 | ULONG ulTxPower; | 744 | unsigned long ulTxPower; |
745 | 745 | ||
746 | // Encryption | 746 | // Encryption |
747 | NDIS_802_11_WEP_STATUS eEncryptionStatus; | 747 | NDIS_802_11_WEP_STATUS eEncryptionStatus; |
@@ -762,11 +762,11 @@ typedef struct __device_info { | |||
762 | BOOL bAES; | 762 | BOOL bAES; |
763 | BYTE byCntMeasure; | 763 | BYTE byCntMeasure; |
764 | 764 | ||
765 | UINT uKeyLength; | 765 | unsigned int uKeyLength; |
766 | BYTE abyKey[WLAN_WEP232_KEYLEN]; | 766 | BYTE abyKey[WLAN_WEP232_KEYLEN]; |
767 | 767 | ||
768 | // for AP mode | 768 | // for AP mode |
769 | UINT uAssocCount; | 769 | unsigned int uAssocCount; |
770 | BOOL bMoreData; | 770 | BOOL bMoreData; |
771 | 771 | ||
772 | // QoS | 772 | // QoS |
@@ -781,11 +781,11 @@ typedef struct __device_info { | |||
781 | 781 | ||
782 | // For Update BaseBand VGA Gain Offset | 782 | // For Update BaseBand VGA Gain Offset |
783 | BOOL bUpdateBBVGA; | 783 | BOOL bUpdateBBVGA; |
784 | UINT uBBVGADiffCount; | 784 | unsigned int uBBVGADiffCount; |
785 | BYTE byBBVGANew; | 785 | BYTE byBBVGANew; |
786 | BYTE byBBVGACurrent; | 786 | BYTE byBBVGACurrent; |
787 | BYTE abyBBVGA[BB_VGA_LEVEL]; | 787 | BYTE abyBBVGA[BB_VGA_LEVEL]; |
788 | LONG ldBmThreshold[BB_VGA_LEVEL]; | 788 | signed long ldBmThreshold[BB_VGA_LEVEL]; |
789 | 789 | ||
790 | BYTE byBBPreEDRSSI; | 790 | BYTE byBBPreEDRSSI; |
791 | BYTE byBBPreEDIndex; | 791 | BYTE byBBPreEDIndex; |
@@ -813,7 +813,7 @@ typedef struct __device_info { | |||
813 | //2007-0115-01<Add>by MikeLiu | 813 | //2007-0115-01<Add>by MikeLiu |
814 | #ifdef TxInSleep | 814 | #ifdef TxInSleep |
815 | struct timer_list sTimerTxData; | 815 | struct timer_list sTimerTxData; |
816 | ULONG nTxDataTimeCout; | 816 | unsigned long nTxDataTimeCout; |
817 | BOOL fTxDataInSleep; | 817 | BOOL fTxDataInSleep; |
818 | BOOL IsTxDataTrigger; | 818 | BOOL IsTxDataTrigger; |
819 | #endif | 819 | #endif |
@@ -826,9 +826,9 @@ typedef struct __device_info { | |||
826 | 826 | ||
827 | SEthernetHeader sTxEthHeader; | 827 | SEthernetHeader sTxEthHeader; |
828 | SEthernetHeader sRxEthHeader; | 828 | SEthernetHeader sRxEthHeader; |
829 | BYTE abyBroadcastAddr[U_ETHER_ADDR_LEN]; | 829 | BYTE abyBroadcastAddr[ETH_ALEN]; |
830 | BYTE abySNAP_RFC1042[U_ETHER_ADDR_LEN]; | 830 | BYTE abySNAP_RFC1042[ETH_ALEN]; |
831 | BYTE abySNAP_Bridgetunnel[U_ETHER_ADDR_LEN]; | 831 | BYTE abySNAP_Bridgetunnel[ETH_ALEN]; |
832 | 832 | ||
833 | // Pre-Authentication & PMK cache | 833 | // Pre-Authentication & PMK cache |
834 | SPMKID gsPMKID; | 834 | SPMKID gsPMKID; |
@@ -864,7 +864,7 @@ typedef struct __device_info { | |||
864 | struct net_device *apdev; | 864 | struct net_device *apdev; |
865 | int (*tx_80211)(struct sk_buff *skb, struct net_device *dev); | 865 | int (*tx_80211)(struct sk_buff *skb, struct net_device *dev); |
866 | #endif | 866 | #endif |
867 | UINT uChannel; | 867 | unsigned int uChannel; |
868 | 868 | ||
869 | struct iw_statistics wstats; // wireless stats | 869 | struct iw_statistics wstats; // wireless stats |
870 | BOOL bCommit; | 870 | BOOL bCommit; |
@@ -929,7 +929,9 @@ typedef struct __device_info { | |||
929 | 929 | ||
930 | /*--------------------- Export Functions --------------------------*/ | 930 | /*--------------------- Export Functions --------------------------*/ |
931 | 931 | ||
932 | //BOOL device_dma0_xmit(PSDevice pDevice, struct sk_buff *skb, UINT uNodeIndex); | 932 | /* BOOL device_dma0_xmit(PSDevice pDevice, struct sk_buff *skb, |
933 | * unsigned int uNodeIndex); | ||
934 | */ | ||
933 | BOOL device_alloc_frag_buf(PSDevice pDevice, PSDeFragControlBlock pDeF); | 935 | BOOL device_alloc_frag_buf(PSDevice pDevice, PSDeFragControlBlock pDeF); |
934 | 936 | ||
935 | #endif | 937 | #endif |
diff --git a/drivers/staging/vt6656/dpc.c b/drivers/staging/vt6656/dpc.c index 835c6d6967b..9afe76cacef 100644 --- a/drivers/staging/vt6656/dpc.c +++ b/drivers/staging/vt6656/dpc.c | |||
@@ -74,70 +74,69 @@ const BYTE acbyRxRate[MAX_RATE] = | |||
74 | 74 | ||
75 | /*--------------------- Static Functions --------------------------*/ | 75 | /*--------------------- Static Functions --------------------------*/ |
76 | 76 | ||
77 | static BYTE s_byGetRateIdx(IN BYTE byRate); | 77 | static BYTE s_byGetRateIdx(BYTE byRate); |
78 | |||
79 | 78 | ||
80 | static | 79 | static |
81 | VOID | 80 | void |
82 | s_vGetDASA( | 81 | s_vGetDASA( |
83 | IN PBYTE pbyRxBufferAddr, | 82 | PBYTE pbyRxBufferAddr, |
84 | OUT PUINT pcbHeaderSize, | 83 | PUINT pcbHeaderSize, |
85 | OUT PSEthernetHeader psEthHeader | 84 | PSEthernetHeader psEthHeader |
86 | ); | 85 | ); |
87 | 86 | ||
88 | static | 87 | static |
89 | VOID | 88 | void |
90 | s_vProcessRxMACHeader ( | 89 | s_vProcessRxMACHeader ( |
91 | IN PSDevice pDevice, | 90 | PSDevice pDevice, |
92 | IN PBYTE pbyRxBufferAddr, | 91 | PBYTE pbyRxBufferAddr, |
93 | IN UINT cbPacketSize, | 92 | unsigned int cbPacketSize, |
94 | IN BOOL bIsWEP, | 93 | BOOL bIsWEP, |
95 | IN BOOL bExtIV, | 94 | BOOL bExtIV, |
96 | OUT PUINT pcbHeadSize | 95 | PUINT pcbHeadSize |
97 | ); | 96 | ); |
98 | 97 | ||
99 | static BOOL s_bAPModeRxCtl( | 98 | static BOOL s_bAPModeRxCtl( |
100 | IN PSDevice pDevice, | 99 | PSDevice pDevice, |
101 | IN PBYTE pbyFrame, | 100 | PBYTE pbyFrame, |
102 | IN INT iSANodeIndex | 101 | signed int iSANodeIndex |
103 | ); | 102 | ); |
104 | 103 | ||
105 | 104 | ||
106 | 105 | ||
107 | static BOOL s_bAPModeRxData ( | 106 | static BOOL s_bAPModeRxData ( |
108 | IN PSDevice pDevice, | 107 | PSDevice pDevice, |
109 | IN struct sk_buff* skb, | 108 | struct sk_buff *skb, |
110 | IN UINT FrameSize, | 109 | unsigned int FrameSize, |
111 | IN UINT cbHeaderOffset, | 110 | unsigned int cbHeaderOffset, |
112 | IN INT iSANodeIndex, | 111 | signed int iSANodeIndex, |
113 | IN INT iDANodeIndex | 112 | signed int iDANodeIndex |
114 | ); | 113 | ); |
115 | 114 | ||
116 | 115 | ||
117 | static BOOL s_bHandleRxEncryption( | 116 | static BOOL s_bHandleRxEncryption( |
118 | IN PSDevice pDevice, | 117 | PSDevice pDevice, |
119 | IN PBYTE pbyFrame, | 118 | PBYTE pbyFrame, |
120 | IN UINT FrameSize, | 119 | unsigned int FrameSize, |
121 | IN PBYTE pbyRsr, | 120 | PBYTE pbyRsr, |
122 | OUT PBYTE pbyNewRsr, | 121 | PBYTE pbyNewRsr, |
123 | OUT PSKeyItem *pKeyOut, | 122 | PSKeyItem * pKeyOut, |
124 | int * pbExtIV, | 123 | int * pbExtIV, |
125 | OUT PWORD pwRxTSC15_0, | 124 | PWORD pwRxTSC15_0, |
126 | OUT PDWORD pdwRxTSC47_16 | 125 | PDWORD pdwRxTSC47_16 |
127 | ); | 126 | ); |
128 | 127 | ||
129 | static BOOL s_bHostWepRxEncryption( | 128 | static BOOL s_bHostWepRxEncryption( |
130 | 129 | ||
131 | IN PSDevice pDevice, | 130 | PSDevice pDevice, |
132 | IN PBYTE pbyFrame, | 131 | PBYTE pbyFrame, |
133 | IN UINT FrameSize, | 132 | unsigned int FrameSize, |
134 | IN PBYTE pbyRsr, | 133 | PBYTE pbyRsr, |
135 | IN BOOL bOnFly, | 134 | BOOL bOnFly, |
136 | IN PSKeyItem pKey, | 135 | PSKeyItem pKey, |
137 | OUT PBYTE pbyNewRsr, | 136 | PBYTE pbyNewRsr, |
138 | int * pbExtIV, | 137 | int * pbExtIV, |
139 | OUT PWORD pwRxTSC15_0, | 138 | PWORD pwRxTSC15_0, |
140 | OUT PDWORD pdwRxTSC47_16 | 139 | PDWORD pdwRxTSC47_16 |
141 | 140 | ||
142 | ); | 141 | ); |
143 | 142 | ||
@@ -161,18 +160,18 @@ static BOOL s_bHostWepRxEncryption( | |||
161 | * | 160 | * |
162 | -*/ | 161 | -*/ |
163 | static | 162 | static |
164 | VOID | 163 | void |
165 | s_vProcessRxMACHeader ( | 164 | s_vProcessRxMACHeader ( |
166 | IN PSDevice pDevice, | 165 | PSDevice pDevice, |
167 | IN PBYTE pbyRxBufferAddr, | 166 | PBYTE pbyRxBufferAddr, |
168 | IN UINT cbPacketSize, | 167 | unsigned int cbPacketSize, |
169 | IN BOOL bIsWEP, | 168 | BOOL bIsWEP, |
170 | IN BOOL bExtIV, | 169 | BOOL bExtIV, |
171 | OUT PUINT pcbHeadSize | 170 | PUINT pcbHeadSize |
172 | ) | 171 | ) |
173 | { | 172 | { |
174 | PBYTE pbyRxBuffer; | 173 | PBYTE pbyRxBuffer; |
175 | UINT cbHeaderSize = 0; | 174 | unsigned int cbHeaderSize = 0; |
176 | PWORD pwType; | 175 | PWORD pwType; |
177 | PS802_11Header pMACHeader; | 176 | PS802_11Header pMACHeader; |
178 | int ii; | 177 | int ii; |
@@ -234,11 +233,11 @@ s_vProcessRxMACHeader ( | |||
234 | } | 233 | } |
235 | } | 234 | } |
236 | 235 | ||
237 | cbHeaderSize -= (U_ETHER_ADDR_LEN * 2); | 236 | cbHeaderSize -= (ETH_ALEN * 2); |
238 | pbyRxBuffer = (PBYTE) (pbyRxBufferAddr + cbHeaderSize); | 237 | pbyRxBuffer = (PBYTE) (pbyRxBufferAddr + cbHeaderSize); |
239 | for(ii=0;ii<U_ETHER_ADDR_LEN;ii++) | 238 | for (ii = 0; ii < ETH_ALEN; ii++) |
240 | *pbyRxBuffer++ = pDevice->sRxEthHeader.abyDstAddr[ii]; | 239 | *pbyRxBuffer++ = pDevice->sRxEthHeader.abyDstAddr[ii]; |
241 | for(ii=0;ii<U_ETHER_ADDR_LEN;ii++) | 240 | for (ii = 0; ii < ETH_ALEN; ii++) |
242 | *pbyRxBuffer++ = pDevice->sRxEthHeader.abySrcAddr[ii]; | 241 | *pbyRxBuffer++ = pDevice->sRxEthHeader.abySrcAddr[ii]; |
243 | 242 | ||
244 | *pcbHeadSize = cbHeaderSize; | 243 | *pcbHeadSize = cbHeaderSize; |
@@ -247,7 +246,7 @@ s_vProcessRxMACHeader ( | |||
247 | 246 | ||
248 | 247 | ||
249 | 248 | ||
250 | static BYTE s_byGetRateIdx (IN BYTE byRate) | 249 | static BYTE s_byGetRateIdx(BYTE byRate) |
251 | { | 250 | { |
252 | BYTE byRateIdx; | 251 | BYTE byRateIdx; |
253 | 252 | ||
@@ -260,50 +259,55 @@ static BYTE s_byGetRateIdx (IN BYTE byRate) | |||
260 | 259 | ||
261 | 260 | ||
262 | static | 261 | static |
263 | VOID | 262 | void |
264 | s_vGetDASA ( | 263 | s_vGetDASA ( |
265 | IN PBYTE pbyRxBufferAddr, | 264 | PBYTE pbyRxBufferAddr, |
266 | OUT PUINT pcbHeaderSize, | 265 | PUINT pcbHeaderSize, |
267 | OUT PSEthernetHeader psEthHeader | 266 | PSEthernetHeader psEthHeader |
268 | ) | 267 | ) |
269 | { | 268 | { |
270 | UINT cbHeaderSize = 0; | 269 | unsigned int cbHeaderSize = 0; |
271 | PS802_11Header pMACHeader; | 270 | PS802_11Header pMACHeader; |
272 | int ii; | 271 | int ii; |
273 | 272 | ||
274 | pMACHeader = (PS802_11Header) (pbyRxBufferAddr + cbHeaderSize); | 273 | pMACHeader = (PS802_11Header) (pbyRxBufferAddr + cbHeaderSize); |
275 | 274 | ||
276 | if ((pMACHeader->wFrameCtl & FC_TODS) == 0) { | 275 | if ((pMACHeader->wFrameCtl & FC_TODS) == 0) { |
277 | if (pMACHeader->wFrameCtl & FC_FROMDS) { | 276 | if (pMACHeader->wFrameCtl & FC_FROMDS) { |
278 | for(ii=0;ii<U_ETHER_ADDR_LEN;ii++) { | 277 | for (ii = 0; ii < ETH_ALEN; ii++) { |
279 | psEthHeader->abyDstAddr[ii] = pMACHeader->abyAddr1[ii]; | 278 | psEthHeader->abyDstAddr[ii] = |
280 | psEthHeader->abySrcAddr[ii] = pMACHeader->abyAddr3[ii]; | 279 | pMACHeader->abyAddr1[ii]; |
281 | } | 280 | psEthHeader->abySrcAddr[ii] = |
282 | } | 281 | pMACHeader->abyAddr3[ii]; |
283 | else { | 282 | } |
284 | // IBSS mode | 283 | } else { |
285 | for(ii=0;ii<U_ETHER_ADDR_LEN;ii++) { | 284 | /* IBSS mode */ |
286 | psEthHeader->abyDstAddr[ii] = pMACHeader->abyAddr1[ii]; | 285 | for (ii = 0; ii < ETH_ALEN; ii++) { |
287 | psEthHeader->abySrcAddr[ii] = pMACHeader->abyAddr2[ii]; | 286 | psEthHeader->abyDstAddr[ii] = |
288 | } | 287 | pMACHeader->abyAddr1[ii]; |
289 | } | 288 | psEthHeader->abySrcAddr[ii] = |
290 | } | 289 | pMACHeader->abyAddr2[ii]; |
291 | else { | 290 | } |
292 | // Is AP mode.. | 291 | } |
293 | if (pMACHeader->wFrameCtl & FC_FROMDS) { | 292 | } else { |
294 | for(ii=0;ii<U_ETHER_ADDR_LEN;ii++) { | 293 | /* Is AP mode.. */ |
295 | psEthHeader->abyDstAddr[ii] = pMACHeader->abyAddr3[ii]; | 294 | if (pMACHeader->wFrameCtl & FC_FROMDS) { |
296 | psEthHeader->abySrcAddr[ii] = pMACHeader->abyAddr4[ii]; | 295 | for (ii = 0; ii < ETH_ALEN; ii++) { |
297 | cbHeaderSize += 6; | 296 | psEthHeader->abyDstAddr[ii] = |
298 | } | 297 | pMACHeader->abyAddr3[ii]; |
299 | } | 298 | psEthHeader->abySrcAddr[ii] = |
300 | else { | 299 | pMACHeader->abyAddr4[ii]; |
301 | for(ii=0;ii<U_ETHER_ADDR_LEN;ii++) { | 300 | cbHeaderSize += 6; |
302 | psEthHeader->abyDstAddr[ii] = pMACHeader->abyAddr3[ii]; | 301 | } |
303 | psEthHeader->abySrcAddr[ii] = pMACHeader->abyAddr2[ii]; | 302 | } else { |
304 | } | 303 | for (ii = 0; ii < ETH_ALEN; ii++) { |
305 | } | 304 | psEthHeader->abyDstAddr[ii] = |
306 | }; | 305 | pMACHeader->abyAddr3[ii]; |
306 | psEthHeader->abySrcAddr[ii] = | ||
307 | pMACHeader->abyAddr2[ii]; | ||
308 | } | ||
309 | } | ||
310 | }; | ||
307 | *pcbHeaderSize = cbHeaderSize; | 311 | *pcbHeaderSize = cbHeaderSize; |
308 | } | 312 | } |
309 | 313 | ||
@@ -312,9 +316,9 @@ s_vGetDASA ( | |||
312 | 316 | ||
313 | BOOL | 317 | BOOL |
314 | RXbBulkInProcessData ( | 318 | RXbBulkInProcessData ( |
315 | IN PSDevice pDevice, | 319 | PSDevice pDevice, |
316 | IN PRCB pRCB, | 320 | PRCB pRCB, |
317 | IN ULONG BytesToIndicate | 321 | unsigned long BytesToIndicate |
318 | ) | 322 | ) |
319 | { | 323 | { |
320 | 324 | ||
@@ -329,26 +333,26 @@ RXbBulkInProcessData ( | |||
329 | PQWORD pqwTSFTime; | 333 | PQWORD pqwTSFTime; |
330 | PBYTE pbyFrame; | 334 | PBYTE pbyFrame; |
331 | BOOL bDeFragRx = FALSE; | 335 | BOOL bDeFragRx = FALSE; |
332 | UINT cbHeaderOffset; | 336 | unsigned int cbHeaderOffset; |
333 | UINT FrameSize; | 337 | unsigned int FrameSize; |
334 | WORD wEtherType = 0; | 338 | WORD wEtherType = 0; |
335 | INT iSANodeIndex = -1; | 339 | signed int iSANodeIndex = -1; |
336 | INT iDANodeIndex = -1; | 340 | signed int iDANodeIndex = -1; |
337 | UINT ii; | 341 | unsigned int ii; |
338 | UINT cbIVOffset; | 342 | unsigned int cbIVOffset; |
339 | PBYTE pbyRxSts; | 343 | PBYTE pbyRxSts; |
340 | PBYTE pbyRxRate; | 344 | PBYTE pbyRxRate; |
341 | PBYTE pbySQ; | 345 | PBYTE pbySQ; |
342 | #ifdef Calcu_LinkQual | 346 | #ifdef Calcu_LinkQual |
343 | PBYTE pby3SQ; | 347 | PBYTE pby3SQ; |
344 | #endif | 348 | #endif |
345 | UINT cbHeaderSize; | 349 | unsigned int cbHeaderSize; |
346 | PSKeyItem pKey = NULL; | 350 | PSKeyItem pKey = NULL; |
347 | WORD wRxTSC15_0 = 0; | 351 | WORD wRxTSC15_0 = 0; |
348 | DWORD dwRxTSC47_16 = 0; | 352 | DWORD dwRxTSC47_16 = 0; |
349 | SKeyItem STempKey; | 353 | SKeyItem STempKey; |
350 | // 802.11h RPI | 354 | // 802.11h RPI |
351 | //LONG ldBm = 0; | 355 | /* signed long ldBm = 0; */ |
352 | BOOL bIsWEP = FALSE; | 356 | BOOL bIsWEP = FALSE; |
353 | BOOL bExtIV = FALSE; | 357 | BOOL bExtIV = FALSE; |
354 | DWORD dwWbkStatus; | 358 | DWORD dwWbkStatus; |
@@ -368,7 +372,7 @@ RXbBulkInProcessData ( | |||
368 | 372 | ||
369 | //[31:16]RcvByteCount ( not include 4-byte Status ) | 373 | //[31:16]RcvByteCount ( not include 4-byte Status ) |
370 | dwWbkStatus = *( (PDWORD)(skb->data) ); | 374 | dwWbkStatus = *( (PDWORD)(skb->data) ); |
371 | FrameSize = (UINT)(dwWbkStatus >> 16); | 375 | FrameSize = (unsigned int)(dwWbkStatus >> 16); |
372 | FrameSize += 4; | 376 | FrameSize += 4; |
373 | 377 | ||
374 | if (BytesToIndicate != FrameSize) { | 378 | if (BytesToIndicate != FrameSize) { |
@@ -930,9 +934,9 @@ RXbBulkInProcessData ( | |||
930 | if (bIsWEP) { | 934 | if (bIsWEP) { |
931 | WORD wLocalTSC15_0 = 0; | 935 | WORD wLocalTSC15_0 = 0; |
932 | DWORD dwLocalTSC47_16 = 0; | 936 | DWORD dwLocalTSC47_16 = 0; |
933 | ULONGLONG RSC = 0; | 937 | unsigned long long RSC = 0; |
934 | // endian issues | 938 | // endian issues |
935 | RSC = *((ULONGLONG *) &(pKey->KeyRSC)); | 939 | RSC = *((unsigned long long *) &(pKey->KeyRSC)); |
936 | wLocalTSC15_0 = (WORD) RSC; | 940 | wLocalTSC15_0 = (WORD) RSC; |
937 | dwLocalTSC47_16 = (DWORD) (RSC>>16); | 941 | dwLocalTSC47_16 = (DWORD) (RSC>>16); |
938 | 942 | ||
@@ -1017,9 +1021,9 @@ RXbBulkInProcessData ( | |||
1017 | 1021 | ||
1018 | 1022 | ||
1019 | static BOOL s_bAPModeRxCtl ( | 1023 | static BOOL s_bAPModeRxCtl ( |
1020 | IN PSDevice pDevice, | 1024 | PSDevice pDevice, |
1021 | IN PBYTE pbyFrame, | 1025 | PBYTE pbyFrame, |
1022 | IN INT iSANodeIndex | 1026 | signed int iSANodeIndex |
1023 | ) | 1027 | ) |
1024 | { | 1028 | { |
1025 | PS802_11Header p802_11Header; | 1029 | PS802_11Header p802_11Header; |
@@ -1065,7 +1069,9 @@ static BOOL s_bAPModeRxCtl ( | |||
1065 | // delcare received ps-poll event | 1069 | // delcare received ps-poll event |
1066 | if (IS_CTL_PSPOLL(pbyFrame)) { | 1070 | if (IS_CTL_PSPOLL(pbyFrame)) { |
1067 | pMgmt->sNodeDBTable[iSANodeIndex].bRxPSPoll = TRUE; | 1071 | pMgmt->sNodeDBTable[iSANodeIndex].bRxPSPoll = TRUE; |
1068 | bScheduleCommand((HANDLE)pDevice, WLAN_CMD_RX_PSPOLL, NULL); | 1072 | bScheduleCommand((void *) pDevice, |
1073 | WLAN_CMD_RX_PSPOLL, | ||
1074 | NULL); | ||
1069 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "dpc: WLAN_CMD_RX_PSPOLL 1\n"); | 1075 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "dpc: WLAN_CMD_RX_PSPOLL 1\n"); |
1070 | } | 1076 | } |
1071 | else { | 1077 | else { |
@@ -1074,7 +1080,9 @@ static BOOL s_bAPModeRxCtl ( | |||
1074 | if (!IS_FC_POWERMGT(pbyFrame)) { | 1080 | if (!IS_FC_POWERMGT(pbyFrame)) { |
1075 | pMgmt->sNodeDBTable[iSANodeIndex].bPSEnable = FALSE; | 1081 | pMgmt->sNodeDBTable[iSANodeIndex].bPSEnable = FALSE; |
1076 | pMgmt->sNodeDBTable[iSANodeIndex].bRxPSPoll = TRUE; | 1082 | pMgmt->sNodeDBTable[iSANodeIndex].bRxPSPoll = TRUE; |
1077 | bScheduleCommand((HANDLE)pDevice, WLAN_CMD_RX_PSPOLL, NULL); | 1083 | bScheduleCommand((void *) pDevice, |
1084 | WLAN_CMD_RX_PSPOLL, | ||
1085 | NULL); | ||
1078 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "dpc: WLAN_CMD_RX_PSPOLL 2\n"); | 1086 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "dpc: WLAN_CMD_RX_PSPOLL 2\n"); |
1079 | } | 1087 | } |
1080 | } | 1088 | } |
@@ -1090,7 +1098,9 @@ static BOOL s_bAPModeRxCtl ( | |||
1090 | if (pMgmt->sNodeDBTable[iSANodeIndex].wEnQueueCnt > 0) { | 1098 | if (pMgmt->sNodeDBTable[iSANodeIndex].wEnQueueCnt > 0) { |
1091 | pMgmt->sNodeDBTable[iSANodeIndex].bPSEnable = FALSE; | 1099 | pMgmt->sNodeDBTable[iSANodeIndex].bPSEnable = FALSE; |
1092 | pMgmt->sNodeDBTable[iSANodeIndex].bRxPSPoll = TRUE; | 1100 | pMgmt->sNodeDBTable[iSANodeIndex].bRxPSPoll = TRUE; |
1093 | bScheduleCommand((HANDLE)pDevice, WLAN_CMD_RX_PSPOLL, NULL); | 1101 | bScheduleCommand((void *) pDevice, |
1102 | WLAN_CMD_RX_PSPOLL, | ||
1103 | NULL); | ||
1094 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "dpc: WLAN_CMD_RX_PSPOLL 3\n"); | 1104 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "dpc: WLAN_CMD_RX_PSPOLL 3\n"); |
1095 | 1105 | ||
1096 | } | 1106 | } |
@@ -1139,18 +1149,18 @@ static BOOL s_bAPModeRxCtl ( | |||
1139 | } | 1149 | } |
1140 | 1150 | ||
1141 | static BOOL s_bHandleRxEncryption ( | 1151 | static BOOL s_bHandleRxEncryption ( |
1142 | IN PSDevice pDevice, | 1152 | PSDevice pDevice, |
1143 | IN PBYTE pbyFrame, | 1153 | PBYTE pbyFrame, |
1144 | IN UINT FrameSize, | 1154 | unsigned int FrameSize, |
1145 | IN PBYTE pbyRsr, | 1155 | PBYTE pbyRsr, |
1146 | OUT PBYTE pbyNewRsr, | 1156 | PBYTE pbyNewRsr, |
1147 | OUT PSKeyItem *pKeyOut, | 1157 | PSKeyItem * pKeyOut, |
1148 | int * pbExtIV, | 1158 | int * pbExtIV, |
1149 | OUT PWORD pwRxTSC15_0, | 1159 | PWORD pwRxTSC15_0, |
1150 | OUT PDWORD pdwRxTSC47_16 | 1160 | PDWORD pdwRxTSC47_16 |
1151 | ) | 1161 | ) |
1152 | { | 1162 | { |
1153 | UINT PayloadLen = FrameSize; | 1163 | unsigned int PayloadLen = FrameSize; |
1154 | PBYTE pbyIV; | 1164 | PBYTE pbyIV; |
1155 | BYTE byKeyIdx; | 1165 | BYTE byKeyIdx; |
1156 | PSKeyItem pKey = NULL; | 1166 | PSKeyItem pKey = NULL; |
@@ -1285,20 +1295,20 @@ static BOOL s_bHandleRxEncryption ( | |||
1285 | 1295 | ||
1286 | 1296 | ||
1287 | static BOOL s_bHostWepRxEncryption ( | 1297 | static BOOL s_bHostWepRxEncryption ( |
1288 | IN PSDevice pDevice, | 1298 | PSDevice pDevice, |
1289 | IN PBYTE pbyFrame, | 1299 | PBYTE pbyFrame, |
1290 | IN UINT FrameSize, | 1300 | unsigned int FrameSize, |
1291 | IN PBYTE pbyRsr, | 1301 | PBYTE pbyRsr, |
1292 | IN BOOL bOnFly, | 1302 | BOOL bOnFly, |
1293 | IN PSKeyItem pKey, | 1303 | PSKeyItem pKey, |
1294 | OUT PBYTE pbyNewRsr, | 1304 | PBYTE pbyNewRsr, |
1295 | int * pbExtIV, | 1305 | int * pbExtIV, |
1296 | OUT PWORD pwRxTSC15_0, | 1306 | PWORD pwRxTSC15_0, |
1297 | OUT PDWORD pdwRxTSC47_16 | 1307 | PDWORD pdwRxTSC47_16 |
1298 | ) | 1308 | ) |
1299 | { | 1309 | { |
1300 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); | 1310 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); |
1301 | UINT PayloadLen = FrameSize; | 1311 | unsigned int PayloadLen = FrameSize; |
1302 | PBYTE pbyIV; | 1312 | PBYTE pbyIV; |
1303 | BYTE byKeyIdx; | 1313 | BYTE byKeyIdx; |
1304 | BYTE byDecMode = KEY_CTL_WEP; | 1314 | BYTE byDecMode = KEY_CTL_WEP; |
@@ -1417,12 +1427,12 @@ static BOOL s_bHostWepRxEncryption ( | |||
1417 | 1427 | ||
1418 | 1428 | ||
1419 | static BOOL s_bAPModeRxData ( | 1429 | static BOOL s_bAPModeRxData ( |
1420 | IN PSDevice pDevice, | 1430 | PSDevice pDevice, |
1421 | IN struct sk_buff* skb, | 1431 | struct sk_buff *skb, |
1422 | IN UINT FrameSize, | 1432 | unsigned int FrameSize, |
1423 | IN UINT cbHeaderOffset, | 1433 | unsigned int cbHeaderOffset, |
1424 | IN INT iSANodeIndex, | 1434 | signed int iSANodeIndex, |
1425 | IN INT iDANodeIndex | 1435 | signed int iDANodeIndex |
1426 | ) | 1436 | ) |
1427 | 1437 | ||
1428 | { | 1438 | { |
@@ -1493,7 +1503,8 @@ static BOOL s_bAPModeRxData ( | |||
1493 | iDANodeIndex = 0; | 1503 | iDANodeIndex = 0; |
1494 | 1504 | ||
1495 | if ((pDevice->uAssocCount > 1) && (iDANodeIndex >= 0)) { | 1505 | if ((pDevice->uAssocCount > 1) && (iDANodeIndex >= 0)) { |
1496 | bRelayPacketSend(pDevice, (PBYTE)(skb->data + cbHeaderOffset), FrameSize, (UINT)iDANodeIndex); | 1506 | bRelayPacketSend(pDevice, (PBYTE) (skb->data + cbHeaderOffset), |
1507 | FrameSize, (unsigned int) iDANodeIndex); | ||
1497 | } | 1508 | } |
1498 | 1509 | ||
1499 | if (bRelayOnly) | 1510 | if (bRelayOnly) |
@@ -1509,10 +1520,7 @@ static BOOL s_bAPModeRxData ( | |||
1509 | 1520 | ||
1510 | 1521 | ||
1511 | 1522 | ||
1512 | VOID | 1523 | void RXvWorkItem(void *Context) |
1513 | RXvWorkItem( | ||
1514 | PVOID Context | ||
1515 | ) | ||
1516 | { | 1524 | { |
1517 | PSDevice pDevice = (PSDevice) Context; | 1525 | PSDevice pDevice = (PSDevice) Context; |
1518 | NTSTATUS ntStatus; | 1526 | NTSTATUS ntStatus; |
@@ -1535,10 +1543,10 @@ RXvWorkItem( | |||
1535 | } | 1543 | } |
1536 | 1544 | ||
1537 | 1545 | ||
1538 | VOID | 1546 | void |
1539 | RXvFreeRCB( | 1547 | RXvFreeRCB( |
1540 | IN PRCB pRCB, | 1548 | PRCB pRCB, |
1541 | IN BOOL bReAllocSkb | 1549 | BOOL bReAllocSkb |
1542 | ) | 1550 | ) |
1543 | { | 1551 | { |
1544 | PSDevice pDevice = (PSDevice)pRCB->pDevice; | 1552 | PSDevice pDevice = (PSDevice)pRCB->pDevice; |
@@ -1575,10 +1583,7 @@ RXvFreeRCB( | |||
1575 | } | 1583 | } |
1576 | 1584 | ||
1577 | 1585 | ||
1578 | VOID | 1586 | void RXvMngWorkItem(void *Context) |
1579 | RXvMngWorkItem( | ||
1580 | PVOID Context | ||
1581 | ) | ||
1582 | { | 1587 | { |
1583 | PSDevice pDevice = (PSDevice) Context; | 1588 | PSDevice pDevice = (PSDevice) Context; |
1584 | PRCB pRCB=NULL; | 1589 | PRCB pRCB=NULL; |
@@ -1598,7 +1603,7 @@ RXvMngWorkItem( | |||
1598 | } | 1603 | } |
1599 | ASSERT(pRCB);// cannot be NULL | 1604 | ASSERT(pRCB);// cannot be NULL |
1600 | pRxPacket = &(pRCB->sMngPacket); | 1605 | pRxPacket = &(pRCB->sMngPacket); |
1601 | vMgrRxManagePacket((HANDLE)pDevice, &(pDevice->sMgmtObj), pRxPacket); | 1606 | vMgrRxManagePacket((void *) pDevice, &(pDevice->sMgmtObj), pRxPacket); |
1602 | pRCB->Ref--; | 1607 | pRCB->Ref--; |
1603 | if(pRCB->Ref == 0) { | 1608 | if(pRCB->Ref == 0) { |
1604 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"RxvFreeMng %d %d\n",pDevice->NumRecvFreeList, pDevice->NumRecvMngList); | 1609 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"RxvFreeMng %d %d\n",pDevice->NumRecvFreeList, pDevice->NumRecvMngList); |
diff --git a/drivers/staging/vt6656/dpc.h b/drivers/staging/vt6656/dpc.h index df148b45396..d4fca43af4f 100644 --- a/drivers/staging/vt6656/dpc.h +++ b/drivers/staging/vt6656/dpc.h | |||
@@ -41,30 +41,21 @@ | |||
41 | 41 | ||
42 | /*--------------------- Export Functions --------------------------*/ | 42 | /*--------------------- Export Functions --------------------------*/ |
43 | 43 | ||
44 | VOID | 44 | void RXvWorkItem(void *Context); |
45 | RXvWorkItem( | ||
46 | PVOID Context | ||
47 | ); | ||
48 | 45 | ||
49 | VOID | 46 | void RXvMngWorkItem(void *Context); |
50 | RXvMngWorkItem( | ||
51 | PVOID Context | ||
52 | ); | ||
53 | 47 | ||
54 | VOID | 48 | void |
55 | RXvFreeRCB( | 49 | RXvFreeRCB( |
56 | IN PRCB pRCB, | 50 | PRCB pRCB, |
57 | IN BOOL bReAllocSkb | 51 | BOOL bReAllocSkb |
58 | ); | 52 | ); |
59 | 53 | ||
60 | BOOL | 54 | BOOL |
61 | RXbBulkInProcessData( | 55 | RXbBulkInProcessData( |
62 | IN PSDevice pDevice, | 56 | PSDevice pDevice, |
63 | IN PRCB pRCB, | 57 | PRCB pRCB, |
64 | IN ULONG BytesToIndicate | 58 | unsigned long BytesToIndicate |
65 | ); | 59 | ); |
66 | 60 | ||
67 | #endif // __RXTX_H__ | 61 | #endif /* __RXTX_H__ */ |
68 | |||
69 | |||
70 | |||
diff --git a/drivers/staging/vt6656/firmware.c b/drivers/staging/vt6656/firmware.c index 585b6b12c5b..e1f96d7086f 100644 --- a/drivers/staging/vt6656/firmware.c +++ b/drivers/staging/vt6656/firmware.c | |||
@@ -770,7 +770,7 @@ const BYTE abyFirmware[] = { | |||
770 | 770 | ||
771 | BOOL | 771 | BOOL |
772 | FIRMWAREbDownload( | 772 | FIRMWAREbDownload( |
773 | IN PSDevice pDevice | 773 | PSDevice pDevice |
774 | ) | 774 | ) |
775 | { | 775 | { |
776 | NDIS_STATUS NdisStatus; | 776 | NDIS_STATUS NdisStatus; |
@@ -820,7 +820,7 @@ FIRMWAREbDownload( | |||
820 | 820 | ||
821 | BOOL | 821 | BOOL |
822 | FIRMWAREbBrach2Sram( | 822 | FIRMWAREbBrach2Sram( |
823 | IN PSDevice pDevice | 823 | PSDevice pDevice |
824 | ) | 824 | ) |
825 | { | 825 | { |
826 | NDIS_STATUS NdisStatus; | 826 | NDIS_STATUS NdisStatus; |
@@ -845,7 +845,7 @@ FIRMWAREbBrach2Sram( | |||
845 | 845 | ||
846 | BOOL | 846 | BOOL |
847 | FIRMWAREbCheckVersion( | 847 | FIRMWAREbCheckVersion( |
848 | IN PSDevice pDevice | 848 | PSDevice pDevice |
849 | ) | 849 | ) |
850 | { | 850 | { |
851 | NTSTATUS ntStatus; | 851 | NTSTATUS ntStatus; |
diff --git a/drivers/staging/vt6656/firmware.h b/drivers/staging/vt6656/firmware.h index 97f8559f2a5..b2f5b5818a9 100644 --- a/drivers/staging/vt6656/firmware.h +++ b/drivers/staging/vt6656/firmware.h | |||
@@ -43,18 +43,17 @@ | |||
43 | 43 | ||
44 | BOOL | 44 | BOOL |
45 | FIRMWAREbDownload( | 45 | FIRMWAREbDownload( |
46 | IN PSDevice pDevice | 46 | PSDevice pDevice |
47 | ); | 47 | ); |
48 | 48 | ||
49 | BOOL | 49 | BOOL |
50 | FIRMWAREbBrach2Sram( | 50 | FIRMWAREbBrach2Sram( |
51 | IN PSDevice pDevice | 51 | PSDevice pDevice |
52 | ); | 52 | ); |
53 | 53 | ||
54 | BOOL | 54 | BOOL |
55 | FIRMWAREbCheckVersion( | 55 | FIRMWAREbCheckVersion( |
56 | IN PSDevice pDevice | 56 | PSDevice pDevice |
57 | ); | 57 | ); |
58 | 58 | ||
59 | 59 | #endif /* __FIRMWARE_H__ */ | |
60 | #endif // __FIRMWARE_H__ | ||
diff --git a/drivers/staging/vt6656/hostap.c b/drivers/staging/vt6656/hostap.c index 1078d616c49..f70e922a615 100644 --- a/drivers/staging/vt6656/hostap.c +++ b/drivers/staging/vt6656/hostap.c | |||
@@ -91,10 +91,9 @@ static int hostap_enable_hostapd(PSDevice pDevice, int rtnl_locked) | |||
91 | 91 | ||
92 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "%s: Enabling hostapd mode\n", dev->name); | 92 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "%s: Enabling hostapd mode\n", dev->name); |
93 | 93 | ||
94 | pDevice->apdev = (struct net_device *)kmalloc(sizeof(struct net_device), GFP_KERNEL); | 94 | pDevice->apdev = kzalloc(sizeof(struct net_device), GFP_KERNEL); |
95 | if (pDevice->apdev == NULL) | 95 | if (pDevice->apdev == NULL) |
96 | return -ENOMEM; | 96 | return -ENOMEM; |
97 | memset(pDevice->apdev, 0, sizeof(struct net_device)); | ||
98 | 97 | ||
99 | apdev_priv = netdev_priv(pDevice->apdev); | 98 | apdev_priv = netdev_priv(pDevice->apdev); |
100 | *apdev_priv = *pDevice; | 99 | *apdev_priv = *pDevice; |
@@ -178,7 +177,7 @@ static int hostap_disable_hostapd(PSDevice pDevice, int rtnl_locked) | |||
178 | * | 177 | * |
179 | */ | 178 | */ |
180 | 179 | ||
181 | int hostap_set_hostapd(PSDevice pDevice, int val, int rtnl_locked) | 180 | int vt6656_hostap_set_hostapd(PSDevice pDevice, int val, int rtnl_locked) |
182 | { | 181 | { |
183 | if (val < 0 || val > 1) | 182 | if (val < 0 || val > 1) |
184 | return -EINVAL; | 183 | return -EINVAL; |
@@ -211,7 +210,7 @@ int hostap_set_hostapd(PSDevice pDevice, int val, int rtnl_locked) | |||
211 | static int hostap_remove_sta(PSDevice pDevice, | 210 | static int hostap_remove_sta(PSDevice pDevice, |
212 | struct viawget_hostapd_param *param) | 211 | struct viawget_hostapd_param *param) |
213 | { | 212 | { |
214 | UINT uNodeIndex; | 213 | unsigned int uNodeIndex; |
215 | 214 | ||
216 | 215 | ||
217 | if (BSSbIsSTAInNodeDB(pDevice, param->sta_addr, &uNodeIndex)) { | 216 | if (BSSbIsSTAInNodeDB(pDevice, param->sta_addr, &uNodeIndex)) { |
@@ -240,7 +239,7 @@ static int hostap_add_sta(PSDevice pDevice, | |||
240 | struct viawget_hostapd_param *param) | 239 | struct viawget_hostapd_param *param) |
241 | { | 240 | { |
242 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); | 241 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); |
243 | UINT uNodeIndex; | 242 | unsigned int uNodeIndex; |
244 | 243 | ||
245 | 244 | ||
246 | if (!BSSbIsSTAInNodeDB(pDevice, param->sta_addr, &uNodeIndex)) { | 245 | if (!BSSbIsSTAInNodeDB(pDevice, param->sta_addr, &uNodeIndex)) { |
@@ -300,7 +299,7 @@ static int hostap_get_info_sta(PSDevice pDevice, | |||
300 | struct viawget_hostapd_param *param) | 299 | struct viawget_hostapd_param *param) |
301 | { | 300 | { |
302 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); | 301 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); |
303 | UINT uNodeIndex; | 302 | unsigned int uNodeIndex; |
304 | 303 | ||
305 | if (BSSbIsSTAInNodeDB(pDevice, param->sta_addr, &uNodeIndex)) { | 304 | if (BSSbIsSTAInNodeDB(pDevice, param->sta_addr, &uNodeIndex)) { |
306 | param->u.get_info_sta.inactive_sec = | 305 | param->u.get_info_sta.inactive_sec = |
@@ -334,7 +333,7 @@ static int hostap_reset_txexc_sta(PSDevice pDevice, | |||
334 | struct viawget_hostapd_param *param) | 333 | struct viawget_hostapd_param *param) |
335 | { | 334 | { |
336 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); | 335 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); |
337 | UINT uNodeIndex; | 336 | unsigned int uNodeIndex; |
338 | 337 | ||
339 | if (BSSbIsSTAInNodeDB(pDevice, param->sta_addr, &uNodeIndex)) { | 338 | if (BSSbIsSTAInNodeDB(pDevice, param->sta_addr, &uNodeIndex)) { |
340 | pMgmt->sNodeDBTable[uNodeIndex].uTxAttempts = 0; | 339 | pMgmt->sNodeDBTable[uNodeIndex].uTxAttempts = 0; |
@@ -364,13 +363,13 @@ static int hostap_set_flags_sta(PSDevice pDevice, | |||
364 | struct viawget_hostapd_param *param) | 363 | struct viawget_hostapd_param *param) |
365 | { | 364 | { |
366 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); | 365 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); |
367 | UINT uNodeIndex; | 366 | unsigned int uNodeIndex; |
368 | 367 | ||
369 | if (BSSbIsSTAInNodeDB(pDevice, param->sta_addr, &uNodeIndex)) { | 368 | if (BSSbIsSTAInNodeDB(pDevice, param->sta_addr, &uNodeIndex)) { |
370 | pMgmt->sNodeDBTable[uNodeIndex].dwFlags |= param->u.set_flags_sta.flags_or; | 369 | pMgmt->sNodeDBTable[uNodeIndex].dwFlags |= param->u.set_flags_sta.flags_or; |
371 | pMgmt->sNodeDBTable[uNodeIndex].dwFlags &= param->u.set_flags_sta.flags_and; | 370 | pMgmt->sNodeDBTable[uNodeIndex].dwFlags &= param->u.set_flags_sta.flags_and; |
372 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO " dwFlags = %x \n", | 371 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO " dwFlags = %x\n", |
373 | (UINT)pMgmt->sNodeDBTable[uNodeIndex].dwFlags); | 372 | (unsigned int) pMgmt->sNodeDBTable[uNodeIndex].dwFlags); |
374 | } | 373 | } |
375 | else { | 374 | else { |
376 | return -ENOENT; | 375 | return -ENOENT; |
@@ -744,7 +743,7 @@ static int hostap_get_encryption(PSDevice pDevice, | |||
744 | 743 | ||
745 | /* | 744 | /* |
746 | * Description: | 745 | * Description: |
747 | * hostap_ioctl main function supported for hostap deamon. | 746 | * vt6656_hostap_ioctl main function supported for hostap deamon. |
748 | * | 747 | * |
749 | * Parameters: | 748 | * Parameters: |
750 | * In: | 749 | * In: |
@@ -756,7 +755,7 @@ static int hostap_get_encryption(PSDevice pDevice, | |||
756 | * | 755 | * |
757 | */ | 756 | */ |
758 | 757 | ||
759 | int hostap_ioctl(PSDevice pDevice, struct iw_point *p) | 758 | int vt6656_hostap_ioctl(PSDevice pDevice, struct iw_point *p) |
760 | { | 759 | { |
761 | struct viawget_hostapd_param *param; | 760 | struct viawget_hostapd_param *param; |
762 | int ret = 0; | 761 | int ret = 0; |
@@ -766,7 +765,7 @@ int hostap_ioctl(PSDevice pDevice, struct iw_point *p) | |||
766 | p->length > VIAWGET_HOSTAPD_MAX_BUF_SIZE || !p->pointer) | 765 | p->length > VIAWGET_HOSTAPD_MAX_BUF_SIZE || !p->pointer) |
767 | return -EINVAL; | 766 | return -EINVAL; |
768 | 767 | ||
769 | param = (struct viawget_hostapd_param *) kmalloc((int)p->length, (int)GFP_KERNEL); | 768 | param = kmalloc((int)p->length, (int)GFP_KERNEL); |
770 | if (param == NULL) | 769 | if (param == NULL) |
771 | return -ENOMEM; | 770 | return -ENOMEM; |
772 | 771 | ||
@@ -844,7 +843,7 @@ int hostap_ioctl(PSDevice pDevice, struct iw_point *p) | |||
844 | return -EOPNOTSUPP; | 843 | return -EOPNOTSUPP; |
845 | 844 | ||
846 | default: | 845 | default: |
847 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "hostap_ioctl: unknown cmd=%d\n", | 846 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "vt6656_hostap_ioctl: unknown cmd=%d\n", |
848 | (int)param->cmd); | 847 | (int)param->cmd); |
849 | return -EOPNOTSUPP; | 848 | return -EOPNOTSUPP; |
850 | break; | 849 | break; |
diff --git a/drivers/staging/vt6656/hostap.h b/drivers/staging/vt6656/hostap.h index 8fd667b542b..b660aee1ca0 100644 --- a/drivers/staging/vt6656/hostap.h +++ b/drivers/staging/vt6656/hostap.h | |||
@@ -61,10 +61,7 @@ | |||
61 | #define ARPHRD_IEEE80211 801 | 61 | #define ARPHRD_IEEE80211 801 |
62 | #endif | 62 | #endif |
63 | 63 | ||
64 | int hostap_set_hostapd(PSDevice pDevice, int val, int rtnl_locked); | 64 | int vt6656_hostap_set_hostapd(PSDevice pDevice, int val, int rtnl_locked); |
65 | int hostap_ioctl(PSDevice pDevice, struct iw_point *p); | 65 | int vt6656_hostap_ioctl(PSDevice pDevice, struct iw_point *p); |
66 | |||
67 | #endif // __HOSTAP_H__ | ||
68 | |||
69 | |||
70 | 66 | ||
67 | #endif /* __HOSTAP_H__ */ | ||
diff --git a/drivers/staging/vt6656/int.c b/drivers/staging/vt6656/int.c index 35053be6900..89f5b18bdf1 100644 --- a/drivers/staging/vt6656/int.c +++ b/drivers/staging/vt6656/int.c | |||
@@ -41,8 +41,8 @@ | |||
41 | #include "usbpipe.h" | 41 | #include "usbpipe.h" |
42 | 42 | ||
43 | /*--------------------- Static Definitions -------------------------*/ | 43 | /*--------------------- Static Definitions -------------------------*/ |
44 | //static int msglevel =MSG_LEVEL_DEBUG; | 44 | /* static int msglevel = MSG_LEVEL_DEBUG; */ |
45 | static int msglevel =MSG_LEVEL_INFO; | 45 | static int msglevel = MSG_LEVEL_INFO; |
46 | 46 | ||
47 | 47 | ||
48 | /*--------------------- Static Classes ----------------------------*/ | 48 | /*--------------------- Static Classes ----------------------------*/ |
@@ -74,120 +74,151 @@ static int msglevel =MSG_LEVEL_INFO; | |||
74 | * | 74 | * |
75 | * Notes: | 75 | * Notes: |
76 | * | 76 | * |
77 | * USB reads are by nature 'Blocking', and when in a read, the device looks like it's | 77 | * USB reads are by nature 'Blocking', and when in a read, the device looks |
78 | * in a 'stall' condition, so we deliberately time out every second if we've gotten no data | 78 | * like it's in a 'stall' condition, so we deliberately time out every second |
79 | * if we've gotten no data | ||
79 | * | 80 | * |
80 | -*/ | 81 | -*/ |
81 | VOID | 82 | void INTvWorkItem(void *Context) |
82 | INTvWorkItem( | ||
83 | PVOID Context | ||
84 | ) | ||
85 | { | 83 | { |
86 | PSDevice pDevice = (PSDevice) Context; | 84 | PSDevice pDevice = (PSDevice) Context; |
87 | NTSTATUS ntStatus; | 85 | NTSTATUS ntStatus; |
88 | 86 | ||
89 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"---->Interrupt Polling Thread\n"); | 87 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"---->Interrupt Polling Thread\n"); |
90 | |||
91 | spin_lock_irq(&pDevice->lock); | ||
92 | if (pDevice->fKillEventPollingThread != TRUE) { | ||
93 | ntStatus = PIPEnsInterruptRead(pDevice); | ||
94 | } | ||
95 | spin_unlock_irq(&pDevice->lock); | ||
96 | |||
97 | } | ||
98 | 88 | ||
89 | spin_lock_irq(&pDevice->lock); | ||
90 | if (pDevice->fKillEventPollingThread != TRUE) | ||
91 | ntStatus = PIPEnsInterruptRead(pDevice); | ||
92 | spin_unlock_irq(&pDevice->lock); | ||
93 | } | ||
99 | 94 | ||
100 | NTSTATUS | 95 | NTSTATUS |
101 | INTnsProcessData( | 96 | INTnsProcessData(PSDevice pDevice) |
102 | IN PSDevice pDevice | ||
103 | ) | ||
104 | { | 97 | { |
105 | NTSTATUS status = STATUS_SUCCESS; | 98 | NTSTATUS status = STATUS_SUCCESS; |
106 | PSINTData pINTData; | 99 | PSINTData pINTData; |
107 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); | 100 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); |
108 | struct net_device_stats* pStats = &pDevice->stats; | 101 | struct net_device_stats *pStats = &pDevice->stats; |
109 | 102 | ||
110 | 103 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"---->s_nsInterruptProcessData\n"); | |
111 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"---->s_nsInterruptProcessData\n"); | 104 | |
112 | 105 | pINTData = (PSINTData) pDevice->intBuf.pDataBuf; | |
113 | pINTData = (PSINTData) pDevice->intBuf.pDataBuf; | 106 | if (pINTData->byTSR0 & TSR_VALID) { |
114 | if (pINTData->byTSR0 & TSR_VALID) { | 107 | STAvUpdateTDStatCounter(&(pDevice->scStatistic), |
115 | STAvUpdateTDStatCounter (&(pDevice->scStatistic), (BYTE) (pINTData->byPkt0 & 0x0F), (BYTE) (pINTData->byPkt0>>4), pINTData->byTSR0); | 108 | (BYTE) (pINTData->byPkt0 & 0x0F), |
116 | BSSvUpdateNodeTxCounter (pDevice, &(pDevice->scStatistic), pINTData->byTSR0, pINTData->byPkt0); | 109 | (BYTE) (pINTData->byPkt0>>4), |
117 | //DBG_PRN_GRP01(("TSR0 %02x\n", pINTData->byTSR0)); | 110 | pINTData->byTSR0); |
118 | } | 111 | BSSvUpdateNodeTxCounter(pDevice, |
119 | if (pINTData->byTSR1 & TSR_VALID) { | 112 | &(pDevice->scStatistic), |
120 | STAvUpdateTDStatCounter (&(pDevice->scStatistic), (BYTE) (pINTData->byPkt1 & 0x0F), (BYTE) (pINTData->byPkt1>>4), pINTData->byTSR1); | 113 | pINTData->byTSR0, |
121 | BSSvUpdateNodeTxCounter (pDevice, &(pDevice->scStatistic), pINTData->byTSR1, pINTData->byPkt1); | 114 | pINTData->byPkt0); |
122 | //DBG_PRN_GRP01(("TSR1 %02x\n", pINTData->byTSR1)); | 115 | /*DBG_PRN_GRP01(("TSR0 %02x\n", pINTData->byTSR0));*/ |
123 | } | 116 | } |
124 | if (pINTData->byTSR2 & TSR_VALID) { | 117 | if (pINTData->byTSR1 & TSR_VALID) { |
125 | STAvUpdateTDStatCounter (&(pDevice->scStatistic), (BYTE) (pINTData->byPkt2 & 0x0F), (BYTE) (pINTData->byPkt2>>4), pINTData->byTSR2); | 118 | STAvUpdateTDStatCounter(&(pDevice->scStatistic), |
126 | BSSvUpdateNodeTxCounter (pDevice, &(pDevice->scStatistic), pINTData->byTSR2, pINTData->byPkt2); | 119 | (BYTE) (pINTData->byPkt1 & 0x0F), |
127 | //DBG_PRN_GRP01(("TSR2 %02x\n", pINTData->byTSR2)); | 120 | (BYTE) (pINTData->byPkt1>>4), |
128 | } | 121 | pINTData->byTSR1); |
129 | if (pINTData->byTSR3 & TSR_VALID) { | 122 | BSSvUpdateNodeTxCounter(pDevice, |
130 | STAvUpdateTDStatCounter (&(pDevice->scStatistic), (BYTE) (pINTData->byPkt3 & 0x0F), (BYTE) (pINTData->byPkt3>>4), pINTData->byTSR3); | 123 | &(pDevice->scStatistic), |
131 | BSSvUpdateNodeTxCounter (pDevice, &(pDevice->scStatistic), pINTData->byTSR3, pINTData->byPkt3); | 124 | pINTData->byTSR1, |
132 | //DBG_PRN_GRP01(("TSR3 %02x\n", pINTData->byTSR3)); | 125 | pINTData->byPkt1); |
133 | } | 126 | /*DBG_PRN_GRP01(("TSR1 %02x\n", pINTData->byTSR1));*/ |
134 | if ( pINTData->byISR0 != 0 ) { | 127 | } |
135 | if (pINTData->byISR0 & ISR_BNTX) { | 128 | if (pINTData->byTSR2 & TSR_VALID) { |
136 | 129 | STAvUpdateTDStatCounter(&(pDevice->scStatistic), | |
137 | if (pDevice->eOPMode == OP_MODE_AP) { | 130 | (BYTE) (pINTData->byPkt2 & 0x0F), |
138 | if(pMgmt->byDTIMCount > 0) { | 131 | (BYTE) (pINTData->byPkt2>>4), |
139 | pMgmt->byDTIMCount --; | 132 | pINTData->byTSR2); |
140 | pMgmt->sNodeDBTable[0].bRxPSPoll = FALSE; | 133 | BSSvUpdateNodeTxCounter(pDevice, |
141 | } else if(pMgmt->byDTIMCount == 0) { | 134 | &(pDevice->scStatistic), |
142 | // check if mutltcast tx bufferring | 135 | pINTData->byTSR2, |
143 | pMgmt->byDTIMCount = pMgmt->byDTIMPeriod - 1; | 136 | pINTData->byPkt2); |
144 | pMgmt->sNodeDBTable[0].bRxPSPoll = TRUE; | 137 | /*DBG_PRN_GRP01(("TSR2 %02x\n", pINTData->byTSR2));*/ |
145 | if (pMgmt->sNodeDBTable[0].bPSEnable) { | 138 | } |
146 | bScheduleCommand((HANDLE)pDevice, WLAN_CMD_RX_PSPOLL, NULL); | 139 | if (pINTData->byTSR3 & TSR_VALID) { |
147 | } | 140 | STAvUpdateTDStatCounter(&(pDevice->scStatistic), |
148 | } | 141 | (BYTE) (pINTData->byPkt3 & 0x0F), |
149 | bScheduleCommand((HANDLE)pDevice, WLAN_CMD_BECON_SEND, NULL); | 142 | (BYTE) (pINTData->byPkt3>>4), |
150 | } // if (pDevice->eOPMode == OP_MODE_AP) | 143 | pINTData->byTSR3); |
151 | 144 | BSSvUpdateNodeTxCounter(pDevice, | |
152 | pDevice->bBeaconSent = TRUE; | 145 | &(pDevice->scStatistic), |
153 | } else { | 146 | pINTData->byTSR3, |
154 | pDevice->bBeaconSent = FALSE; | 147 | pINTData->byPkt3); |
155 | } | 148 | /*DBG_PRN_GRP01(("TSR3 %02x\n", pINTData->byTSR3));*/ |
156 | if (pINTData->byISR0 & ISR_TBTT) { | 149 | } |
157 | if ( pDevice->bEnablePSMode ) { | 150 | if (pINTData->byISR0 != 0) { |
158 | bScheduleCommand((HANDLE) pDevice, WLAN_CMD_TBTT_WAKEUP, NULL); | 151 | if (pINTData->byISR0 & ISR_BNTX) { |
159 | } | 152 | if (pDevice->eOPMode == OP_MODE_AP) { |
160 | if ( pDevice->bChannelSwitch ) { | 153 | if (pMgmt->byDTIMCount > 0) { |
161 | pDevice->byChannelSwitchCount--; | 154 | pMgmt->byDTIMCount--; |
162 | if ( pDevice->byChannelSwitchCount == 0 ) { | 155 | pMgmt->sNodeDBTable[0].bRxPSPoll = |
163 | bScheduleCommand((HANDLE) pDevice, WLAN_CMD_11H_CHSW, NULL); | 156 | FALSE; |
164 | } | 157 | } else if (pMgmt->byDTIMCount == 0) { |
165 | } | 158 | /* check if mutltcast tx bufferring */ |
166 | } | 159 | pMgmt->byDTIMCount = |
167 | LODWORD(pDevice->qwCurrTSF) = pINTData->dwLoTSF; | 160 | pMgmt->byDTIMPeriod-1; |
168 | HIDWORD(pDevice->qwCurrTSF) = pINTData->dwHiTSF; | 161 | pMgmt->sNodeDBTable[0].bRxPSPoll = TRUE; |
169 | //DBG_PRN_GRP01(("ISR0 = %02x ,LoTsf = %08x,HiTsf = %08x\n", pINTData->byISR0, pINTData->dwLoTSF,pINTData->dwHiTSF)); | 162 | if (pMgmt->sNodeDBTable[0].bPSEnable) |
170 | 163 | bScheduleCommand((void *) pDevice, | |
171 | STAvUpdate802_11Counter(&pDevice->s802_11Counter, &pDevice->scStatistic, pINTData->byRTSSuccess, | 164 | WLAN_CMD_RX_PSPOLL, |
172 | pINTData->byRTSFail, pINTData->byACKFail, pINTData->byFCSErr ); | 165 | NULL); |
173 | STAvUpdateIsrStatCounter(&pDevice->scStatistic, pINTData->byISR0, pINTData->byISR1); | 166 | } |
174 | 167 | bScheduleCommand((void *) pDevice, | |
175 | } | 168 | WLAN_CMD_BECON_SEND, |
176 | 169 | NULL); | |
177 | if ( pINTData->byISR1 != 0 ) { | 170 | } /* if (pDevice->eOPMode == OP_MODE_AP) */ |
178 | if (pINTData->byISR1 & ISR_GPIO3) { | 171 | pDevice->bBeaconSent = TRUE; |
179 | bScheduleCommand((HANDLE) pDevice, WLAN_CMD_RADIO, NULL); | 172 | } else { |
180 | } | 173 | pDevice->bBeaconSent = FALSE; |
181 | } | 174 | } |
182 | pDevice->intBuf.uDataLen = 0; | 175 | if (pINTData->byISR0 & ISR_TBTT) { |
183 | pDevice->intBuf.bInUse = FALSE; | 176 | if (pDevice->bEnablePSMode) |
184 | 177 | bScheduleCommand((void *) pDevice, | |
185 | pStats->tx_packets = pDevice->scStatistic.ullTsrOK; | 178 | WLAN_CMD_TBTT_WAKEUP, |
186 | pStats->tx_bytes = pDevice->scStatistic.ullTxDirectedBytes + | 179 | NULL); |
187 | pDevice->scStatistic.ullTxMulticastBytes + | 180 | if (pDevice->bChannelSwitch) { |
188 | pDevice->scStatistic.ullTxBroadcastBytes; | 181 | pDevice->byChannelSwitchCount--; |
189 | pStats->tx_errors = pDevice->scStatistic.dwTsrErr; | 182 | if (pDevice->byChannelSwitchCount == 0) |
190 | pStats->tx_dropped = pDevice->scStatistic.dwTsrErr; | 183 | bScheduleCommand((void *) pDevice, |
191 | 184 | WLAN_CMD_11H_CHSW, | |
192 | return status; | 185 | NULL); |
186 | } | ||
187 | } | ||
188 | LODWORD(pDevice->qwCurrTSF) = pINTData->dwLoTSF; | ||
189 | HIDWORD(pDevice->qwCurrTSF) = pINTData->dwHiTSF; | ||
190 | /*DBG_PRN_GRP01(("ISR0 = %02x , | ||
191 | LoTsf = %08x, | ||
192 | HiTsf = %08x\n", | ||
193 | pINTData->byISR0, | ||
194 | pINTData->dwLoTSF, | ||
195 | pINTData->dwHiTSF)); */ | ||
196 | |||
197 | STAvUpdate802_11Counter(&pDevice->s802_11Counter, | ||
198 | &pDevice->scStatistic, | ||
199 | pINTData->byRTSSuccess, | ||
200 | pINTData->byRTSFail, | ||
201 | pINTData->byACKFail, | ||
202 | pINTData->byFCSErr); | ||
203 | STAvUpdateIsrStatCounter(&pDevice->scStatistic, | ||
204 | pINTData->byISR0, | ||
205 | pINTData->byISR1); | ||
206 | } | ||
207 | |||
208 | if (pINTData->byISR1 != 0) | ||
209 | if (pINTData->byISR1 & ISR_GPIO3) | ||
210 | bScheduleCommand((void *) pDevice, | ||
211 | WLAN_CMD_RADIO, | ||
212 | NULL); | ||
213 | pDevice->intBuf.uDataLen = 0; | ||
214 | pDevice->intBuf.bInUse = FALSE; | ||
215 | |||
216 | pStats->tx_packets = pDevice->scStatistic.ullTsrOK; | ||
217 | pStats->tx_bytes = pDevice->scStatistic.ullTxDirectedBytes + | ||
218 | pDevice->scStatistic.ullTxMulticastBytes + | ||
219 | pDevice->scStatistic.ullTxBroadcastBytes; | ||
220 | pStats->tx_errors = pDevice->scStatistic.dwTsrErr; | ||
221 | pStats->tx_dropped = pDevice->scStatistic.dwTsrErr; | ||
222 | |||
223 | return status; | ||
193 | } | 224 | } |
diff --git a/drivers/staging/vt6656/int.h b/drivers/staging/vt6656/int.h index 15e815a3596..cdf355130de 100644 --- a/drivers/staging/vt6656/int.h +++ b/drivers/staging/vt6656/int.h | |||
@@ -67,17 +67,11 @@ SINTData, *PSINTData; | |||
67 | 67 | ||
68 | /*--------------------- Export Functions --------------------------*/ | 68 | /*--------------------- Export Functions --------------------------*/ |
69 | 69 | ||
70 | VOID | 70 | void INTvWorkItem(void *Context); |
71 | INTvWorkItem( | ||
72 | PVOID Context | ||
73 | ); | ||
74 | 71 | ||
75 | NTSTATUS | 72 | NTSTATUS |
76 | INTnsProcessData( | 73 | INTnsProcessData( |
77 | IN PSDevice pDevice | 74 | PSDevice pDevice |
78 | ); | 75 | ); |
79 | 76 | ||
80 | #endif // __INT_H__ | 77 | #endif /* __INT_H__ */ |
81 | |||
82 | |||
83 | |||
diff --git a/drivers/staging/vt6656/iocmd.h b/drivers/staging/vt6656/iocmd.h index 49bfe15f133..fbba1d53e49 100644 --- a/drivers/staging/vt6656/iocmd.h +++ b/drivers/staging/vt6656/iocmd.h | |||
@@ -37,12 +37,6 @@ | |||
37 | #define DEF | 37 | #define DEF |
38 | #endif | 38 | #endif |
39 | 39 | ||
40 | //typedef int BOOL; | ||
41 | //typedef uint32_t u32; | ||
42 | //typedef uint16_t u16; | ||
43 | //typedef uint8_t u8; | ||
44 | |||
45 | |||
46 | // ioctl Command code | 40 | // ioctl Command code |
47 | #define MAGIC_CODE 0x3142 | 41 | #define MAGIC_CODE 0x3142 |
48 | #define IOCTL_CMD_TEST (SIOCDEVPRIVATE + 0) | 42 | #define IOCTL_CMD_TEST (SIOCDEVPRIVATE + 0) |
@@ -50,7 +44,6 @@ | |||
50 | #define IOCTL_CMD_HOSTAPD (SIOCDEVPRIVATE + 2) | 44 | #define IOCTL_CMD_HOSTAPD (SIOCDEVPRIVATE + 2) |
51 | #define IOCTL_CMD_WPA (SIOCDEVPRIVATE + 3) | 45 | #define IOCTL_CMD_WPA (SIOCDEVPRIVATE + 3) |
52 | 46 | ||
53 | |||
54 | typedef enum tagWMAC_CMD { | 47 | typedef enum tagWMAC_CMD { |
55 | 48 | ||
56 | WLAN_CMD_BSS_SCAN, | 49 | WLAN_CMD_BSS_SCAN, |
@@ -90,7 +83,6 @@ typedef enum tagWZONETYPE { | |||
90 | #define ADHOC_STARTED 1 | 83 | #define ADHOC_STARTED 1 |
91 | #define ADHOC_JOINTED 2 | 84 | #define ADHOC_JOINTED 2 |
92 | 85 | ||
93 | |||
94 | #define PHY80211a 0 | 86 | #define PHY80211a 0 |
95 | #define PHY80211b 1 | 87 | #define PHY80211b 1 |
96 | #define PHY80211g 2 | 88 | #define PHY80211g 2 |
@@ -109,10 +101,10 @@ typedef enum tagWZONETYPE { | |||
109 | // | 101 | // |
110 | #pragma pack(1) | 102 | #pragma pack(1) |
111 | typedef struct tagSCmdRequest { | 103 | typedef struct tagSCmdRequest { |
112 | U8 name[16]; | 104 | u8 name[16]; |
113 | void *data; | 105 | void *data; |
114 | U16 wResult; | 106 | u16 wResult; |
115 | U16 wCmdCode; | 107 | u16 wCmdCode; |
116 | } SCmdRequest, *PSCmdRequest; | 108 | } SCmdRequest, *PSCmdRequest; |
117 | 109 | ||
118 | // | 110 | // |
@@ -121,21 +113,20 @@ typedef struct tagSCmdRequest { | |||
121 | 113 | ||
122 | typedef struct tagSCmdScan { | 114 | typedef struct tagSCmdScan { |
123 | 115 | ||
124 | U8 ssid[SSID_MAXLEN + 2]; | 116 | u8 ssid[SSID_MAXLEN + 2]; |
125 | 117 | ||
126 | } SCmdScan, *PSCmdScan; | 118 | } SCmdScan, *PSCmdScan; |
127 | 119 | ||
128 | |||
129 | // | 120 | // |
130 | // BSS Join | 121 | // BSS Join |
131 | // | 122 | // |
132 | 123 | ||
133 | typedef struct tagSCmdBSSJoin { | 124 | typedef struct tagSCmdBSSJoin { |
134 | 125 | ||
135 | U16 wBSSType; | 126 | u16 wBSSType; |
136 | U16 wBBPType; | 127 | u16 wBBPType; |
137 | U8 ssid[SSID_MAXLEN + 2]; | 128 | u8 ssid[SSID_MAXLEN + 2]; |
138 | U32 uChannel; | 129 | u32 uChannel; |
139 | BOOL bPSEnable; | 130 | BOOL bPSEnable; |
140 | BOOL bShareKeyAuth; | 131 | BOOL bShareKeyAuth; |
141 | 132 | ||
@@ -155,83 +146,80 @@ typedef struct tagSCmdZoneTypeSet { | |||
155 | #ifdef WPA_SM_Transtatus | 146 | #ifdef WPA_SM_Transtatus |
156 | typedef struct tagSWPAResult { | 147 | typedef struct tagSWPAResult { |
157 | char ifname[100]; | 148 | char ifname[100]; |
158 | U8 proto; | 149 | u8 proto; |
159 | U8 key_mgmt; | 150 | u8 key_mgmt; |
160 | U8 eap_type; | 151 | u8 eap_type; |
161 | BOOL authenticated; | 152 | BOOL authenticated; |
162 | } SWPAResult, *PSWPAResult; | 153 | } SWPAResult, *PSWPAResult; |
163 | #endif | 154 | #endif |
164 | 155 | ||
165 | typedef struct tagSCmdStartAP { | 156 | typedef struct tagSCmdStartAP { |
166 | 157 | ||
167 | U16 wBSSType; | 158 | u16 wBSSType; |
168 | U16 wBBPType; | 159 | u16 wBBPType; |
169 | U8 ssid[SSID_MAXLEN + 2]; | 160 | u8 ssid[SSID_MAXLEN + 2]; |
170 | U32 uChannel; | 161 | u32 uChannel; |
171 | U32 uBeaconInt; | 162 | u32 uBeaconInt; |
172 | BOOL bShareKeyAuth; | 163 | BOOL bShareKeyAuth; |
173 | U8 byBasicRate; | 164 | u8 byBasicRate; |
174 | 165 | ||
175 | } SCmdStartAP, *PSCmdStartAP; | 166 | } SCmdStartAP, *PSCmdStartAP; |
176 | 167 | ||
177 | |||
178 | typedef struct tagSCmdSetWEP { | 168 | typedef struct tagSCmdSetWEP { |
179 | 169 | ||
180 | BOOL bEnableWep; | 170 | BOOL bEnableWep; |
181 | U8 byKeyIndex; | 171 | u8 byKeyIndex; |
182 | U8 abyWepKey[WEP_NKEYS][WEP_KEYMAXLEN]; | 172 | u8 abyWepKey[WEP_NKEYS][WEP_KEYMAXLEN]; |
183 | BOOL bWepKeyAvailable[WEP_NKEYS]; | 173 | BOOL bWepKeyAvailable[WEP_NKEYS]; |
184 | U32 auWepKeyLength[WEP_NKEYS]; | 174 | u32 auWepKeyLength[WEP_NKEYS]; |
185 | 175 | ||
186 | } SCmdSetWEP, *PSCmdSetWEP; | 176 | } SCmdSetWEP, *PSCmdSetWEP; |
187 | 177 | ||
188 | |||
189 | |||
190 | typedef struct tagSBSSIDItem { | 178 | typedef struct tagSBSSIDItem { |
191 | 179 | ||
192 | U32 uChannel; | 180 | u32 uChannel; |
193 | U8 abyBSSID[BSSID_LEN]; | 181 | u8 abyBSSID[BSSID_LEN]; |
194 | U8 abySSID[SSID_MAXLEN + 1]; | 182 | u8 abySSID[SSID_MAXLEN + 1]; |
195 | U16 wBeaconInterval; | 183 | u16 wBeaconInterval; |
196 | U16 wCapInfo; | 184 | u16 wCapInfo; |
197 | U8 byNetType; | 185 | u8 byNetType; |
198 | BOOL bWEPOn; | 186 | BOOL bWEPOn; |
199 | U32 uRSSI; | 187 | u32 uRSSI; |
200 | 188 | ||
201 | } SBSSIDItem; | 189 | } SBSSIDItem; |
202 | 190 | ||
203 | 191 | ||
204 | typedef struct tagSBSSIDList { | 192 | typedef struct tagSBSSIDList { |
205 | 193 | ||
206 | U32 uItem; | 194 | u32 uItem; |
207 | SBSSIDItem sBSSIDList[0]; | 195 | SBSSIDItem sBSSIDList[0]; |
208 | } SBSSIDList, *PSBSSIDList; | 196 | } SBSSIDList, *PSBSSIDList; |
209 | 197 | ||
210 | 198 | ||
211 | typedef struct tagSNodeItem { | 199 | typedef struct tagSNodeItem { |
212 | // STA info | 200 | // STA info |
213 | U16 wAID; | 201 | u16 wAID; |
214 | U8 abyMACAddr[6]; | 202 | u8 abyMACAddr[6]; |
215 | U16 wTxDataRate; | 203 | u16 wTxDataRate; |
216 | U16 wInActiveCount; | 204 | u16 wInActiveCount; |
217 | U16 wEnQueueCnt; | 205 | u16 wEnQueueCnt; |
218 | U16 wFlags; | 206 | u16 wFlags; |
219 | BOOL bPWBitOn; | 207 | BOOL bPWBitOn; |
220 | U8 byKeyIndex; | 208 | u8 byKeyIndex; |
221 | U16 wWepKeyLength; | 209 | u16 wWepKeyLength; |
222 | U8 abyWepKey[WEP_KEYMAXLEN]; | 210 | u8 abyWepKey[WEP_KEYMAXLEN]; |
223 | // Auto rate fallback vars | 211 | // Auto rate fallback vars |
224 | BOOL bIsInFallback; | 212 | BOOL bIsInFallback; |
225 | U32 uTxFailures; | 213 | u32 uTxFailures; |
226 | U32 uTxAttempts; | 214 | u32 uTxAttempts; |
227 | U16 wFailureRatio; | 215 | u16 wFailureRatio; |
228 | 216 | ||
229 | } SNodeItem; | 217 | } SNodeItem; |
230 | 218 | ||
231 | 219 | ||
232 | typedef struct tagSNodeList { | 220 | typedef struct tagSNodeList { |
233 | 221 | ||
234 | U32 uItem; | 222 | u32 uItem; |
235 | SNodeItem sNodeList[0]; | 223 | SNodeItem sNodeList[0]; |
236 | 224 | ||
237 | } SNodeList, *PSNodeList; | 225 | } SNodeList, *PSNodeList; |
@@ -240,12 +228,12 @@ typedef struct tagSNodeList { | |||
240 | typedef struct tagSCmdLinkStatus { | 228 | typedef struct tagSCmdLinkStatus { |
241 | 229 | ||
242 | BOOL bLink; | 230 | BOOL bLink; |
243 | U16 wBSSType; | 231 | u16 wBSSType; |
244 | U8 byState; | 232 | u8 byState; |
245 | U8 abyBSSID[BSSID_LEN]; | 233 | u8 abyBSSID[BSSID_LEN]; |
246 | U8 abySSID[SSID_MAXLEN + 2]; | 234 | u8 abySSID[SSID_MAXLEN + 2]; |
247 | U32 uChannel; | 235 | u32 uChannel; |
248 | U32 uLinkRate; | 236 | u32 uLinkRate; |
249 | 237 | ||
250 | } SCmdLinkStatus, *PSCmdLinkStatus; | 238 | } SCmdLinkStatus, *PSCmdLinkStatus; |
251 | 239 | ||
@@ -253,18 +241,18 @@ typedef struct tagSCmdLinkStatus { | |||
253 | // 802.11 counter | 241 | // 802.11 counter |
254 | // | 242 | // |
255 | typedef struct tagSDot11MIBCount { | 243 | typedef struct tagSDot11MIBCount { |
256 | U32 TransmittedFragmentCount; | 244 | u32 TransmittedFragmentCount; |
257 | U32 MulticastTransmittedFrameCount; | 245 | u32 MulticastTransmittedFrameCount; |
258 | U32 FailedCount; | 246 | u32 FailedCount; |
259 | U32 RetryCount; | 247 | u32 RetryCount; |
260 | U32 MultipleRetryCount; | 248 | u32 MultipleRetryCount; |
261 | U32 RTSSuccessCount; | 249 | u32 RTSSuccessCount; |
262 | U32 RTSFailureCount; | 250 | u32 RTSFailureCount; |
263 | U32 ACKFailureCount; | 251 | u32 ACKFailureCount; |
264 | U32 FrameDuplicateCount; | 252 | u32 FrameDuplicateCount; |
265 | U32 ReceivedFragmentCount; | 253 | u32 ReceivedFragmentCount; |
266 | U32 MulticastReceivedFrameCount; | 254 | u32 MulticastReceivedFrameCount; |
267 | U32 FCSErrorCount; | 255 | u32 FCSErrorCount; |
268 | } SDot11MIBCount, *PSDot11MIBCount; | 256 | } SDot11MIBCount, *PSDot11MIBCount; |
269 | 257 | ||
270 | 258 | ||
@@ -276,119 +264,115 @@ typedef struct tagSStatMIBCount { | |||
276 | // | 264 | // |
277 | // ISR status count | 265 | // ISR status count |
278 | // | 266 | // |
279 | U32 dwIsrTx0OK; | 267 | u32 dwIsrTx0OK; |
280 | U32 dwIsrTx1OK; | 268 | u32 dwIsrTx1OK; |
281 | U32 dwIsrBeaconTxOK; | 269 | u32 dwIsrBeaconTxOK; |
282 | U32 dwIsrRxOK; | 270 | u32 dwIsrRxOK; |
283 | U32 dwIsrTBTTInt; | 271 | u32 dwIsrTBTTInt; |
284 | U32 dwIsrSTIMERInt; | 272 | u32 dwIsrSTIMERInt; |
285 | U32 dwIsrUnrecoverableError; | 273 | u32 dwIsrUnrecoverableError; |
286 | U32 dwIsrSoftInterrupt; | 274 | u32 dwIsrSoftInterrupt; |
287 | U32 dwIsrRxNoBuf; | 275 | u32 dwIsrRxNoBuf; |
288 | ///////////////////////////////////// | 276 | ///////////////////////////////////// |
289 | 277 | ||
290 | U32 dwIsrUnknown; // unknown interrupt count | 278 | u32 dwIsrUnknown; /* unknown interrupt count */ |
291 | 279 | ||
292 | // RSR status count | 280 | // RSR status count |
293 | // | 281 | // |
294 | U32 dwRsrFrmAlgnErr; | 282 | u32 dwRsrFrmAlgnErr; |
295 | U32 dwRsrErr; | 283 | u32 dwRsrErr; |
296 | U32 dwRsrCRCErr; | 284 | u32 dwRsrCRCErr; |
297 | U32 dwRsrCRCOk; | 285 | u32 dwRsrCRCOk; |
298 | U32 dwRsrBSSIDOk; | 286 | u32 dwRsrBSSIDOk; |
299 | U32 dwRsrADDROk; | 287 | u32 dwRsrADDROk; |
300 | U32 dwRsrICVOk; | 288 | u32 dwRsrICVOk; |
301 | U32 dwNewRsrShortPreamble; | 289 | u32 dwNewRsrShortPreamble; |
302 | U32 dwRsrLong; | 290 | u32 dwRsrLong; |
303 | U32 dwRsrRunt; | 291 | u32 dwRsrRunt; |
304 | 292 | ||
305 | U32 dwRsrRxControl; | 293 | u32 dwRsrRxControl; |
306 | U32 dwRsrRxData; | 294 | u32 dwRsrRxData; |
307 | U32 dwRsrRxManage; | 295 | u32 dwRsrRxManage; |
308 | 296 | ||
309 | U32 dwRsrRxPacket; | 297 | u32 dwRsrRxPacket; |
310 | U32 dwRsrRxOctet; | 298 | u32 dwRsrRxOctet; |
311 | U32 dwRsrBroadcast; | 299 | u32 dwRsrBroadcast; |
312 | U32 dwRsrMulticast; | 300 | u32 dwRsrMulticast; |
313 | U32 dwRsrDirected; | 301 | u32 dwRsrDirected; |
314 | // 64-bit OID | 302 | // 64-bit OID |
315 | U32 ullRsrOK; | 303 | u32 ullRsrOK; |
316 | 304 | ||
317 | // for some optional OIDs (64 bits) and DMI support | 305 | // for some optional OIDs (64 bits) and DMI support |
318 | U32 ullRxBroadcastBytes; | 306 | u32 ullRxBroadcastBytes; |
319 | U32 ullRxMulticastBytes; | 307 | u32 ullRxMulticastBytes; |
320 | U32 ullRxDirectedBytes; | 308 | u32 ullRxDirectedBytes; |
321 | U32 ullRxBroadcastFrames; | 309 | u32 ullRxBroadcastFrames; |
322 | U32 ullRxMulticastFrames; | 310 | u32 ullRxMulticastFrames; |
323 | U32 ullRxDirectedFrames; | 311 | u32 ullRxDirectedFrames; |
324 | 312 | ||
325 | U32 dwRsrRxFragment; | 313 | u32 dwRsrRxFragment; |
326 | U32 dwRsrRxFrmLen64; | 314 | u32 dwRsrRxFrmLen64; |
327 | U32 dwRsrRxFrmLen65_127; | 315 | u32 dwRsrRxFrmLen65_127; |
328 | U32 dwRsrRxFrmLen128_255; | 316 | u32 dwRsrRxFrmLen128_255; |
329 | U32 dwRsrRxFrmLen256_511; | 317 | u32 dwRsrRxFrmLen256_511; |
330 | U32 dwRsrRxFrmLen512_1023; | 318 | u32 dwRsrRxFrmLen512_1023; |
331 | U32 dwRsrRxFrmLen1024_1518; | 319 | u32 dwRsrRxFrmLen1024_1518; |
332 | 320 | ||
333 | // TSR0,1 status count | 321 | // TSR0,1 status count |
334 | // | 322 | // |
335 | U32 dwTsrTotalRetry[2]; // total collision retry count | 323 | u32 dwTsrTotalRetry[2]; /* total collision retry count */ |
336 | U32 dwTsrOnceRetry[2]; // this packet only occur one collision | 324 | u32 dwTsrOnceRetry[2]; /* this packet had one collision */ |
337 | U32 dwTsrMoreThanOnceRetry[2]; // this packet occur more than one collision | 325 | u32 dwTsrMoreThanOnceRetry[2]; /* this packet had many collisions */ |
338 | U32 dwTsrRetry[2]; // this packet has ever occur collision, | 326 | u32 dwTsrRetry[2]; /* this packet has ever occur collision, |
339 | // that is (dwTsrOnceCollision0 + dwTsrMoreThanOnceCollision0) | 327 | * that is (dwTsrOnceCollision0 plus |
340 | U32 dwTsrACKData[2]; | 328 | * dwTsrMoreThanOnceCollision0) */ |
341 | U32 dwTsrErr[2]; | 329 | u32 dwTsrACKData[2]; |
342 | U32 dwAllTsrOK[2]; | 330 | u32 dwTsrErr[2]; |
343 | U32 dwTsrRetryTimeout[2]; | 331 | u32 dwAllTsrOK[2]; |
344 | U32 dwTsrTransmitTimeout[2]; | 332 | u32 dwTsrRetryTimeout[2]; |
345 | 333 | u32 dwTsrTransmitTimeout[2]; | |
346 | U32 dwTsrTxPacket[2]; | 334 | |
347 | U32 dwTsrTxOctet[2]; | 335 | u32 dwTsrTxPacket[2]; |
348 | U32 dwTsrBroadcast[2]; | 336 | u32 dwTsrTxOctet[2]; |
349 | U32 dwTsrMulticast[2]; | 337 | u32 dwTsrBroadcast[2]; |
350 | U32 dwTsrDirected[2]; | 338 | u32 dwTsrMulticast[2]; |
339 | u32 dwTsrDirected[2]; | ||
351 | 340 | ||
352 | // RD/TD count | 341 | // RD/TD count |
353 | U32 dwCntRxFrmLength; | 342 | u32 dwCntRxFrmLength; |
354 | U32 dwCntTxBufLength; | 343 | u32 dwCntTxBufLength; |
355 | 344 | ||
356 | U8 abyCntRxPattern[16]; | 345 | u8 abyCntRxPattern[16]; |
357 | U8 abyCntTxPattern[16]; | 346 | u8 abyCntTxPattern[16]; |
358 | 347 | ||
359 | // Software check.... | 348 | /* Software check.... */ |
360 | U32 dwCntRxDataErr; // rx buffer data software compare CRC err count | 349 | u32 dwCntRxDataErr; /* rx buffer data CRC err count */ |
361 | U32 dwCntDecryptErr; // rx buffer data software compare CRC err count | 350 | u32 dwCntDecryptErr; /* rx buffer data CRC err count */ |
362 | U32 dwCntRxICVErr; // rx buffer data software compare CRC err count | 351 | u32 dwCntRxICVErr; /* rx buffer data CRC err count */ |
363 | U32 idxRxErrorDesc; // index for rx data error RD | 352 | u32 idxRxErrorDesc; /* index for rx data error RD */ |
364 | 353 | ||
365 | // 64-bit OID | 354 | /* 64-bit OID */ |
366 | U32 ullTsrOK[2]; | 355 | u32 ullTsrOK[2]; |
367 | 356 | ||
368 | // for some optional OIDs (64 bits) and DMI support | 357 | // for some optional OIDs (64 bits) and DMI support |
369 | U32 ullTxBroadcastFrames[2]; | 358 | u32 ullTxBroadcastFrames[2]; |
370 | U32 ullTxMulticastFrames[2]; | 359 | u32 ullTxMulticastFrames[2]; |
371 | U32 ullTxDirectedFrames[2]; | 360 | u32 ullTxDirectedFrames[2]; |
372 | U32 ullTxBroadcastBytes[2]; | 361 | u32 ullTxBroadcastBytes[2]; |
373 | U32 ullTxMulticastBytes[2]; | 362 | u32 ullTxMulticastBytes[2]; |
374 | U32 ullTxDirectedBytes[2]; | 363 | u32 ullTxDirectedBytes[2]; |
375 | } SStatMIBCount, *PSStatMIBCount; | 364 | } SStatMIBCount, *PSStatMIBCount; |
376 | 365 | ||
377 | |||
378 | |||
379 | |||
380 | typedef struct tagSCmdValue { | 366 | typedef struct tagSCmdValue { |
381 | 367 | ||
382 | U32 dwValue; | 368 | u32 dwValue; |
383 | 369 | ||
384 | } SCmdValue, *PSCmdValue; | 370 | } SCmdValue, *PSCmdValue; |
385 | 371 | ||
386 | |||
387 | // | 372 | // |
388 | // hostapd & viawget ioctl related | 373 | // hostapd & viawget ioctl related |
389 | // | 374 | // |
390 | 375 | ||
391 | |||
392 | // VIAGWET_IOCTL_HOSTAPD ioctl() cmd: | 376 | // VIAGWET_IOCTL_HOSTAPD ioctl() cmd: |
393 | enum { | 377 | enum { |
394 | VIAWGET_HOSTAPD_FLUSH = 1, | 378 | VIAWGET_HOSTAPD_FLUSH = 1, |
@@ -405,71 +389,62 @@ enum { | |||
405 | VIAWGET_HOSTAPD_STA_CLEAR_STATS = 12, | 389 | VIAWGET_HOSTAPD_STA_CLEAR_STATS = 12, |
406 | }; | 390 | }; |
407 | 391 | ||
408 | |||
409 | #define VIAWGET_HOSTAPD_GENERIC_ELEMENT_HDR_LEN \ | 392 | #define VIAWGET_HOSTAPD_GENERIC_ELEMENT_HDR_LEN \ |
410 | ((int) (&((struct viawget_hostapd_param *) 0)->u.generic_elem.data)) | 393 | ((int) (&((struct viawget_hostapd_param *) 0)->u.generic_elem.data)) |
411 | 394 | ||
412 | // Maximum length for algorithm names (-1 for nul termination) used in ioctl() | 395 | // Maximum length for algorithm names (-1 for nul termination) used in ioctl() |
413 | 396 | ||
414 | |||
415 | |||
416 | struct viawget_hostapd_param { | 397 | struct viawget_hostapd_param { |
417 | U32 cmd; | 398 | u32 cmd; |
418 | U8 sta_addr[6]; | 399 | u8 sta_addr[6]; |
419 | union { | 400 | union { |
420 | struct { | 401 | struct { |
421 | U16 aid; | 402 | u16 aid; |
422 | U16 capability; | 403 | u16 capability; |
423 | U8 tx_supp_rates; | 404 | u8 tx_supp_rates; |
424 | } add_sta; | 405 | } add_sta; |
425 | struct { | 406 | struct { |
426 | U32 inactive_sec; | 407 | u32 inactive_sec; |
427 | } get_info_sta; | 408 | } get_info_sta; |
428 | struct { | 409 | struct { |
429 | U8 alg; | 410 | u8 alg; |
430 | U32 flags; | 411 | u32 flags; |
431 | U32 err; | 412 | u32 err; |
432 | U8 idx; | 413 | u8 idx; |
433 | U8 seq[8]; | 414 | u8 seq[8]; |
434 | U16 key_len; | 415 | u16 key_len; |
435 | U8 key[0]; | 416 | u8 key[0]; |
436 | } crypt; | 417 | } crypt; |
437 | struct { | 418 | struct { |
438 | U32 flags_and; | 419 | u32 flags_and; |
439 | U32 flags_or; | 420 | u32 flags_or; |
440 | } set_flags_sta; | 421 | } set_flags_sta; |
441 | struct { | 422 | struct { |
442 | U16 rid; | 423 | u16 rid; |
443 | U16 len; | 424 | u16 len; |
444 | U8 data[0]; | 425 | u8 data[0]; |
445 | } rid; | 426 | } rid; |
446 | struct { | 427 | struct { |
447 | U8 len; | 428 | u8 len; |
448 | U8 data[0]; | 429 | u8 data[0]; |
449 | } generic_elem; | 430 | } generic_elem; |
450 | struct { | 431 | struct { |
451 | U16 cmd; | 432 | u16 cmd; |
452 | U16 reason_code; | 433 | u16 reason_code; |
453 | } mlme; | 434 | } mlme; |
454 | struct { | 435 | struct { |
455 | U8 ssid_len; | 436 | u8 ssid_len; |
456 | U8 ssid[32]; | 437 | u8 ssid[32]; |
457 | } scan_req; | 438 | } scan_req; |
458 | } u; | 439 | } u; |
459 | }; | 440 | }; |
460 | 441 | ||
461 | |||
462 | |||
463 | /*--------------------- Export Classes ----------------------------*/ | 442 | /*--------------------- Export Classes ----------------------------*/ |
464 | 443 | ||
465 | /*--------------------- Export Variables --------------------------*/ | 444 | /*--------------------- Export Variables --------------------------*/ |
466 | 445 | ||
467 | |||
468 | /*--------------------- Export Types ------------------------------*/ | 446 | /*--------------------- Export Types ------------------------------*/ |
469 | 447 | ||
470 | |||
471 | /*--------------------- Export Functions --------------------------*/ | 448 | /*--------------------- Export Functions --------------------------*/ |
472 | 449 | ||
473 | 450 | #endif /* __IOCMD_H__ */ | |
474 | |||
475 | #endif //__IOCMD_H__ | ||
diff --git a/drivers/staging/vt6656/ioctl.c b/drivers/staging/vt6656/ioctl.c index 6f33005a615..19a84b66b09 100644 --- a/drivers/staging/vt6656/ioctl.c +++ b/drivers/staging/vt6656/ioctl.c | |||
@@ -72,16 +72,16 @@ int private_ioctl(PSDevice pDevice, struct ifreq *rq) { | |||
72 | SNodeList sNodeList; | 72 | SNodeList sNodeList; |
73 | PSBSSIDList pList; | 73 | PSBSSIDList pList; |
74 | PSNodeList pNodeList; | 74 | PSNodeList pNodeList; |
75 | UINT cbListCount; | 75 | unsigned int cbListCount; |
76 | PKnownBSS pBSS; | 76 | PKnownBSS pBSS; |
77 | PKnownNodeDB pNode; | 77 | PKnownNodeDB pNode; |
78 | UINT ii, jj; | 78 | unsigned int ii, jj; |
79 | SCmdLinkStatus sLinkStatus; | 79 | SCmdLinkStatus sLinkStatus; |
80 | BYTE abySuppRates[] = {WLAN_EID_SUPP_RATES, 4, 0x02, 0x04, 0x0B, 0x16}; | 80 | BYTE abySuppRates[] = {WLAN_EID_SUPP_RATES, 4, 0x02, 0x04, 0x0B, 0x16}; |
81 | BYTE abyNullAddr[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; | 81 | BYTE abyNullAddr[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; |
82 | DWORD dwKeyIndex= 0; | 82 | DWORD dwKeyIndex= 0; |
83 | BYTE abyScanSSID[WLAN_IEHDR_LEN + WLAN_SSID_MAXLEN + 1]; | 83 | BYTE abyScanSSID[WLAN_IEHDR_LEN + WLAN_SSID_MAXLEN + 1]; |
84 | LONG ldBm; | 84 | signed long ldBm; |
85 | 85 | ||
86 | pReq->wResult = 0; | 86 | pReq->wResult = 0; |
87 | 87 | ||
@@ -100,16 +100,21 @@ int private_ioctl(PSDevice pDevice, struct ifreq *rq) { | |||
100 | memcpy(abyScanSSID, pItemSSID, pItemSSID->len + WLAN_IEHDR_LEN); | 100 | memcpy(abyScanSSID, pItemSSID, pItemSSID->len + WLAN_IEHDR_LEN); |
101 | } | 101 | } |
102 | spin_lock_irq(&pDevice->lock); | 102 | spin_lock_irq(&pDevice->lock); |
103 | if (memcmp(pMgmt->abyCurrBSSID, &abyNullAddr[0], 6) == 0) | ||
104 | BSSvClearBSSList((HANDLE)pDevice, FALSE); | ||
105 | else | ||
106 | BSSvClearBSSList((HANDLE)pDevice, pDevice->bLinkPass); | ||
107 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "WLAN_CMD_BSS_SCAN..begin \n"); | ||
108 | 103 | ||
109 | if (pItemSSID->len != 0) | 104 | if (memcmp(pMgmt->abyCurrBSSID, &abyNullAddr[0], 6) == 0) |
110 | bScheduleCommand((HANDLE) pDevice, WLAN_CMD_BSSID_SCAN, abyScanSSID); | 105 | BSSvClearBSSList((void *) pDevice, FALSE); |
111 | else | 106 | else |
112 | bScheduleCommand((HANDLE) pDevice, WLAN_CMD_BSSID_SCAN, NULL); | 107 | BSSvClearBSSList((void *) pDevice, pDevice->bLinkPass); |
108 | |||
109 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "WLAN_CMD_BSS_SCAN..begin\n"); | ||
110 | |||
111 | if (pItemSSID->len != 0) | ||
112 | bScheduleCommand((void *) pDevice, | ||
113 | WLAN_CMD_BSSID_SCAN, | ||
114 | abyScanSSID); | ||
115 | else | ||
116 | bScheduleCommand((void *) pDevice, WLAN_CMD_BSSID_SCAN, NULL); | ||
117 | |||
113 | spin_unlock_irq(&pDevice->lock); | 118 | spin_unlock_irq(&pDevice->lock); |
114 | break; | 119 | break; |
115 | 120 | ||
@@ -207,8 +212,10 @@ int private_ioctl(PSDevice pDevice, struct ifreq *rq) { | |||
207 | netif_stop_queue(pDevice->dev); | 212 | netif_stop_queue(pDevice->dev); |
208 | spin_lock_irq(&pDevice->lock); | 213 | spin_lock_irq(&pDevice->lock); |
209 | pMgmt->eCurrState = WMAC_STATE_IDLE; | 214 | pMgmt->eCurrState = WMAC_STATE_IDLE; |
210 | bScheduleCommand((HANDLE) pDevice, WLAN_CMD_BSSID_SCAN, pMgmt->abyDesireSSID); | 215 | bScheduleCommand((void *) pDevice, |
211 | bScheduleCommand((HANDLE) pDevice, WLAN_CMD_SSID, NULL); | 216 | WLAN_CMD_BSSID_SCAN, |
217 | pMgmt->abyDesireSSID); | ||
218 | bScheduleCommand((void *) pDevice, WLAN_CMD_SSID, NULL); | ||
212 | spin_unlock_irq(&pDevice->lock); | 219 | spin_unlock_irq(&pDevice->lock); |
213 | break; | 220 | break; |
214 | 221 | ||
@@ -330,7 +337,7 @@ int private_ioctl(PSDevice pDevice, struct ifreq *rq) { | |||
330 | pList->sBSSIDList[ii].wBeaconInterval = pBSS->wBeaconInterval; | 337 | pList->sBSSIDList[ii].wBeaconInterval = pBSS->wBeaconInterval; |
331 | pList->sBSSIDList[ii].wCapInfo = pBSS->wCapInfo; | 338 | pList->sBSSIDList[ii].wCapInfo = pBSS->wCapInfo; |
332 | RFvRSSITodBm(pDevice, (BYTE)(pBSS->uRSSI), &ldBm); | 339 | RFvRSSITodBm(pDevice, (BYTE)(pBSS->uRSSI), &ldBm); |
333 | pList->sBSSIDList[ii].uRSSI = (UINT)ldBm; | 340 | pList->sBSSIDList[ii].uRSSI = (unsigned int) ldBm; |
334 | // pList->sBSSIDList[ii].uRSSI = pBSS->uRSSI; | 341 | // pList->sBSSIDList[ii].uRSSI = pBSS->uRSSI; |
335 | memcpy(pList->sBSSIDList[ii].abyBSSID, pBSS->abyBSSID, WLAN_BSSID_LEN); | 342 | memcpy(pList->sBSSIDList[ii].abyBSSID, pBSS->abyBSSID, WLAN_BSSID_LEN); |
336 | pItemSSID = (PWLAN_IE_SSID)pBSS->abySSID; | 343 | pItemSSID = (PWLAN_IE_SSID)pBSS->abySSID; |
@@ -412,7 +419,7 @@ int private_ioctl(PSDevice pDevice, struct ifreq *rq) { | |||
412 | break; | 419 | break; |
413 | }; | 420 | }; |
414 | if (sValue.dwValue == 1) { | 421 | if (sValue.dwValue == 1) { |
415 | if (hostap_set_hostapd(pDevice, 1, 1) == 0){ | 422 | if (vt6656_hostap_set_hostapd(pDevice, 1, 1) == 0){ |
416 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "Enable HOSTAP\n"); | 423 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "Enable HOSTAP\n"); |
417 | } | 424 | } |
418 | else { | 425 | else { |
@@ -421,7 +428,7 @@ int private_ioctl(PSDevice pDevice, struct ifreq *rq) { | |||
421 | } | 428 | } |
422 | } | 429 | } |
423 | else { | 430 | else { |
424 | hostap_set_hostapd(pDevice, 0, 1); | 431 | vt6656_hostap_set_hostapd(pDevice, 0, 1); |
425 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "Disable HOSTAP\n"); | 432 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "Disable HOSTAP\n"); |
426 | } | 433 | } |
427 | 434 | ||
@@ -480,7 +487,9 @@ int private_ioctl(PSDevice pDevice, struct ifreq *rq) { | |||
480 | }; | 487 | }; |
481 | if (sValue.dwValue == 1) { | 488 | if (sValue.dwValue == 1) { |
482 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "up wpadev\n"); | 489 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "up wpadev\n"); |
483 | memcpy(pDevice->wpadev->dev_addr, pDevice->dev->dev_addr, U_ETHER_ADDR_LEN); | 490 | memcpy(pDevice->wpadev->dev_addr, |
491 | pDevice->dev->dev_addr, | ||
492 | ETH_ALEN); | ||
484 | pDevice->bWPADEVUp = TRUE; | 493 | pDevice->bWPADEVUp = TRUE; |
485 | } | 494 | } |
486 | else { | 495 | else { |
@@ -574,7 +583,7 @@ int private_ioctl(PSDevice pDevice, struct ifreq *rq) { | |||
574 | 583 | ||
575 | netif_stop_queue(pDevice->dev); | 584 | netif_stop_queue(pDevice->dev); |
576 | spin_lock_irq(&pDevice->lock); | 585 | spin_lock_irq(&pDevice->lock); |
577 | bScheduleCommand((HANDLE)pDevice, WLAN_CMD_RUN_AP, NULL); | 586 | bScheduleCommand((void *) pDevice, WLAN_CMD_RUN_AP, NULL); |
578 | spin_unlock_irq(&pDevice->lock); | 587 | spin_unlock_irq(&pDevice->lock); |
579 | break; | 588 | break; |
580 | 589 | ||
diff --git a/drivers/staging/vt6656/ioctl.h b/drivers/staging/vt6656/ioctl.h index 07d228399c3..caa4ac963d9 100644 --- a/drivers/staging/vt6656/ioctl.h +++ b/drivers/staging/vt6656/ioctl.h | |||
@@ -43,15 +43,12 @@ | |||
43 | int private_ioctl(PSDevice pDevice, struct ifreq *rq); | 43 | int private_ioctl(PSDevice pDevice, struct ifreq *rq); |
44 | 44 | ||
45 | /* | 45 | /* |
46 | VOID vConfigWEPKey ( | 46 | void vConfigWEPKey ( |
47 | IN PSDevice pDevice, | 47 | PSDevice pDevice, |
48 | IN DWORD dwKeyIndex, | 48 | DWORD dwKeyIndex, |
49 | IN PBYTE pbyKey, | 49 | PBYTE pbyKey, |
50 | IN ULONG uKeyLength | 50 | unsigned long uKeyLength |
51 | ); | 51 | ); |
52 | */ | 52 | */ |
53 | 53 | ||
54 | #endif // __IOCTL_H__ | 54 | #endif /* __IOCTL_H__ */ |
55 | |||
56 | |||
57 | |||
diff --git a/drivers/staging/vt6656/iowpa.h b/drivers/staging/vt6656/iowpa.h index 5750b5b548e..da03edcbacb 100644 --- a/drivers/staging/vt6656/iowpa.h +++ b/drivers/staging/vt6656/iowpa.h | |||
@@ -153,6 +153,4 @@ struct viawget_scan_result { | |||
153 | 153 | ||
154 | /*--------------------- Export Functions --------------------------*/ | 154 | /*--------------------- Export Functions --------------------------*/ |
155 | 155 | ||
156 | 156 | #endif /* __IOWPA_H__ */ | |
157 | |||
158 | #endif //__IOWPA_H__ | ||
diff --git a/drivers/staging/vt6656/iwctl.c b/drivers/staging/vt6656/iwctl.c index b7c6a22fe32..fa40522d4a9 100644 --- a/drivers/staging/vt6656/iwctl.c +++ b/drivers/staging/vt6656/iwctl.c | |||
@@ -209,9 +209,9 @@ if(pDevice->byReAssocCount > 0) { //reject scan when re-associating! | |||
209 | 209 | ||
210 | spin_lock_irq(&pDevice->lock); | 210 | spin_lock_irq(&pDevice->lock); |
211 | 211 | ||
212 | #ifdef update_BssList | 212 | #ifdef update_BssList |
213 | BSSvClearBSSList((HANDLE)pDevice, pDevice->bLinkPass); | 213 | BSSvClearBSSList((void *) pDevice, pDevice->bLinkPass); |
214 | #endif | 214 | #endif |
215 | 215 | ||
216 | //mike add: active scan OR passive scan OR desire_ssid scan | 216 | //mike add: active scan OR passive scan OR desire_ssid scan |
217 | if(wrq->length == sizeof(struct iw_scan_req)) { | 217 | if(wrq->length == sizeof(struct iw_scan_req)) { |
@@ -229,7 +229,7 @@ if(pDevice->byReAssocCount > 0) { //reject scan when re-associating! | |||
229 | pMgmt->eScanType = WMAC_SCAN_PASSIVE; | 229 | pMgmt->eScanType = WMAC_SCAN_PASSIVE; |
230 | PRINT_K("SIOCSIWSCAN:[desired_ssid=%s,len=%d]\n",((PWLAN_IE_SSID)abyScanSSID)->abySSID, | 230 | PRINT_K("SIOCSIWSCAN:[desired_ssid=%s,len=%d]\n",((PWLAN_IE_SSID)abyScanSSID)->abySSID, |
231 | ((PWLAN_IE_SSID)abyScanSSID)->len); | 231 | ((PWLAN_IE_SSID)abyScanSSID)->len); |
232 | bScheduleCommand((HANDLE) pDevice, WLAN_CMD_BSSID_SCAN, abyScanSSID); | 232 | bScheduleCommand((void *) pDevice, WLAN_CMD_BSSID_SCAN, abyScanSSID); |
233 | spin_unlock_irq(&pDevice->lock); | 233 | spin_unlock_irq(&pDevice->lock); |
234 | 234 | ||
235 | return 0; | 235 | return 0; |
@@ -244,7 +244,7 @@ if(pDevice->byReAssocCount > 0) { //reject scan when re-associating! | |||
244 | 244 | ||
245 | pMgmt->eScanType = WMAC_SCAN_PASSIVE; | 245 | pMgmt->eScanType = WMAC_SCAN_PASSIVE; |
246 | //printk("SIOCSIWSCAN:WLAN_CMD_BSSID_SCAN\n"); | 246 | //printk("SIOCSIWSCAN:WLAN_CMD_BSSID_SCAN\n"); |
247 | bScheduleCommand((HANDLE) pDevice, WLAN_CMD_BSSID_SCAN, NULL); | 247 | bScheduleCommand((void *) pDevice, WLAN_CMD_BSSID_SCAN, NULL); |
248 | spin_unlock_irq(&pDevice->lock); | 248 | spin_unlock_irq(&pDevice->lock); |
249 | 249 | ||
250 | return 0; | 250 | return 0; |
@@ -758,7 +758,6 @@ int iwctl_siwap(struct net_device *dev, | |||
758 | if (wrq->sa_family != ARPHRD_ETHER) | 758 | if (wrq->sa_family != ARPHRD_ETHER) |
759 | rc = -EINVAL; | 759 | rc = -EINVAL; |
760 | else { | 760 | else { |
761 | memset(pMgmt->abyDesireBSSID, 0xFF, 6); | ||
762 | memcpy(pMgmt->abyDesireBSSID, wrq->sa_data, 6); | 761 | memcpy(pMgmt->abyDesireBSSID, wrq->sa_data, 6); |
763 | 762 | ||
764 | //mike :add | 763 | //mike :add |
@@ -770,7 +769,7 @@ int iwctl_siwap(struct net_device *dev, | |||
770 | //mike add: if desired AP is hidden ssid(there are two same BSSID in list), | 769 | //mike add: if desired AP is hidden ssid(there are two same BSSID in list), |
771 | // then ignore,because you don't known which one to be connect with?? | 770 | // then ignore,because you don't known which one to be connect with?? |
772 | { | 771 | { |
773 | UINT ii , uSameBssidNum=0; | 772 | unsigned int ii, uSameBssidNum = 0; |
774 | for (ii = 0; ii < MAX_BSS_NUM; ii++) { | 773 | for (ii = 0; ii < MAX_BSS_NUM; ii++) { |
775 | if (pMgmt->sBSSList[ii].bActive && | 774 | if (pMgmt->sBSSList[ii].bActive && |
776 | IS_ETH_ADDRESS_EQUAL(pMgmt->sBSSList[ii].abyBSSID,pMgmt->abyDesireBSSID)) { | 775 | IS_ETH_ADDRESS_EQUAL(pMgmt->sBSSList[ii].abyBSSID,pMgmt->abyDesireBSSID)) { |
@@ -934,9 +933,8 @@ int iwctl_siwessid(struct net_device *dev, | |||
934 | { | 933 | { |
935 | PKnownBSS pCurr = NULL; | 934 | PKnownBSS pCurr = NULL; |
936 | BYTE abyTmpDesireSSID[WLAN_IEHDR_LEN + WLAN_SSID_MAXLEN + 1]; | 935 | BYTE abyTmpDesireSSID[WLAN_IEHDR_LEN + WLAN_SSID_MAXLEN + 1]; |
937 | UINT ii , uSameBssidNum=0; | 936 | unsigned int ii, uSameBssidNum = 0; |
938 | 937 | ||
939 | memset(abyTmpDesireSSID,0,sizeof(abyTmpDesireSSID)); | ||
940 | memcpy(abyTmpDesireSSID,pMgmt->abyDesireSSID,sizeof(abyTmpDesireSSID)); | 938 | memcpy(abyTmpDesireSSID,pMgmt->abyDesireSSID,sizeof(abyTmpDesireSSID)); |
941 | pCurr = BSSpSearchBSSList(pDevice, | 939 | pCurr = BSSpSearchBSSList(pDevice, |
942 | NULL, | 940 | NULL, |
@@ -946,10 +944,14 @@ int iwctl_siwessid(struct net_device *dev, | |||
946 | 944 | ||
947 | if (pCurr == NULL){ | 945 | if (pCurr == NULL){ |
948 | PRINT_K("SIOCSIWESSID:hidden ssid site survey before associate.......\n"); | 946 | PRINT_K("SIOCSIWESSID:hidden ssid site survey before associate.......\n"); |
949 | vResetCommandTimer((HANDLE) pDevice); | 947 | vResetCommandTimer((void *) pDevice); |
950 | pMgmt->eScanType = WMAC_SCAN_ACTIVE; | 948 | pMgmt->eScanType = WMAC_SCAN_ACTIVE; |
951 | bScheduleCommand((HANDLE) pDevice, WLAN_CMD_BSSID_SCAN, pMgmt->abyDesireSSID); | 949 | bScheduleCommand((void *) pDevice, |
952 | bScheduleCommand((HANDLE) pDevice, WLAN_CMD_SSID, pMgmt->abyDesireSSID); | 950 | WLAN_CMD_BSSID_SCAN, |
951 | pMgmt->abyDesireSSID); | ||
952 | bScheduleCommand((void *) pDevice, | ||
953 | WLAN_CMD_SSID, | ||
954 | pMgmt->abyDesireSSID); | ||
953 | } | 955 | } |
954 | else { //mike:to find out if that desired SSID is a hidden-ssid AP , | 956 | else { //mike:to find out if that desired SSID is a hidden-ssid AP , |
955 | // by means of judging if there are two same BSSID exist in list ? | 957 | // by means of judging if there are two same BSSID exist in list ? |
@@ -961,10 +963,14 @@ int iwctl_siwessid(struct net_device *dev, | |||
961 | } | 963 | } |
962 | if(uSameBssidNum >= 2) { //hit: desired AP is in hidden ssid mode!!! | 964 | if(uSameBssidNum >= 2) { //hit: desired AP is in hidden ssid mode!!! |
963 | PRINT_K("SIOCSIWESSID:hidden ssid directly associate.......\n"); | 965 | PRINT_K("SIOCSIWESSID:hidden ssid directly associate.......\n"); |
964 | vResetCommandTimer((HANDLE) pDevice); | 966 | vResetCommandTimer((void *) pDevice); |
965 | pMgmt->eScanType = WMAC_SCAN_PASSIVE; //this scan type,you'll submit scan result! | 967 | pMgmt->eScanType = WMAC_SCAN_PASSIVE; //this scan type,you'll submit scan result! |
966 | bScheduleCommand((HANDLE) pDevice, WLAN_CMD_BSSID_SCAN, pMgmt->abyDesireSSID); | 968 | bScheduleCommand((void *) pDevice, |
967 | bScheduleCommand((HANDLE) pDevice, WLAN_CMD_SSID, pMgmt->abyDesireSSID); | 969 | WLAN_CMD_BSSID_SCAN, |
970 | pMgmt->abyDesireSSID); | ||
971 | bScheduleCommand((void *) pDevice, | ||
972 | WLAN_CMD_SSID, | ||
973 | pMgmt->abyDesireSSID); | ||
968 | } | 974 | } |
969 | } | 975 | } |
970 | } | 976 | } |
@@ -1434,7 +1440,7 @@ int iwctl_giwencode(struct net_device *dev, | |||
1434 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); | 1440 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); |
1435 | int rc = 0; | 1441 | int rc = 0; |
1436 | char abyKey[WLAN_WEP232_KEYLEN]; | 1442 | char abyKey[WLAN_WEP232_KEYLEN]; |
1437 | UINT index = (UINT)(wrq->flags & IW_ENCODE_INDEX); | 1443 | unsigned int index = (unsigned int)(wrq->flags & IW_ENCODE_INDEX); |
1438 | PSKeyItem pKey = NULL; | 1444 | PSKeyItem pKey = NULL; |
1439 | 1445 | ||
1440 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO " SIOCGIWENCODE\n"); | 1446 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO " SIOCGIWENCODE\n"); |
@@ -1480,7 +1486,7 @@ int iwctl_giwencode(struct net_device *dev, | |||
1480 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); | 1486 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); |
1481 | char abyKey[WLAN_WEP232_KEYLEN]; | 1487 | char abyKey[WLAN_WEP232_KEYLEN]; |
1482 | 1488 | ||
1483 | UINT index = (UINT)(wrq->flags & IW_ENCODE_INDEX); | 1489 | unsigned int index = (unsigned int)(wrq->flags & IW_ENCODE_INDEX); |
1484 | PSKeyItem pKey = NULL; | 1490 | PSKeyItem pKey = NULL; |
1485 | 1491 | ||
1486 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO " SIOCGIWENCODE\n"); | 1492 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO " SIOCGIWENCODE\n"); |
@@ -1556,11 +1562,11 @@ int iwctl_siwpower(struct net_device *dev, | |||
1556 | } | 1562 | } |
1557 | if ((wrq->flags & IW_POWER_TYPE) == IW_POWER_TIMEOUT) { | 1563 | if ((wrq->flags & IW_POWER_TYPE) == IW_POWER_TIMEOUT) { |
1558 | pDevice->ePSMode = WMAC_POWER_FAST; | 1564 | pDevice->ePSMode = WMAC_POWER_FAST; |
1559 | PSvEnablePowerSaving((HANDLE)pDevice, pMgmt->wListenInterval); | 1565 | PSvEnablePowerSaving((void *) pDevice, pMgmt->wListenInterval); |
1560 | 1566 | ||
1561 | } else if ((wrq->flags & IW_POWER_TYPE) == IW_POWER_PERIOD) { | 1567 | } else if ((wrq->flags & IW_POWER_TYPE) == IW_POWER_PERIOD) { |
1562 | pDevice->ePSMode = WMAC_POWER_FAST; | 1568 | pDevice->ePSMode = WMAC_POWER_FAST; |
1563 | PSvEnablePowerSaving((HANDLE)pDevice, pMgmt->wListenInterval); | 1569 | PSvEnablePowerSaving((void *) pDevice, pMgmt->wListenInterval); |
1564 | } | 1570 | } |
1565 | switch (wrq->flags & IW_POWER_MODE) { | 1571 | switch (wrq->flags & IW_POWER_MODE) { |
1566 | case IW_POWER_UNICAST_R: | 1572 | case IW_POWER_UNICAST_R: |
@@ -2009,12 +2015,16 @@ int iwctl_siwmlme(struct net_device *dev, | |||
2009 | case IW_MLME_DEAUTH: | 2015 | case IW_MLME_DEAUTH: |
2010 | //this command seems to be not complete,please test it --einsnliu | 2016 | //this command seems to be not complete,please test it --einsnliu |
2011 | //printk("iwctl_siwmlme--->send DEAUTH\n"); | 2017 | //printk("iwctl_siwmlme--->send DEAUTH\n"); |
2012 | //bScheduleCommand((HANDLE) pDevice, WLAN_CMD_DEAUTH, (PBYTE)&reason); | 2018 | /* bScheduleCommand((void *) pDevice, |
2019 | WLAN_CMD_DEAUTH, | ||
2020 | (PBYTE)&reason); */ | ||
2013 | //break; | 2021 | //break; |
2014 | case IW_MLME_DISASSOC: | 2022 | case IW_MLME_DISASSOC: |
2015 | if(pDevice->bLinkPass == TRUE){ | 2023 | if(pDevice->bLinkPass == TRUE){ |
2016 | PRINT_K("iwctl_siwmlme--->send DISASSOCIATE\n"); | 2024 | PRINT_K("iwctl_siwmlme--->send DISASSOCIATE\n"); |
2017 | bScheduleCommand((HANDLE)pDevice, WLAN_CMD_DISASSOCIATE, NULL); | 2025 | bScheduleCommand((void *) pDevice, |
2026 | WLAN_CMD_DISASSOCIATE, | ||
2027 | NULL); | ||
2018 | } | 2028 | } |
2019 | break; | 2029 | break; |
2020 | default: | 2030 | default: |
diff --git a/drivers/staging/vt6656/iwctl.h b/drivers/staging/vt6656/iwctl.h index 3096de0ba1b..df9a4cf3baa 100644 --- a/drivers/staging/vt6656/iwctl.h +++ b/drivers/staging/vt6656/iwctl.h | |||
@@ -223,7 +223,4 @@ int iwctl_siwmlme(struct net_device *dev, | |||
223 | extern const struct iw_handler_def iwctl_handler_def; | 223 | extern const struct iw_handler_def iwctl_handler_def; |
224 | extern const struct iw_priv_args iwctl_private_args; | 224 | extern const struct iw_priv_args iwctl_private_args; |
225 | 225 | ||
226 | #endif // __IWCTL_H__ | 226 | #endif /* __IWCTL_H__ */ |
227 | |||
228 | |||
229 | |||
diff --git a/drivers/staging/vt6656/key.c b/drivers/staging/vt6656/key.c index 13fc69a1a08..b0890c181e7 100644 --- a/drivers/staging/vt6656/key.c +++ b/drivers/staging/vt6656/key.c | |||
@@ -60,8 +60,8 @@ static int msglevel =MSG_LEVEL_INFO; | |||
60 | /*--------------------- Static Variables --------------------------*/ | 60 | /*--------------------- Static Variables --------------------------*/ |
61 | 61 | ||
62 | /*--------------------- Static Functions --------------------------*/ | 62 | /*--------------------- Static Functions --------------------------*/ |
63 | static VOID | 63 | static void s_vCheckKeyTableValid(void *pDeviceHandler, |
64 | s_vCheckKeyTableValid (PVOID pDeviceHandler, PSKeyManagement pTable) | 64 | PSKeyManagement pTable) |
65 | { | 65 | { |
66 | PSDevice pDevice = (PSDevice) pDeviceHandler; | 66 | PSDevice pDevice = (PSDevice) pDeviceHandler; |
67 | int i; | 67 | int i; |
@@ -112,7 +112,7 @@ s_vCheckKeyTableValid (PVOID pDeviceHandler, PSKeyManagement pTable) | |||
112 | * Return Value: none | 112 | * Return Value: none |
113 | * | 113 | * |
114 | */ | 114 | */ |
115 | VOID KeyvInitTable(PVOID pDeviceHandler, PSKeyManagement pTable) | 115 | void KeyvInitTable(void *pDeviceHandler, PSKeyManagement pTable) |
116 | { | 116 | { |
117 | PSDevice pDevice = (PSDevice) pDeviceHandler; | 117 | PSDevice pDevice = (PSDevice) pDeviceHandler; |
118 | int i; | 118 | int i; |
@@ -123,10 +123,12 @@ VOID KeyvInitTable(PVOID pDeviceHandler, PSKeyManagement pTable) | |||
123 | for (i=0;i<MAX_KEY_TABLE;i++) { | 123 | for (i=0;i<MAX_KEY_TABLE;i++) { |
124 | pTable->KeyTable[i].bInUse = FALSE; | 124 | pTable->KeyTable[i].bInUse = FALSE; |
125 | pTable->KeyTable[i].PairwiseKey.bKeyValid = FALSE; | 125 | pTable->KeyTable[i].PairwiseKey.bKeyValid = FALSE; |
126 | pTable->KeyTable[i].PairwiseKey.pvKeyTable = (PVOID)&pTable->KeyTable[i]; | 126 | pTable->KeyTable[i].PairwiseKey.pvKeyTable = |
127 | (void *)&pTable->KeyTable[i]; | ||
127 | for (jj=0; jj < MAX_GROUP_KEY; jj++) { | 128 | for (jj=0; jj < MAX_GROUP_KEY; jj++) { |
128 | pTable->KeyTable[i].GroupKey[jj].bKeyValid = FALSE; | 129 | pTable->KeyTable[i].GroupKey[jj].bKeyValid = FALSE; |
129 | pTable->KeyTable[i].GroupKey[jj].pvKeyTable = (PVOID) &(pTable->KeyTable[i]); | 130 | pTable->KeyTable[i].GroupKey[jj].pvKeyTable = |
131 | (void *) &(pTable->KeyTable[i]); | ||
130 | } | 132 | } |
131 | pTable->KeyTable[i].wKeyCtl = 0; | 133 | pTable->KeyTable[i].wKeyCtl = 0; |
132 | pTable->KeyTable[i].dwGTKeyIndex = 0; | 134 | pTable->KeyTable[i].dwGTKeyIndex = 0; |
@@ -162,12 +164,8 @@ VOID KeyvInitTable(PVOID pDeviceHandler, PSKeyManagement pTable) | |||
162 | * Return Value: TRUE if found otherwise FALSE | 164 | * Return Value: TRUE if found otherwise FALSE |
163 | * | 165 | * |
164 | */ | 166 | */ |
165 | BOOL KeybGetKey ( | 167 | BOOL KeybGetKey(PSKeyManagement pTable, PBYTE pbyBSSID, DWORD dwKeyIndex, |
166 | IN PSKeyManagement pTable, | 168 | PSKeyItem *pKey) |
167 | IN PBYTE pbyBSSID, | ||
168 | IN DWORD dwKeyIndex, | ||
169 | OUT PSKeyItem *pKey | ||
170 | ) | ||
171 | { | 169 | { |
172 | int i; | 170 | int i; |
173 | 171 | ||
@@ -220,12 +218,12 @@ BOOL KeybGetKey ( | |||
220 | * Return Value: TRUE if success otherwise FALSE | 218 | * Return Value: TRUE if success otherwise FALSE |
221 | * | 219 | * |
222 | */ | 220 | */ |
223 | BOOL KeybSetKey ( | 221 | BOOL KeybSetKey( |
224 | PVOID pDeviceHandler, | 222 | void *pDeviceHandler, |
225 | PSKeyManagement pTable, | 223 | PSKeyManagement pTable, |
226 | PBYTE pbyBSSID, | 224 | PBYTE pbyBSSID, |
227 | DWORD dwKeyIndex, | 225 | DWORD dwKeyIndex, |
228 | ULONG uKeyLength, | 226 | unsigned long uKeyLength, |
229 | PQWORD pKeyRSC, | 227 | PQWORD pKeyRSC, |
230 | PBYTE pbyKey, | 228 | PBYTE pbyKey, |
231 | BYTE byKeyDecMode | 229 | BYTE byKeyDecMode |
@@ -233,9 +231,9 @@ BOOL KeybSetKey ( | |||
233 | { | 231 | { |
234 | PSDevice pDevice = (PSDevice) pDeviceHandler; | 232 | PSDevice pDevice = (PSDevice) pDeviceHandler; |
235 | int i,j; | 233 | int i,j; |
236 | UINT ii; | 234 | unsigned int ii; |
237 | PSKeyItem pKey; | 235 | PSKeyItem pKey; |
238 | UINT uKeyIdx; | 236 | unsigned int uKeyIdx; |
239 | 237 | ||
240 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"Enter KeybSetKey: %lX\n", dwKeyIndex); | 238 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"Enter KeybSetKey: %lX\n", dwKeyIndex); |
241 | 239 | ||
@@ -312,7 +310,7 @@ BOOL KeybSetKey ( | |||
312 | } | 310 | } |
313 | } | 311 | } |
314 | if (j < (MAX_KEY_TABLE-1)) { | 312 | if (j < (MAX_KEY_TABLE-1)) { |
315 | memcpy(pTable->KeyTable[j].abyBSSID,pbyBSSID,U_ETHER_ADDR_LEN); | 313 | memcpy(pTable->KeyTable[j].abyBSSID, pbyBSSID, ETH_ALEN); |
316 | pTable->KeyTable[j].bInUse = TRUE; | 314 | pTable->KeyTable[j].bInUse = TRUE; |
317 | if ((dwKeyIndex & PAIRWISE_KEY) != 0) { | 315 | if ((dwKeyIndex & PAIRWISE_KEY) != 0) { |
318 | // Pairwise key | 316 | // Pairwise key |
@@ -393,8 +391,8 @@ BOOL KeybSetKey ( | |||
393 | * Return Value: TRUE if success otherwise FALSE | 391 | * Return Value: TRUE if success otherwise FALSE |
394 | * | 392 | * |
395 | */ | 393 | */ |
396 | BOOL KeybRemoveKey ( | 394 | BOOL KeybRemoveKey( |
397 | PVOID pDeviceHandler, | 395 | void *pDeviceHandler, |
398 | PSKeyManagement pTable, | 396 | PSKeyManagement pTable, |
399 | PBYTE pbyBSSID, | 397 | PBYTE pbyBSSID, |
400 | DWORD dwKeyIndex | 398 | DWORD dwKeyIndex |
@@ -474,8 +472,8 @@ BOOL KeybRemoveKey ( | |||
474 | * Return Value: TRUE if success otherwise FALSE | 472 | * Return Value: TRUE if success otherwise FALSE |
475 | * | 473 | * |
476 | */ | 474 | */ |
477 | BOOL KeybRemoveAllKey ( | 475 | BOOL KeybRemoveAllKey( |
478 | PVOID pDeviceHandler, | 476 | void *pDeviceHandler, |
479 | PSKeyManagement pTable, | 477 | PSKeyManagement pTable, |
480 | PBYTE pbyBSSID | 478 | PBYTE pbyBSSID |
481 | ) | 479 | ) |
@@ -510,8 +508,8 @@ BOOL KeybRemoveAllKey ( | |||
510 | * Return Value: TRUE if success otherwise FALSE | 508 | * Return Value: TRUE if success otherwise FALSE |
511 | * | 509 | * |
512 | */ | 510 | */ |
513 | VOID KeyvRemoveWEPKey ( | 511 | void KeyvRemoveWEPKey( |
514 | PVOID pDeviceHandler, | 512 | void *pDeviceHandler, |
515 | PSKeyManagement pTable, | 513 | PSKeyManagement pTable, |
516 | DWORD dwKeyIndex | 514 | DWORD dwKeyIndex |
517 | ) | 515 | ) |
@@ -533,8 +531,8 @@ VOID KeyvRemoveWEPKey ( | |||
533 | return; | 531 | return; |
534 | } | 532 | } |
535 | 533 | ||
536 | VOID KeyvRemoveAllWEPKey ( | 534 | void KeyvRemoveAllWEPKey( |
537 | PVOID pDeviceHandler, | 535 | void *pDeviceHandler, |
538 | PSKeyManagement pTable | 536 | PSKeyManagement pTable |
539 | ) | 537 | ) |
540 | { | 538 | { |
@@ -561,12 +559,8 @@ VOID KeyvRemoveAllWEPKey ( | |||
561 | * Return Value: TRUE if found otherwise FALSE | 559 | * Return Value: TRUE if found otherwise FALSE |
562 | * | 560 | * |
563 | */ | 561 | */ |
564 | BOOL KeybGetTransmitKey ( | 562 | BOOL KeybGetTransmitKey(PSKeyManagement pTable, PBYTE pbyBSSID, DWORD dwKeyType, |
565 | IN PSKeyManagement pTable, | 563 | PSKeyItem *pKey) |
566 | IN PBYTE pbyBSSID, | ||
567 | IN DWORD dwKeyType, | ||
568 | OUT PSKeyItem *pKey | ||
569 | ) | ||
570 | { | 564 | { |
571 | int i, ii; | 565 | int i, ii; |
572 | 566 | ||
@@ -641,10 +635,7 @@ BOOL KeybGetTransmitKey ( | |||
641 | * Return Value: TRUE if found otherwise FALSE | 635 | * Return Value: TRUE if found otherwise FALSE |
642 | * | 636 | * |
643 | */ | 637 | */ |
644 | BOOL KeybCheckPairewiseKey ( | 638 | BOOL KeybCheckPairewiseKey(PSKeyManagement pTable, PSKeyItem *pKey) |
645 | IN PSKeyManagement pTable, | ||
646 | OUT PSKeyItem *pKey | ||
647 | ) | ||
648 | { | 639 | { |
649 | int i; | 640 | int i; |
650 | 641 | ||
@@ -675,23 +666,23 @@ BOOL KeybCheckPairewiseKey ( | |||
675 | * Return Value: TRUE if success otherwise FALSE | 666 | * Return Value: TRUE if success otherwise FALSE |
676 | * | 667 | * |
677 | */ | 668 | */ |
678 | BOOL KeybSetDefaultKey ( | 669 | BOOL KeybSetDefaultKey( |
679 | PVOID pDeviceHandler, | 670 | void *pDeviceHandler, |
680 | PSKeyManagement pTable, | 671 | PSKeyManagement pTable, |
681 | DWORD dwKeyIndex, | 672 | DWORD dwKeyIndex, |
682 | ULONG uKeyLength, | 673 | unsigned long uKeyLength, |
683 | PQWORD pKeyRSC, | 674 | PQWORD pKeyRSC, |
684 | PBYTE pbyKey, | 675 | PBYTE pbyKey, |
685 | BYTE byKeyDecMode | 676 | BYTE byKeyDecMode |
686 | ) | 677 | ) |
687 | { | 678 | { |
688 | PSDevice pDevice = (PSDevice) pDeviceHandler; | 679 | PSDevice pDevice = (PSDevice) pDeviceHandler; |
689 | UINT ii; | 680 | unsigned int ii; |
690 | PSKeyItem pKey; | 681 | PSKeyItem pKey; |
691 | UINT uKeyIdx; | 682 | unsigned int uKeyIdx; |
692 | |||
693 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"Enter KeybSetDefaultKey: %1x, %d \n", (int)dwKeyIndex, (int)uKeyLength); | ||
694 | 683 | ||
684 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "Enter KeybSetDefaultKey: %1x, %d\n", | ||
685 | (int) dwKeyIndex, (int) uKeyLength); | ||
695 | 686 | ||
696 | if ((dwKeyIndex & PAIRWISE_KEY) != 0) { // Pairwise key | 687 | if ((dwKeyIndex & PAIRWISE_KEY) != 0) { // Pairwise key |
697 | return (FALSE); | 688 | return (FALSE); |
@@ -700,7 +691,7 @@ BOOL KeybSetDefaultKey ( | |||
700 | } | 691 | } |
701 | 692 | ||
702 | pTable->KeyTable[MAX_KEY_TABLE-1].bInUse = TRUE; | 693 | pTable->KeyTable[MAX_KEY_TABLE-1].bInUse = TRUE; |
703 | for(ii=0;ii<U_ETHER_ADDR_LEN;ii++) | 694 | for (ii = 0; ii < ETH_ALEN; ii++) |
704 | pTable->KeyTable[MAX_KEY_TABLE-1].abyBSSID[ii] = 0xFF; | 695 | pTable->KeyTable[MAX_KEY_TABLE-1].abyBSSID[ii] = 0xFF; |
705 | 696 | ||
706 | // Group key | 697 | // Group key |
@@ -783,11 +774,11 @@ BOOL KeybSetDefaultKey ( | |||
783 | * Return Value: TRUE if success otherwise FALSE | 774 | * Return Value: TRUE if success otherwise FALSE |
784 | * | 775 | * |
785 | */ | 776 | */ |
786 | BOOL KeybSetAllGroupKey ( | 777 | BOOL KeybSetAllGroupKey( |
787 | PVOID pDeviceHandler, | 778 | void *pDeviceHandler, |
788 | PSKeyManagement pTable, | 779 | PSKeyManagement pTable, |
789 | DWORD dwKeyIndex, | 780 | DWORD dwKeyIndex, |
790 | ULONG uKeyLength, | 781 | unsigned long uKeyLength, |
791 | PQWORD pKeyRSC, | 782 | PQWORD pKeyRSC, |
792 | PBYTE pbyKey, | 783 | PBYTE pbyKey, |
793 | BYTE byKeyDecMode | 784 | BYTE byKeyDecMode |
@@ -795,9 +786,9 @@ BOOL KeybSetAllGroupKey ( | |||
795 | { | 786 | { |
796 | PSDevice pDevice = (PSDevice) pDeviceHandler; | 787 | PSDevice pDevice = (PSDevice) pDeviceHandler; |
797 | int i; | 788 | int i; |
798 | UINT ii; | 789 | unsigned int ii; |
799 | PSKeyItem pKey; | 790 | PSKeyItem pKey; |
800 | UINT uKeyIdx; | 791 | unsigned int uKeyIdx; |
801 | 792 | ||
802 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"Enter KeybSetAllGroupKey: %lX\n", dwKeyIndex); | 793 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"Enter KeybSetAllGroupKey: %lX\n", dwKeyIndex); |
803 | 794 | ||
diff --git a/drivers/staging/vt6656/key.h b/drivers/staging/vt6656/key.h index b15a64cb386..f749c7a027d 100644 --- a/drivers/staging/vt6656/key.h +++ b/drivers/staging/vt6656/key.h | |||
@@ -58,7 +58,7 @@ | |||
58 | typedef struct tagSKeyItem | 58 | typedef struct tagSKeyItem |
59 | { | 59 | { |
60 | BOOL bKeyValid; | 60 | BOOL bKeyValid; |
61 | ULONG uKeyLength; | 61 | unsigned long uKeyLength; |
62 | BYTE abyKey[MAX_KEY_LEN]; | 62 | BYTE abyKey[MAX_KEY_LEN]; |
63 | QWORD KeyRSC; | 63 | QWORD KeyRSC; |
64 | DWORD dwTSC47_16; | 64 | DWORD dwTSC47_16; |
@@ -66,12 +66,12 @@ typedef struct tagSKeyItem | |||
66 | BYTE byCipherSuite; | 66 | BYTE byCipherSuite; |
67 | BYTE byReserved0; | 67 | BYTE byReserved0; |
68 | DWORD dwKeyIndex; | 68 | DWORD dwKeyIndex; |
69 | PVOID pvKeyTable; | 69 | void *pvKeyTable; |
70 | } SKeyItem, *PSKeyItem; //64 | 70 | } SKeyItem, *PSKeyItem; //64 |
71 | 71 | ||
72 | typedef struct tagSKeyTable | 72 | typedef struct tagSKeyTable |
73 | { | 73 | { |
74 | BYTE abyBSSID[U_ETHER_ADDR_LEN]; //6 | 74 | BYTE abyBSSID[ETH_ALEN]; /* 6 */ |
75 | BYTE byReserved0[2]; //8 | 75 | BYTE byReserved0[2]; //8 |
76 | SKeyItem PairwiseKey; | 76 | SKeyItem PairwiseKey; |
77 | SKeyItem GroupKey[MAX_GROUP_KEY]; //64*5 = 320, 320+8=328 | 77 | SKeyItem GroupKey[MAX_GROUP_KEY]; //64*5 = 320, 320+8=328 |
@@ -97,81 +97,69 @@ typedef struct tagSKeyManagement | |||
97 | 97 | ||
98 | /*--------------------- Export Functions --------------------------*/ | 98 | /*--------------------- Export Functions --------------------------*/ |
99 | 99 | ||
100 | VOID KeyvInitTable(PVOID pDeviceHandler, PSKeyManagement pTable); | 100 | void KeyvInitTable(void *pDeviceHandler, PSKeyManagement pTable); |
101 | 101 | ||
102 | BOOL KeybGetKey( | 102 | BOOL KeybGetKey(PSKeyManagement pTable, PBYTE pbyBSSID, DWORD dwKeyIndex, |
103 | IN PSKeyManagement pTable, | 103 | PSKeyItem *pKey); |
104 | IN PBYTE pbyBSSID, | ||
105 | IN DWORD dwKeyIndex, | ||
106 | OUT PSKeyItem *pKey | ||
107 | ); | ||
108 | 104 | ||
109 | BOOL KeybSetKey( | 105 | BOOL KeybSetKey( |
110 | PVOID pDeviceHandler, | 106 | void *pDeviceHandler, |
111 | PSKeyManagement pTable, | 107 | PSKeyManagement pTable, |
112 | PBYTE pbyBSSID, | 108 | PBYTE pbyBSSID, |
113 | DWORD dwKeyIndex, | 109 | DWORD dwKeyIndex, |
114 | ULONG uKeyLength, | 110 | unsigned long uKeyLength, |
115 | PQWORD pKeyRSC, | 111 | PQWORD pKeyRSC, |
116 | PBYTE pbyKey, | 112 | PBYTE pbyKey, |
117 | BYTE byKeyDecMode | 113 | BYTE byKeyDecMode |
118 | ); | 114 | ); |
119 | 115 | ||
120 | BOOL KeybRemoveKey( | 116 | BOOL KeybRemoveKey( |
121 | PVOID pDeviceHandler, | 117 | void *pDeviceHandler, |
122 | PSKeyManagement pTable, | 118 | PSKeyManagement pTable, |
123 | PBYTE pbyBSSID, | 119 | PBYTE pbyBSSID, |
124 | DWORD dwKeyIndex | 120 | DWORD dwKeyIndex |
125 | ); | 121 | ); |
126 | 122 | ||
127 | BOOL KeybRemoveAllKey ( | 123 | BOOL KeybRemoveAllKey( |
128 | PVOID pDeviceHandler, | 124 | void *pDeviceHandler, |
129 | PSKeyManagement pTable, | 125 | PSKeyManagement pTable, |
130 | PBYTE pbyBSSID | 126 | PBYTE pbyBSSID |
131 | ); | 127 | ); |
132 | 128 | ||
133 | VOID KeyvRemoveWEPKey( | 129 | void KeyvRemoveWEPKey( |
134 | PVOID pDeviceHandler, | 130 | void *pDeviceHandler, |
135 | PSKeyManagement pTable, | 131 | PSKeyManagement pTable, |
136 | DWORD dwKeyIndex | 132 | DWORD dwKeyIndex |
137 | ); | 133 | ); |
138 | 134 | ||
139 | VOID KeyvRemoveAllWEPKey( | 135 | void KeyvRemoveAllWEPKey( |
140 | PVOID pDeviceHandler, | 136 | void *pDeviceHandler, |
141 | PSKeyManagement pTable | 137 | PSKeyManagement pTable |
142 | ); | 138 | ); |
143 | 139 | ||
144 | BOOL KeybGetTransmitKey( | 140 | BOOL KeybGetTransmitKey(PSKeyManagement pTable, PBYTE pbyBSSID, DWORD dwKeyType, |
145 | IN PSKeyManagement pTable, | 141 | PSKeyItem *pKey); |
146 | IN PBYTE pbyBSSID, | ||
147 | IN DWORD dwKeyType, | ||
148 | OUT PSKeyItem *pKey | ||
149 | ); | ||
150 | 142 | ||
151 | BOOL KeybCheckPairewiseKey( | 143 | BOOL KeybCheckPairewiseKey(PSKeyManagement pTable, PSKeyItem *pKey); |
152 | IN PSKeyManagement pTable, | ||
153 | OUT PSKeyItem *pKey | ||
154 | ); | ||
155 | 144 | ||
156 | BOOL KeybSetDefaultKey ( | 145 | BOOL KeybSetDefaultKey( |
157 | PVOID pDeviceHandler, | 146 | void *pDeviceHandler, |
158 | PSKeyManagement pTable, | 147 | PSKeyManagement pTable, |
159 | DWORD dwKeyIndex, | 148 | DWORD dwKeyIndex, |
160 | ULONG uKeyLength, | 149 | unsigned long uKeyLength, |
161 | PQWORD pKeyRSC, | 150 | PQWORD pKeyRSC, |
162 | PBYTE pbyKey, | 151 | PBYTE pbyKey, |
163 | BYTE byKeyDecMode | 152 | BYTE byKeyDecMode |
164 | ); | 153 | ); |
165 | 154 | ||
166 | BOOL KeybSetAllGroupKey ( | 155 | BOOL KeybSetAllGroupKey( |
167 | PVOID pDeviceHandler, | 156 | void *pDeviceHandler, |
168 | PSKeyManagement pTable, | 157 | PSKeyManagement pTable, |
169 | DWORD dwKeyIndex, | 158 | DWORD dwKeyIndex, |
170 | ULONG uKeyLength, | 159 | unsigned long uKeyLength, |
171 | PQWORD pKeyRSC, | 160 | PQWORD pKeyRSC, |
172 | PBYTE pbyKey, | 161 | PBYTE pbyKey, |
173 | BYTE byKeyDecMode | 162 | BYTE byKeyDecMode |
174 | ); | 163 | ); |
175 | 164 | ||
176 | #endif // __KEY_H__ | 165 | #endif /* __KEY_H__ */ |
177 | |||
diff --git a/drivers/staging/vt6656/mac.c b/drivers/staging/vt6656/mac.c index 55a798668fa..0ab3db025f3 100644 --- a/drivers/staging/vt6656/mac.c +++ b/drivers/staging/vt6656/mac.c | |||
@@ -70,7 +70,7 @@ static int msglevel =MSG_LEVEL_INFO; | |||
70 | */ | 70 | */ |
71 | void MACvSetMultiAddrByHash (PSDevice pDevice, BYTE byHashIdx) | 71 | void MACvSetMultiAddrByHash (PSDevice pDevice, BYTE byHashIdx) |
72 | { | 72 | { |
73 | UINT uByteIdx; | 73 | unsigned int uByteIdx; |
74 | BYTE byBitMask; | 74 | BYTE byBitMask; |
75 | BYTE pbyData[2]; | 75 | BYTE pbyData[2]; |
76 | 76 | ||
@@ -110,7 +110,7 @@ void MACvSetMultiAddrByHash (PSDevice pDevice, BYTE byHashIdx) | |||
110 | * Return Value: none | 110 | * Return Value: none |
111 | * | 111 | * |
112 | */ | 112 | */ |
113 | VOID MACvWriteMultiAddr (PSDevice pDevice, UINT uByteIdx, BYTE byData) | 113 | void MACvWriteMultiAddr(PSDevice pDevice, unsigned int uByteIdx, BYTE byData) |
114 | { | 114 | { |
115 | BYTE byData1; | 115 | BYTE byData1; |
116 | 116 | ||
@@ -199,7 +199,7 @@ BYTE pbyData[4]; | |||
199 | * Return Value: none | 199 | * Return Value: none |
200 | * | 200 | * |
201 | */ | 201 | */ |
202 | void MACvDisableKeyEntry (PSDevice pDevice, UINT uEntryIdx) | 202 | void MACvDisableKeyEntry(PSDevice pDevice, unsigned int uEntryIdx) |
203 | { | 203 | { |
204 | WORD wOffset; | 204 | WORD wOffset; |
205 | BYTE byData; | 205 | BYTE byData; |
@@ -239,7 +239,9 @@ BYTE byData; | |||
239 | * Return Value: none | 239 | * Return Value: none |
240 | * | 240 | * |
241 | */ | 241 | */ |
242 | void MACvSetKeyEntry (PSDevice pDevice, WORD wKeyCtl, UINT uEntryIdx, UINT uKeyIdx, PBYTE pbyAddr, PDWORD pdwKey) | 242 | void MACvSetKeyEntry(PSDevice pDevice, WORD wKeyCtl, |
243 | unsigned int uEntryIdx, unsigned int uKeyIdx, | ||
244 | PBYTE pbyAddr, PDWORD pdwKey) | ||
243 | { | 245 | { |
244 | PBYTE pbyKey; | 246 | PBYTE pbyKey; |
245 | WORD wOffset; | 247 | WORD wOffset; |
@@ -247,10 +249,6 @@ DWORD dwData1,dwData2; | |||
247 | int ii; | 249 | int ii; |
248 | BYTE pbyData[24]; | 250 | BYTE pbyData[24]; |
249 | 251 | ||
250 | |||
251 | |||
252 | |||
253 | |||
254 | if ( pDevice->byLocalID <= MAC_REVISION_A1 ) { | 252 | if ( pDevice->byLocalID <= MAC_REVISION_A1 ) { |
255 | if ( pDevice->sMgmtObj.byCSSPK == KEY_CTL_CCMP ) | 253 | if ( pDevice->sMgmtObj.byCSSPK == KEY_CTL_CCMP ) |
256 | return; | 254 | return; |
diff --git a/drivers/staging/vt6656/mac.h b/drivers/staging/vt6656/mac.h index fe99e3df2a5..775c70928ec 100644 --- a/drivers/staging/vt6656/mac.h +++ b/drivers/staging/vt6656/mac.h | |||
@@ -421,12 +421,13 @@ | |||
421 | /*--------------------- Export Functions --------------------------*/ | 421 | /*--------------------- Export Functions --------------------------*/ |
422 | 422 | ||
423 | void MACvSetMultiAddrByHash (PSDevice pDevice, BYTE byHashIdx); | 423 | void MACvSetMultiAddrByHash (PSDevice pDevice, BYTE byHashIdx); |
424 | VOID MACvWriteMultiAddr (PSDevice pDevice, UINT uByteIdx, BYTE byData); | 424 | void MACvWriteMultiAddr(PSDevice pDevice, unsigned int uByteIdx, BYTE byData); |
425 | BOOL MACbShutdown(PSDevice pDevice);; | 425 | BOOL MACbShutdown(PSDevice pDevice);; |
426 | void MACvSetBBType(PSDevice pDevice,BYTE byType); | 426 | void MACvSetBBType(PSDevice pDevice,BYTE byType); |
427 | void MACvSetMISCFifo (PSDevice pDevice, WORD wOffset, DWORD dwData); | 427 | void MACvSetMISCFifo (PSDevice pDevice, WORD wOffset, DWORD dwData); |
428 | void MACvDisableKeyEntry(PSDevice pDevice, UINT uEntryIdx); | 428 | void MACvDisableKeyEntry(PSDevice pDevice, unsigned int uEntryIdx); |
429 | void MACvSetKeyEntry(PSDevice pDevice, WORD wKeyCtl, UINT uEntryIdx, UINT uKeyIdx, PBYTE pbyAddr, PDWORD pdwKey); | 429 | void MACvSetKeyEntry(PSDevice pDevice, WORD wKeyCtl, unsigned int uEntryIdx, |
430 | unsigned int uKeyIdx, PBYTE pbyAddr, PDWORD pdwKey); | ||
430 | 431 | ||
431 | void MACvRegBitsOff(PSDevice pDevice, BYTE byRegOfs, BYTE byBits); | 432 | void MACvRegBitsOff(PSDevice pDevice, BYTE byRegOfs, BYTE byBits); |
432 | void MACvRegBitsOn(PSDevice pDevice, BYTE byRegOfs, BYTE byBits); | 433 | void MACvRegBitsOn(PSDevice pDevice, BYTE byRegOfs, BYTE byBits); |
@@ -439,4 +440,4 @@ void MACvEnableBarkerPreambleMd(PSDevice pDevice); | |||
439 | void MACvDisableBarkerPreambleMd(PSDevice pDevice); | 440 | void MACvDisableBarkerPreambleMd(PSDevice pDevice); |
440 | void MACvWriteBeaconInterval(PSDevice pDevice, WORD wInterval); | 441 | void MACvWriteBeaconInterval(PSDevice pDevice, WORD wInterval); |
441 | 442 | ||
442 | #endif // __MAC_H__ | 443 | #endif /* __MAC_H__ */ |
diff --git a/drivers/staging/vt6656/main_usb.c b/drivers/staging/vt6656/main_usb.c index 49270db98fb..098b0455e32 100644 --- a/drivers/staging/vt6656/main_usb.c +++ b/drivers/staging/vt6656/main_usb.c | |||
@@ -26,7 +26,7 @@ | |||
26 | * | 26 | * |
27 | * Functions: | 27 | * Functions: |
28 | * | 28 | * |
29 | * vntwusb_found1 - module initial (insmod) driver entry | 29 | * vt6656_probe - module initial (insmod) driver entry |
30 | * device_remove1 - module remove entry | 30 | * device_remove1 - module remove entry |
31 | * device_open - allocate dma/descripter resource & initial mac/bbp function | 31 | * device_open - allocate dma/descripter resource & initial mac/bbp function |
32 | * device_xmit - asynchrous data tx function | 32 | * device_xmit - asynchrous data tx function |
@@ -222,15 +222,11 @@ DEVICE_PARAM(b80211hEnable, "802.11h mode"); | |||
222 | // Static vars definitions | 222 | // Static vars definitions |
223 | // | 223 | // |
224 | 224 | ||
225 | 225 | static struct usb_device_id vt6656_table[] __devinitdata = { | |
226 | |||
227 | static struct usb_device_id vntwusb_table[] = { | ||
228 | {USB_DEVICE(VNT_USB_VENDOR_ID, VNT_USB_PRODUCT_ID)}, | 226 | {USB_DEVICE(VNT_USB_VENDOR_ID, VNT_USB_PRODUCT_ID)}, |
229 | {} | 227 | {} |
230 | }; | 228 | }; |
231 | 229 | ||
232 | |||
233 | |||
234 | // Frequency list (map channels to frequencies) | 230 | // Frequency list (map channels to frequencies) |
235 | /* | 231 | /* |
236 | static const long frequency_list[] = { | 232 | static const long frequency_list[] = { |
@@ -250,15 +246,17 @@ static const long frequency_list[] = { | |||
250 | static const struct iw_handler_def iwctl_handler_def; | 246 | static const struct iw_handler_def iwctl_handler_def; |
251 | */ | 247 | */ |
252 | 248 | ||
249 | /*--------------------- Static Functions --------------------------*/ | ||
253 | 250 | ||
251 | static int vt6656_probe(struct usb_interface *intf, | ||
252 | const struct usb_device_id *id); | ||
253 | static void vt6656_disconnect(struct usb_interface *intf); | ||
254 | 254 | ||
255 | /*--------------------- Static Functions --------------------------*/ | ||
256 | static int vntwusb_found1(struct usb_interface *intf, const struct usb_device_id *id); | ||
257 | static void vntwusb_disconnect(struct usb_interface *intf); | ||
258 | #ifdef CONFIG_PM /* Minimal support for suspend and resume */ | 255 | #ifdef CONFIG_PM /* Minimal support for suspend and resume */ |
259 | static int vntwusb_suspend(struct usb_interface *intf, pm_message_t message); | 256 | static int vt6656_suspend(struct usb_interface *intf, pm_message_t message); |
260 | static int vntwusb_resume(struct usb_interface *intf); | 257 | static int vt6656_resume(struct usb_interface *intf); |
261 | #endif | 258 | #endif /* CONFIG_PM */ |
259 | |||
262 | static struct net_device_stats *device_get_stats(struct net_device *dev); | 260 | static struct net_device_stats *device_get_stats(struct net_device *dev); |
263 | static int device_open(struct net_device *dev); | 261 | static int device_open(struct net_device *dev); |
264 | static int device_xmit(struct sk_buff *skb, struct net_device *dev); | 262 | static int device_xmit(struct sk_buff *skb, struct net_device *dev); |
@@ -279,8 +277,10 @@ static void device_free_frag_bufs(PSDevice pDevice); | |||
279 | static BOOL device_alloc_bufs(PSDevice pDevice); | 277 | static BOOL device_alloc_bufs(PSDevice pDevice); |
280 | 278 | ||
281 | static int Read_config_file(PSDevice pDevice); | 279 | static int Read_config_file(PSDevice pDevice); |
282 | static UCHAR *Config_FileOperation(PSDevice pDevice); | 280 | static unsigned char *Config_FileOperation(PSDevice pDevice); |
283 | static int Config_FileGetParameter(UCHAR *string, UCHAR *dest,UCHAR *source); | 281 | static int Config_FileGetParameter(unsigned char *string, |
282 | unsigned char *dest, | ||
283 | unsigned char *source); | ||
284 | 284 | ||
285 | //2008-0714<Add>by Mike Liu | 285 | //2008-0714<Add>by Mike Liu |
286 | static BOOL device_release_WPADEV(PSDevice pDevice); | 286 | static BOOL device_release_WPADEV(PSDevice pDevice); |
@@ -297,14 +297,13 @@ static void usb_device_reset(PSDevice pDevice); | |||
297 | static void | 297 | static void |
298 | device_set_options(PSDevice pDevice) { | 298 | device_set_options(PSDevice pDevice) { |
299 | 299 | ||
300 | BYTE abyBroadcastAddr[U_ETHER_ADDR_LEN] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff}; | 300 | BYTE abyBroadcastAddr[ETH_ALEN] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff}; |
301 | BYTE abySNAP_RFC1042[U_ETHER_ADDR_LEN] = {0xAA, 0xAA, 0x03, 0x00, 0x00, 0x00}; | 301 | BYTE abySNAP_RFC1042[ETH_ALEN] = {0xAA, 0xAA, 0x03, 0x00, 0x00, 0x00}; |
302 | BYTE abySNAP_Bridgetunnel[U_ETHER_ADDR_LEN] = {0xAA, 0xAA, 0x03, 0x00, 0x00, 0xF8}; | 302 | u8 abySNAP_Bridgetunnel[ETH_ALEN] = {0xAA, 0xAA, 0x03, 0x00, 0x00, 0xF8}; |
303 | |||
304 | 303 | ||
305 | memcpy(pDevice->abyBroadcastAddr, abyBroadcastAddr, U_ETHER_ADDR_LEN); | 304 | memcpy(pDevice->abyBroadcastAddr, abyBroadcastAddr, ETH_ALEN); |
306 | memcpy(pDevice->abySNAP_RFC1042, abySNAP_RFC1042, U_ETHER_ADDR_LEN); | 305 | memcpy(pDevice->abySNAP_RFC1042, abySNAP_RFC1042, ETH_ALEN); |
307 | memcpy(pDevice->abySNAP_Bridgetunnel, abySNAP_Bridgetunnel, U_ETHER_ADDR_LEN); | 306 | memcpy(pDevice->abySNAP_Bridgetunnel, abySNAP_Bridgetunnel, ETH_ALEN); |
308 | 307 | ||
309 | pDevice->cbTD = TX_DESC_DEF0; | 308 | pDevice->cbTD = TX_DESC_DEF0; |
310 | pDevice->cbRD = RX_DESC_DEF0; | 309 | pDevice->cbRD = RX_DESC_DEF0; |
@@ -334,20 +333,20 @@ device_set_options(PSDevice pDevice) { | |||
334 | } | 333 | } |
335 | 334 | ||
336 | 335 | ||
337 | static VOID device_init_diversity_timer(PSDevice pDevice) { | 336 | static void device_init_diversity_timer(PSDevice pDevice) |
338 | 337 | { | |
339 | init_timer(&pDevice->TimerSQ3Tmax1); | 338 | init_timer(&pDevice->TimerSQ3Tmax1); |
340 | pDevice->TimerSQ3Tmax1.data = (ULONG)pDevice; | 339 | pDevice->TimerSQ3Tmax1.data = (unsigned long)pDevice; |
341 | pDevice->TimerSQ3Tmax1.function = (TimerFunction)TimerSQ3CallBack; | 340 | pDevice->TimerSQ3Tmax1.function = (TimerFunction)TimerSQ3CallBack; |
342 | pDevice->TimerSQ3Tmax1.expires = RUN_AT(HZ); | 341 | pDevice->TimerSQ3Tmax1.expires = RUN_AT(HZ); |
343 | 342 | ||
344 | init_timer(&pDevice->TimerSQ3Tmax2); | 343 | init_timer(&pDevice->TimerSQ3Tmax2); |
345 | pDevice->TimerSQ3Tmax2.data = (ULONG)pDevice; | 344 | pDevice->TimerSQ3Tmax2.data = (unsigned long)pDevice; |
346 | pDevice->TimerSQ3Tmax2.function = (TimerFunction)TimerSQ3CallBack; | 345 | pDevice->TimerSQ3Tmax2.function = (TimerFunction)TimerSQ3CallBack; |
347 | pDevice->TimerSQ3Tmax2.expires = RUN_AT(HZ); | 346 | pDevice->TimerSQ3Tmax2.expires = RUN_AT(HZ); |
348 | 347 | ||
349 | init_timer(&pDevice->TimerSQ3Tmax3); | 348 | init_timer(&pDevice->TimerSQ3Tmax3); |
350 | pDevice->TimerSQ3Tmax3.data = (ULONG)pDevice; | 349 | pDevice->TimerSQ3Tmax3.data = (unsigned long)pDevice; |
351 | pDevice->TimerSQ3Tmax3.function = (TimerFunction)TimerSQ3Tmax3CallBack; | 350 | pDevice->TimerSQ3Tmax3.function = (TimerFunction)TimerSQ3Tmax3CallBack; |
352 | pDevice->TimerSQ3Tmax3.expires = RUN_AT(HZ); | 351 | pDevice->TimerSQ3Tmax3.expires = RUN_AT(HZ); |
353 | 352 | ||
@@ -361,11 +360,11 @@ static VOID device_init_diversity_timer(PSDevice pDevice) { | |||
361 | 360 | ||
362 | static BOOL device_init_registers(PSDevice pDevice, DEVICE_INIT_TYPE InitType) | 361 | static BOOL device_init_registers(PSDevice pDevice, DEVICE_INIT_TYPE InitType) |
363 | { | 362 | { |
364 | BYTE abyBroadcastAddr[U_ETHER_ADDR_LEN] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff}; | 363 | u8 abyBroadcastAddr[ETH_ALEN] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff}; |
365 | BYTE abySNAP_RFC1042[U_ETHER_ADDR_LEN] = {0xAA, 0xAA, 0x03, 0x00, 0x00, 0x00}; | 364 | u8 abySNAP_RFC1042[ETH_ALEN] = {0xAA, 0xAA, 0x03, 0x00, 0x00, 0x00}; |
366 | BYTE abySNAP_Bridgetunnel[U_ETHER_ADDR_LEN] = {0xAA, 0xAA, 0x03, 0x00, 0x00, 0xF8}; | 365 | u8 abySNAP_Bridgetunnel[ETH_ALEN] = {0xAA, 0xAA, 0x03, 0x00, 0x00, 0xF8}; |
367 | BYTE byAntenna; | 366 | BYTE byAntenna; |
368 | UINT ii; | 367 | unsigned int ii; |
369 | CMD_CARD_INIT sInitCmd; | 368 | CMD_CARD_INIT sInitCmd; |
370 | NTSTATUS ntStatus = STATUS_SUCCESS; | 369 | NTSTATUS ntStatus = STATUS_SUCCESS; |
371 | RSP_CARD_INIT sInitRsp; | 370 | RSP_CARD_INIT sInitRsp; |
@@ -377,10 +376,12 @@ static BOOL device_init_registers(PSDevice pDevice, DEVICE_INIT_TYPE InitType) | |||
377 | 376 | ||
378 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "---->INIbInitAdapter. [%d][%d]\n", InitType, pDevice->byPacketType); | 377 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "---->INIbInitAdapter. [%d][%d]\n", InitType, pDevice->byPacketType); |
379 | spin_lock_irq(&pDevice->lock); | 378 | spin_lock_irq(&pDevice->lock); |
380 | if (InitType == DEVICE_INIT_COLD) { | 379 | if (InitType == DEVICE_INIT_COLD) { |
381 | memcpy(pDevice->abyBroadcastAddr, abyBroadcastAddr, U_ETHER_ADDR_LEN); | 380 | memcpy(pDevice->abyBroadcastAddr, abyBroadcastAddr, ETH_ALEN); |
382 | memcpy(pDevice->abySNAP_RFC1042, abySNAP_RFC1042, U_ETHER_ADDR_LEN); | 381 | memcpy(pDevice->abySNAP_RFC1042, abySNAP_RFC1042, ETH_ALEN); |
383 | memcpy(pDevice->abySNAP_Bridgetunnel, abySNAP_Bridgetunnel, U_ETHER_ADDR_LEN); | 382 | memcpy(pDevice->abySNAP_Bridgetunnel, |
383 | abySNAP_Bridgetunnel, | ||
384 | ETH_ALEN); | ||
384 | 385 | ||
385 | if ( !FIRMWAREbCheckVersion(pDevice) ) { | 386 | if ( !FIRMWAREbCheckVersion(pDevice) ) { |
386 | if (FIRMWAREbDownload(pDevice) == TRUE) { | 387 | if (FIRMWAREbDownload(pDevice) == TRUE) { |
@@ -605,7 +606,9 @@ static BOOL device_init_registers(PSDevice pDevice, DEVICE_INIT_TYPE InitType) | |||
605 | 606 | ||
606 | // get Permanent network address | 607 | // get Permanent network address |
607 | memcpy(pDevice->abyPermanentNetAddr,&(sInitRsp.byNetAddr[0]),6); | 608 | memcpy(pDevice->abyPermanentNetAddr,&(sInitRsp.byNetAddr[0]),6); |
608 | memcpy(pDevice->abyCurrentNetAddr, pDevice->abyPermanentNetAddr, U_ETHER_ADDR_LEN); | 609 | memcpy(pDevice->abyCurrentNetAddr, |
610 | pDevice->abyPermanentNetAddr, | ||
611 | ETH_ALEN); | ||
609 | 612 | ||
610 | // if exist SW network address, use SW network address. | 613 | // if exist SW network address, use SW network address. |
611 | 614 | ||
@@ -712,7 +715,8 @@ static BOOL device_release_WPADEV(PSDevice pDevice) | |||
712 | } | 715 | } |
713 | 716 | ||
714 | #ifdef CONFIG_PM /* Minimal support for suspend and resume */ | 717 | #ifdef CONFIG_PM /* Minimal support for suspend and resume */ |
715 | static int vntwusb_suspend(struct usb_interface *intf, pm_message_t message) | 718 | |
719 | static int vt6656_suspend(struct usb_interface *intf, pm_message_t message) | ||
716 | { | 720 | { |
717 | PSDevice pDevice = usb_get_intfdata(intf); | 721 | PSDevice pDevice = usb_get_intfdata(intf); |
718 | struct net_device *dev = pDevice->dev; | 722 | struct net_device *dev = pDevice->dev; |
@@ -727,7 +731,7 @@ if(dev != NULL) { | |||
727 | return 0; | 731 | return 0; |
728 | } | 732 | } |
729 | 733 | ||
730 | static int vntwusb_resume(struct usb_interface *intf) | 734 | static int vt6656_resume(struct usb_interface *intf) |
731 | { | 735 | { |
732 | PSDevice pDevice = usb_get_intfdata(intf); | 736 | PSDevice pDevice = usb_get_intfdata(intf); |
733 | struct net_device *dev = pDevice->dev; | 737 | struct net_device *dev = pDevice->dev; |
@@ -742,8 +746,8 @@ static int vntwusb_resume(struct usb_interface *intf) | |||
742 | } | 746 | } |
743 | return 0; | 747 | return 0; |
744 | } | 748 | } |
745 | #endif | ||
746 | 749 | ||
750 | #endif /* CONFIG_PM */ | ||
747 | 751 | ||
748 | static const struct net_device_ops device_netdev_ops = { | 752 | static const struct net_device_ops device_netdev_ops = { |
749 | .ndo_open = device_open, | 753 | .ndo_open = device_open, |
@@ -755,10 +759,10 @@ static const struct net_device_ops device_netdev_ops = { | |||
755 | }; | 759 | }; |
756 | 760 | ||
757 | 761 | ||
758 | static int | 762 | static int __devinit |
759 | vntwusb_found1(struct usb_interface *intf, const struct usb_device_id *id) | 763 | vt6656_probe(struct usb_interface *intf, const struct usb_device_id *id) |
760 | { | 764 | { |
761 | BYTE fake_mac[U_ETHER_ADDR_LEN] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x01};//fake MAC address | 765 | u8 fake_mac[ETH_ALEN] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x01}; |
762 | struct usb_device *udev = interface_to_usbdev(intf); | 766 | struct usb_device *udev = interface_to_usbdev(intf); |
763 | int rc = 0; | 767 | int rc = 0; |
764 | struct net_device *netdev = NULL; | 768 | struct net_device *netdev = NULL; |
@@ -789,7 +793,7 @@ vntwusb_found1(struct usb_interface *intf, const struct usb_device_id *id) | |||
789 | spin_lock_init(&pDevice->lock); | 793 | spin_lock_init(&pDevice->lock); |
790 | 794 | ||
791 | pDevice->tx_80211 = device_dma0_tx_80211; | 795 | pDevice->tx_80211 = device_dma0_tx_80211; |
792 | pDevice->sMgmtObj.pAdapter = (PVOID)pDevice; | 796 | pDevice->sMgmtObj.pAdapter = (void *)pDevice; |
793 | 797 | ||
794 | netdev->netdev_ops = &device_netdev_ops; | 798 | netdev->netdev_ops = &device_netdev_ops; |
795 | 799 | ||
@@ -799,7 +803,7 @@ vntwusb_found1(struct usb_interface *intf, const struct usb_device_id *id) | |||
799 | //2007-0821-01<Add>by MikeLiu | 803 | //2007-0821-01<Add>by MikeLiu |
800 | usb_set_intfdata(intf, pDevice); | 804 | usb_set_intfdata(intf, pDevice); |
801 | SET_NETDEV_DEV(netdev, &intf->dev); | 805 | SET_NETDEV_DEV(netdev, &intf->dev); |
802 | memcpy(pDevice->dev->dev_addr, fake_mac, U_ETHER_ADDR_LEN); //use fake mac address | 806 | memcpy(pDevice->dev->dev_addr, fake_mac, ETH_ALEN); |
803 | rc = register_netdev(netdev); | 807 | rc = register_netdev(netdev); |
804 | if (rc != 0) { | 808 | if (rc != 0) { |
805 | printk(KERN_ERR DEVICE_NAME " Failed to register netdev\n"); | 809 | printk(KERN_ERR DEVICE_NAME " Failed to register netdev\n"); |
@@ -841,7 +845,8 @@ err_nomem: | |||
841 | } | 845 | } |
842 | 846 | ||
843 | 847 | ||
844 | static VOID device_free_tx_bufs(PSDevice pDevice) { | 848 | static void device_free_tx_bufs(PSDevice pDevice) |
849 | { | ||
845 | PUSB_SEND_CONTEXT pTxContext; | 850 | PUSB_SEND_CONTEXT pTxContext; |
846 | int ii; | 851 | int ii; |
847 | 852 | ||
@@ -860,7 +865,8 @@ static VOID device_free_tx_bufs(PSDevice pDevice) { | |||
860 | } | 865 | } |
861 | 866 | ||
862 | 867 | ||
863 | static VOID device_free_rx_bufs(PSDevice pDevice) { | 868 | static void device_free_rx_bufs(PSDevice pDevice) |
869 | { | ||
864 | PRCB pRCB; | 870 | PRCB pRCB; |
865 | int ii; | 871 | int ii; |
866 | 872 | ||
@@ -892,8 +898,8 @@ static void usb_device_reset(PSDevice pDevice) | |||
892 | return ; | 898 | return ; |
893 | } | 899 | } |
894 | 900 | ||
895 | static VOID device_free_int_bufs(PSDevice pDevice) { | 901 | static void device_free_int_bufs(PSDevice pDevice) |
896 | 902 | { | |
897 | if (pDevice->intBuf.pDataBuf != NULL) | 903 | if (pDevice->intBuf.pDataBuf != NULL) |
898 | kfree(pDevice->intBuf.pDataBuf); | 904 | kfree(pDevice->intBuf.pDataBuf); |
899 | return; | 905 | return; |
@@ -915,7 +921,7 @@ static BOOL device_alloc_bufs(PSDevice pDevice) { | |||
915 | goto free_tx; | 921 | goto free_tx; |
916 | } | 922 | } |
917 | pDevice->apTD[ii] = pTxContext; | 923 | pDevice->apTD[ii] = pTxContext; |
918 | pTxContext->pDevice = (PVOID) pDevice; | 924 | pTxContext->pDevice = (void *) pDevice; |
919 | //allocate URBs | 925 | //allocate URBs |
920 | pTxContext->pUrb = usb_alloc_urb(0, GFP_ATOMIC); | 926 | pTxContext->pUrb = usb_alloc_urb(0, GFP_ATOMIC); |
921 | if (pTxContext->pUrb == NULL) { | 927 | if (pTxContext->pUrb == NULL) { |
@@ -944,7 +950,7 @@ static BOOL device_alloc_bufs(PSDevice pDevice) { | |||
944 | for (ii = 0; ii < pDevice->cbRD; ii++) { | 950 | for (ii = 0; ii < pDevice->cbRD; ii++) { |
945 | 951 | ||
946 | pDevice->apRCB[ii] = pRCB; | 952 | pDevice->apRCB[ii] = pRCB; |
947 | pRCB->pDevice = (PVOID) pDevice; | 953 | pRCB->pDevice = (void *) pDevice; |
948 | //allocate URBs | 954 | //allocate URBs |
949 | pRCB->pUrb = usb_alloc_urb(0, GFP_ATOMIC); | 955 | pRCB->pUrb = usb_alloc_urb(0, GFP_ATOMIC); |
950 | 956 | ||
@@ -1102,8 +1108,8 @@ static int device_open(struct net_device *dev) { | |||
1102 | // Init for Key Management | 1108 | // Init for Key Management |
1103 | 1109 | ||
1104 | KeyvInitTable(pDevice,&pDevice->sKey); | 1110 | KeyvInitTable(pDevice,&pDevice->sKey); |
1105 | memcpy(pDevice->sMgmtObj.abyMACAddr, pDevice->abyCurrentNetAddr, U_ETHER_ADDR_LEN); | 1111 | memcpy(pDevice->sMgmtObj.abyMACAddr, pDevice->abyCurrentNetAddr, ETH_ALEN); |
1106 | memcpy(pDevice->dev->dev_addr, pDevice->abyCurrentNetAddr, U_ETHER_ADDR_LEN); | 1112 | memcpy(pDevice->dev->dev_addr, pDevice->abyCurrentNetAddr, ETH_ALEN); |
1107 | pDevice->bStopTx0Pkt = FALSE; | 1113 | pDevice->bStopTx0Pkt = FALSE; |
1108 | pDevice->bStopDataPkt = FALSE; | 1114 | pDevice->bStopDataPkt = FALSE; |
1109 | pDevice->bRoaming = FALSE; //DavidWang | 1115 | pDevice->bRoaming = FALSE; //DavidWang |
@@ -1154,12 +1160,12 @@ static int device_open(struct net_device *dev) { | |||
1154 | } | 1160 | } |
1155 | 1161 | ||
1156 | if (pDevice->sMgmtObj.eConfigMode == WMAC_CONFIG_AP) { | 1162 | if (pDevice->sMgmtObj.eConfigMode == WMAC_CONFIG_AP) { |
1157 | bScheduleCommand((HANDLE)pDevice, WLAN_CMD_RUN_AP, NULL); | 1163 | bScheduleCommand((void *) pDevice, WLAN_CMD_RUN_AP, NULL); |
1158 | } | 1164 | } |
1159 | else { | 1165 | else { |
1160 | //mike:mark@2008-11-10 | 1166 | //mike:mark@2008-11-10 |
1161 | bScheduleCommand((HANDLE)pDevice, WLAN_CMD_BSSID_SCAN, NULL); | 1167 | bScheduleCommand((void *) pDevice, WLAN_CMD_BSSID_SCAN, NULL); |
1162 | //bScheduleCommand((HANDLE)pDevice, WLAN_CMD_SSID, NULL); | 1168 | /* bScheduleCommand((void *) pDevice, WLAN_CMD_SSID, NULL); */ |
1163 | } | 1169 | } |
1164 | 1170 | ||
1165 | 1171 | ||
@@ -1216,7 +1222,7 @@ static int device_close(struct net_device *dev) { | |||
1216 | 1222 | ||
1217 | //2007-1121-02<Add>by EinsnLiu | 1223 | //2007-1121-02<Add>by EinsnLiu |
1218 | if (pDevice->bLinkPass) { | 1224 | if (pDevice->bLinkPass) { |
1219 | bScheduleCommand((HANDLE)pDevice, WLAN_CMD_DISASSOCIATE, NULL); | 1225 | bScheduleCommand((void *) pDevice, WLAN_CMD_DISASSOCIATE, NULL); |
1220 | mdelay(30); | 1226 | mdelay(30); |
1221 | } | 1227 | } |
1222 | //End Add | 1228 | //End Add |
@@ -1285,8 +1291,7 @@ device_release_WPADEV(pDevice); | |||
1285 | } | 1291 | } |
1286 | 1292 | ||
1287 | 1293 | ||
1288 | static void vntwusb_disconnect(struct usb_interface *intf) | 1294 | static void __devexit vt6656_disconnect(struct usb_interface *intf) |
1289 | |||
1290 | { | 1295 | { |
1291 | 1296 | ||
1292 | PSDevice pDevice = usb_get_intfdata(intf); | 1297 | PSDevice pDevice = usb_get_intfdata(intf); |
@@ -1333,7 +1338,7 @@ device_release_WPADEV(pDevice); | |||
1333 | static int device_dma0_tx_80211(struct sk_buff *skb, struct net_device *dev) { | 1338 | static int device_dma0_tx_80211(struct sk_buff *skb, struct net_device *dev) { |
1334 | PSDevice pDevice=netdev_priv(dev); | 1339 | PSDevice pDevice=netdev_priv(dev); |
1335 | PBYTE pbMPDU; | 1340 | PBYTE pbMPDU; |
1336 | UINT cbMPDULen = 0; | 1341 | unsigned int cbMPDULen = 0; |
1337 | 1342 | ||
1338 | 1343 | ||
1339 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "device_dma0_tx_80211\n"); | 1344 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "device_dma0_tx_80211\n"); |
@@ -1408,24 +1413,27 @@ static inline u32 ether_crc(int length, unsigned char *data) | |||
1408 | } | 1413 | } |
1409 | 1414 | ||
1410 | //find out the start position of str2 from str1 | 1415 | //find out the start position of str2 from str1 |
1411 | static UCHAR *kstrstr(const UCHAR *str1,const UCHAR *str2) { | 1416 | static unsigned char *kstrstr(const unsigned char *str1, |
1412 | int str1_len=strlen(str1); | 1417 | const unsigned char *str2) { |
1413 | int str2_len=strlen(str2); | 1418 | int str1_len = strlen(str1); |
1419 | int str2_len = strlen(str2); | ||
1414 | 1420 | ||
1415 | while (str1_len >= str2_len) { | 1421 | while (str1_len >= str2_len) { |
1416 | str1_len--; | 1422 | str1_len--; |
1417 | if(memcmp(str1,str2,str2_len)==0) | 1423 | if(memcmp(str1,str2,str2_len)==0) |
1418 | return (UCHAR *)str1; | 1424 | return (unsigned char *) str1; |
1419 | str1++; | 1425 | str1++; |
1420 | } | 1426 | } |
1421 | return NULL; | 1427 | return NULL; |
1422 | } | 1428 | } |
1423 | 1429 | ||
1424 | static int Config_FileGetParameter(UCHAR *string, UCHAR *dest,UCHAR *source) | 1430 | static int Config_FileGetParameter(unsigned char *string, |
1431 | unsigned char *dest, | ||
1432 | unsigned char *source) | ||
1425 | { | 1433 | { |
1426 | UCHAR buf1[100]; | 1434 | unsigned char buf1[100]; |
1427 | UCHAR buf2[100]; | 1435 | unsigned char buf2[100]; |
1428 | UCHAR *start_p=NULL,*end_p=NULL,*tmp_p=NULL; | 1436 | unsigned char *start_p = NULL, *end_p = NULL, *tmp_p = NULL; |
1429 | int ii; | 1437 | int ii; |
1430 | 1438 | ||
1431 | memset(buf1,0,100); | 1439 | memset(buf1,0,100); |
@@ -1434,7 +1442,8 @@ static int Config_FileGetParameter(UCHAR *string, UCHAR *dest,UCHAR *source) | |||
1434 | source+=strlen(buf1); | 1442 | source+=strlen(buf1); |
1435 | 1443 | ||
1436 | //find target string start point | 1444 | //find target string start point |
1437 | if((start_p = kstrstr(source,buf1))==NULL) | 1445 | start_p = kstrstr(source,buf1); |
1446 | if (start_p == NULL) | ||
1438 | return FALSE; | 1447 | return FALSE; |
1439 | 1448 | ||
1440 | //check if current config line is marked by "#" ?? | 1449 | //check if current config line is marked by "#" ?? |
@@ -1446,7 +1455,8 @@ for(ii=1;;ii++) { | |||
1446 | } | 1455 | } |
1447 | 1456 | ||
1448 | //find target string end point | 1457 | //find target string end point |
1449 | if((end_p = kstrstr(start_p,"\n"))==NULL) { //cann't find "\n",but don't care | 1458 | end_p = kstrstr(start_p,"\n"); |
1459 | if (end_p == NULL) { //can't find "\n",but don't care | ||
1450 | end_p=start_p+strlen(start_p); //no include "\n" | 1460 | end_p=start_p+strlen(start_p); //no include "\n" |
1451 | } | 1461 | } |
1452 | 1462 | ||
@@ -1455,7 +1465,8 @@ for(ii=1;;ii++) { | |||
1455 | buf2[end_p-start_p]='\0'; | 1465 | buf2[end_p-start_p]='\0'; |
1456 | 1466 | ||
1457 | //find value | 1467 | //find value |
1458 | if((start_p = kstrstr(buf2,"="))==NULL) | 1468 | start_p = kstrstr(buf2,"="); |
1469 | if (start_p == NULL) | ||
1459 | return FALSE; | 1470 | return FALSE; |
1460 | memset(buf1,0,100); | 1471 | memset(buf1,0,100); |
1461 | strcpy(buf1,start_p+1); | 1472 | strcpy(buf1,start_p+1); |
@@ -1474,13 +1485,14 @@ for(ii=1;;ii++) { | |||
1474 | } | 1485 | } |
1475 | 1486 | ||
1476 | //if read fail,return NULL,or return data pointer; | 1487 | //if read fail,return NULL,or return data pointer; |
1477 | static UCHAR *Config_FileOperation(PSDevice pDevice) { | 1488 | static unsigned char *Config_FileOperation(PSDevice pDevice) |
1478 | UCHAR *config_path=CONFIG_PATH; | 1489 | { |
1479 | UCHAR *buffer=NULL; | 1490 | unsigned char *config_path = CONFIG_PATH; |
1491 | unsigned char *buffer = NULL; | ||
1480 | struct file *filp=NULL; | 1492 | struct file *filp=NULL; |
1481 | mm_segment_t old_fs = get_fs(); | 1493 | mm_segment_t old_fs = get_fs(); |
1482 | //int oldfsuid=0,oldfsgid=0; | 1494 | //int oldfsuid=0,oldfsgid=0; |
1483 | int result=0; | 1495 | int result = 0; |
1484 | 1496 | ||
1485 | set_fs (KERNEL_DS); | 1497 | set_fs (KERNEL_DS); |
1486 | /* Can't do this anymore, so we rely on correct filesystem permissions: | 1498 | /* Can't do this anymore, so we rely on correct filesystem permissions: |
@@ -1505,7 +1517,7 @@ static UCHAR *Config_FileOperation(PSDevice pDevice) { | |||
1505 | goto error1; | 1517 | goto error1; |
1506 | } | 1518 | } |
1507 | 1519 | ||
1508 | buffer = (UCHAR *)kmalloc(1024, GFP_KERNEL); | 1520 | buffer = kmalloc(1024, GFP_KERNEL); |
1509 | if(buffer==NULL) { | 1521 | if(buffer==NULL) { |
1510 | printk("alllocate mem for file fail?\n"); | 1522 | printk("alllocate mem for file fail?\n"); |
1511 | result = -1; | 1523 | result = -1; |
@@ -1539,16 +1551,17 @@ if(result!=0) { | |||
1539 | 1551 | ||
1540 | //return --->-1:fail; >=0:successful | 1552 | //return --->-1:fail; >=0:successful |
1541 | static int Read_config_file(PSDevice pDevice) { | 1553 | static int Read_config_file(PSDevice pDevice) { |
1542 | int result=0; | 1554 | int result = 0; |
1543 | UCHAR tmpbuffer[100]; | 1555 | unsigned char tmpbuffer[100]; |
1544 | UCHAR *buffer=NULL; | 1556 | unsigned char *buffer = NULL; |
1545 | 1557 | ||
1546 | //init config setting | 1558 | //init config setting |
1547 | pDevice->config_file.ZoneType = -1; | 1559 | pDevice->config_file.ZoneType = -1; |
1548 | pDevice->config_file.eAuthenMode = -1; | 1560 | pDevice->config_file.eAuthenMode = -1; |
1549 | pDevice->config_file.eEncryptionStatus = -1; | 1561 | pDevice->config_file.eEncryptionStatus = -1; |
1550 | 1562 | ||
1551 | if((buffer=Config_FileOperation(pDevice)) ==NULL) { | 1563 | buffer = Config_FileOperation(pDevice); |
1564 | if (buffer == NULL) { | ||
1552 | result =-1; | 1565 | result =-1; |
1553 | return result; | 1566 | return result; |
1554 | } | 1567 | } |
@@ -2064,7 +2077,7 @@ static int device_ioctl(struct net_device *dev, struct ifreq *rq, int cmd) { | |||
2064 | rc = 0; | 2077 | rc = 0; |
2065 | } | 2078 | } |
2066 | 2079 | ||
2067 | rc = hostap_ioctl(pDevice, &wrq->u.data); | 2080 | rc = vt6656_hostap_ioctl(pDevice, &wrq->u.data); |
2068 | break; | 2081 | break; |
2069 | 2082 | ||
2070 | case IOCTL_CMD_WPA: | 2083 | case IOCTL_CMD_WPA: |
@@ -2094,16 +2107,16 @@ static int device_ioctl(struct net_device *dev, struct ifreq *rq, int cmd) { | |||
2094 | if (pMgmt->eConfigMode == WMAC_CONFIG_AP) { | 2107 | if (pMgmt->eConfigMode == WMAC_CONFIG_AP) { |
2095 | netif_stop_queue(pDevice->dev); | 2108 | netif_stop_queue(pDevice->dev); |
2096 | spin_lock_irq(&pDevice->lock); | 2109 | spin_lock_irq(&pDevice->lock); |
2097 | bScheduleCommand((HANDLE)pDevice, WLAN_CMD_RUN_AP, NULL); | 2110 | bScheduleCommand((void *) pDevice, WLAN_CMD_RUN_AP, NULL); |
2098 | spin_unlock_irq(&pDevice->lock); | 2111 | spin_unlock_irq(&pDevice->lock); |
2099 | } | 2112 | } |
2100 | else { | 2113 | else { |
2101 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "Commit the settings\n"); | 2114 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "Commit the settings\n"); |
2102 | spin_lock_irq(&pDevice->lock); | 2115 | spin_lock_irq(&pDevice->lock); |
2103 | //2007-1121-01<Modify>by EinsnLiu | 2116 | //2007-1121-01<Modify>by EinsnLiu |
2104 | if (pDevice->bLinkPass&& | 2117 | if (pDevice->bLinkPass && |
2105 | memcmp(pMgmt->abyCurrSSID,pMgmt->abyDesireSSID,WLAN_IEHDR_LEN + WLAN_SSID_MAXLEN)) { | 2118 | memcmp(pMgmt->abyCurrSSID,pMgmt->abyDesireSSID,WLAN_IEHDR_LEN + WLAN_SSID_MAXLEN)) { |
2106 | bScheduleCommand((HANDLE)pDevice, WLAN_CMD_DISASSOCIATE, NULL); | 2119 | bScheduleCommand((void *) pDevice, WLAN_CMD_DISASSOCIATE, NULL); |
2107 | } else { | 2120 | } else { |
2108 | pDevice->bLinkPass = FALSE; | 2121 | pDevice->bLinkPass = FALSE; |
2109 | pMgmt->eCurrState = WMAC_STATE_IDLE; | 2122 | pMgmt->eCurrState = WMAC_STATE_IDLE; |
@@ -2114,10 +2127,14 @@ static int device_ioctl(struct net_device *dev, struct ifreq *rq, int cmd) { | |||
2114 | netif_stop_queue(pDevice->dev); | 2127 | netif_stop_queue(pDevice->dev); |
2115 | #ifdef WPA_SUPPLICANT_DRIVER_WEXT_SUPPORT | 2128 | #ifdef WPA_SUPPLICANT_DRIVER_WEXT_SUPPORT |
2116 | pMgmt->eScanType = WMAC_SCAN_ACTIVE; | 2129 | pMgmt->eScanType = WMAC_SCAN_ACTIVE; |
2117 | if(pDevice->bWPASuppWextEnabled !=TRUE) | 2130 | if (!pDevice->bWPASuppWextEnabled) |
2118 | #endif | 2131 | #endif |
2119 | bScheduleCommand((HANDLE) pDevice, WLAN_CMD_BSSID_SCAN, pMgmt->abyDesireSSID); | 2132 | bScheduleCommand((void *) pDevice, |
2120 | bScheduleCommand((HANDLE) pDevice, WLAN_CMD_SSID, NULL); | 2133 | WLAN_CMD_BSSID_SCAN, |
2134 | pMgmt->abyDesireSSID); | ||
2135 | bScheduleCommand((void *) pDevice, | ||
2136 | WLAN_CMD_SSID, | ||
2137 | NULL); | ||
2121 | spin_unlock_irq(&pDevice->lock); | 2138 | spin_unlock_irq(&pDevice->lock); |
2122 | } | 2139 | } |
2123 | pDevice->bCommit = FALSE; | 2140 | pDevice->bCommit = FALSE; |
@@ -2153,35 +2170,29 @@ static int ethtool_ioctl(struct net_device *dev, void *useraddr) | |||
2153 | 2170 | ||
2154 | /*------------------------------------------------------------------*/ | 2171 | /*------------------------------------------------------------------*/ |
2155 | 2172 | ||
2173 | MODULE_DEVICE_TABLE(usb, vt6656_table); | ||
2156 | 2174 | ||
2157 | MODULE_DEVICE_TABLE(usb, vntwusb_table); | 2175 | static struct usb_driver vt6656_driver = { |
2158 | 2176 | .name = DEVICE_NAME, | |
2159 | 2177 | .probe = vt6656_probe, | |
2160 | static struct usb_driver vntwusb_driver = { | 2178 | .disconnect = vt6656_disconnect, |
2161 | .name = DEVICE_NAME, | 2179 | .id_table = vt6656_table, |
2162 | .probe = vntwusb_found1, | ||
2163 | .disconnect = vntwusb_disconnect, | ||
2164 | .id_table = vntwusb_table, | ||
2165 | |||
2166 | //2008-0920-01<Add>by MikeLiu | ||
2167 | //for supporting S3 & S4 function | ||
2168 | #ifdef CONFIG_PM | 2180 | #ifdef CONFIG_PM |
2169 | .suspend = vntwusb_suspend, | 2181 | .suspend = vt6656_suspend, |
2170 | .resume = vntwusb_resume, | 2182 | .resume = vt6656_resume, |
2171 | #endif | 2183 | #endif /* CONFIG_PM */ |
2172 | }; | 2184 | }; |
2173 | 2185 | ||
2174 | static int __init vntwusb_init_module(void) | 2186 | static int __init vt6656_init_module(void) |
2175 | { | 2187 | { |
2176 | printk(KERN_NOTICE DEVICE_FULL_DRV_NAM " " DEVICE_VERSION); | 2188 | printk(KERN_NOTICE DEVICE_FULL_DRV_NAM " " DEVICE_VERSION); |
2177 | return usb_register(&vntwusb_driver); | 2189 | return usb_register(&vt6656_driver); |
2178 | } | 2190 | } |
2179 | 2191 | ||
2180 | static void __exit vntwusb_cleanup_module(void) | 2192 | static void __exit vt6656_cleanup_module(void) |
2181 | { | 2193 | { |
2182 | usb_deregister(&vntwusb_driver); | 2194 | usb_deregister(&vt6656_driver); |
2183 | } | 2195 | } |
2184 | 2196 | ||
2185 | module_init(vntwusb_init_module); | 2197 | module_init(vt6656_init_module); |
2186 | module_exit(vntwusb_cleanup_module); | 2198 | module_exit(vt6656_cleanup_module); |
2187 | |||
diff --git a/drivers/staging/vt6656/mib.c b/drivers/staging/vt6656/mib.c index 910e610b7cc..b694fc86d74 100644 --- a/drivers/staging/vt6656/mib.c +++ b/drivers/staging/vt6656/mib.c | |||
@@ -152,33 +152,36 @@ void STAvUpdateIsrStatCounter (PSStatCounter pStatistic, BYTE byIsr0, BYTE byIsr | |||
152 | * Return Value: none | 152 | * Return Value: none |
153 | * | 153 | * |
154 | */ | 154 | */ |
155 | void STAvUpdateRDStatCounter (PSStatCounter pStatistic, | 155 | void STAvUpdateRDStatCounter(PSStatCounter pStatistic, |
156 | BYTE byRSR, BYTE byNewRSR, BYTE byRxSts, BYTE byRxRate, | 156 | BYTE byRSR, BYTE byNewRSR, |
157 | PBYTE pbyBuffer, UINT cbFrameLength) | 157 | BYTE byRxSts, BYTE byRxRate, |
158 | PBYTE pbyBuffer, unsigned int cbFrameLength) | ||
158 | { | 159 | { |
159 | //need change | 160 | /* need change */ |
160 | PS802_11Header pHeader = (PS802_11Header)pbyBuffer; | 161 | PS802_11Header pHeader = (PS802_11Header)pbyBuffer; |
161 | 162 | ||
162 | if (byRSR & RSR_ADDROK) | 163 | if (byRSR & RSR_ADDROK) |
163 | pStatistic->dwRsrADDROk++; | 164 | pStatistic->dwRsrADDROk++; |
164 | if (byRSR & RSR_CRCOK) { | 165 | if (byRSR & RSR_CRCOK) { |
165 | pStatistic->dwRsrCRCOk++; | 166 | pStatistic->dwRsrCRCOk++; |
167 | pStatistic->ullRsrOK++; | ||
166 | 168 | ||
167 | pStatistic->ullRsrOK++; | 169 | if (cbFrameLength >= ETH_ALEN) { |
168 | 170 | /* update counters in case of successful transmission */ | |
169 | if (cbFrameLength >= U_ETHER_ADDR_LEN) { | ||
170 | // update counters in case that successful transmit | ||
171 | if (byRSR & RSR_ADDRBROAD) { | 171 | if (byRSR & RSR_ADDRBROAD) { |
172 | pStatistic->ullRxBroadcastFrames++; | 172 | pStatistic->ullRxBroadcastFrames++; |
173 | pStatistic->ullRxBroadcastBytes += (ULONGLONG)cbFrameLength; | 173 | pStatistic->ullRxBroadcastBytes += |
174 | (unsigned long long) cbFrameLength; | ||
174 | } | 175 | } |
175 | else if (byRSR & RSR_ADDRMULTI) { | 176 | else if (byRSR & RSR_ADDRMULTI) { |
176 | pStatistic->ullRxMulticastFrames++; | 177 | pStatistic->ullRxMulticastFrames++; |
177 | pStatistic->ullRxMulticastBytes += (ULONGLONG)cbFrameLength; | 178 | pStatistic->ullRxMulticastBytes += |
179 | (unsigned long long) cbFrameLength; | ||
178 | } | 180 | } |
179 | else { | 181 | else { |
180 | pStatistic->ullRxDirectedFrames++; | 182 | pStatistic->ullRxDirectedFrames++; |
181 | pStatistic->ullRxDirectedBytes += (ULONGLONG)cbFrameLength; | 183 | pStatistic->ullRxDirectedBytes += |
184 | (unsigned long long) cbFrameLength; | ||
182 | } | 185 | } |
183 | } | 186 | } |
184 | } | 187 | } |
@@ -188,87 +191,114 @@ void STAvUpdateRDStatCounter (PSStatCounter pStatistic, | |||
188 | if(byRSR & RSR_CRCOK) { | 191 | if(byRSR & RSR_CRCOK) { |
189 | pStatistic->CustomStat.ullRsr11MCRCOk++; | 192 | pStatistic->CustomStat.ullRsr11MCRCOk++; |
190 | } | 193 | } |
191 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"11M: ALL[%d], OK[%d]:[%02x]\n", (INT)pStatistic->CustomStat.ullRsr11M, (INT)pStatistic->CustomStat.ullRsr11MCRCOk, byRSR); | 194 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "11M: ALL[%d], OK[%d]:[%02x]\n", |
195 | (signed int) pStatistic->CustomStat.ullRsr11M, | ||
196 | (signed int) pStatistic->CustomStat.ullRsr11MCRCOk, byRSR); | ||
192 | } | 197 | } |
193 | else if(byRxRate==11) { | 198 | else if(byRxRate==11) { |
194 | pStatistic->CustomStat.ullRsr5M++; | 199 | pStatistic->CustomStat.ullRsr5M++; |
195 | if(byRSR & RSR_CRCOK) { | 200 | if(byRSR & RSR_CRCOK) { |
196 | pStatistic->CustomStat.ullRsr5MCRCOk++; | 201 | pStatistic->CustomStat.ullRsr5MCRCOk++; |
197 | } | 202 | } |
198 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO" 5M: ALL[%d], OK[%d]:[%02x]\n", (INT)pStatistic->CustomStat.ullRsr5M, (INT)pStatistic->CustomStat.ullRsr5MCRCOk, byRSR); | 203 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO " 5M: ALL[%d], OK[%d]:[%02x]\n", |
204 | (signed int) pStatistic->CustomStat.ullRsr5M, | ||
205 | (signed int) pStatistic->CustomStat.ullRsr5MCRCOk, byRSR); | ||
199 | } | 206 | } |
200 | else if(byRxRate==4) { | 207 | else if(byRxRate==4) { |
201 | pStatistic->CustomStat.ullRsr2M++; | 208 | pStatistic->CustomStat.ullRsr2M++; |
202 | if(byRSR & RSR_CRCOK) { | 209 | if(byRSR & RSR_CRCOK) { |
203 | pStatistic->CustomStat.ullRsr2MCRCOk++; | 210 | pStatistic->CustomStat.ullRsr2MCRCOk++; |
204 | } | 211 | } |
205 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO" 2M: ALL[%d], OK[%d]:[%02x]\n", (INT)pStatistic->CustomStat.ullRsr2M, (INT)pStatistic->CustomStat.ullRsr2MCRCOk, byRSR); | 212 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO " 2M: ALL[%d], OK[%d]:[%02x]\n", |
213 | (signed int) pStatistic->CustomStat.ullRsr2M, | ||
214 | (signed int) pStatistic->CustomStat.ullRsr2MCRCOk, byRSR); | ||
206 | } | 215 | } |
207 | else if(byRxRate==2){ | 216 | else if(byRxRate==2){ |
208 | pStatistic->CustomStat.ullRsr1M++; | 217 | pStatistic->CustomStat.ullRsr1M++; |
209 | if(byRSR & RSR_CRCOK) { | 218 | if(byRSR & RSR_CRCOK) { |
210 | pStatistic->CustomStat.ullRsr1MCRCOk++; | 219 | pStatistic->CustomStat.ullRsr1MCRCOk++; |
211 | } | 220 | } |
212 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO" 1M: ALL[%d], OK[%d]:[%02x]\n", (INT)pStatistic->CustomStat.ullRsr1M, (INT)pStatistic->CustomStat.ullRsr1MCRCOk, byRSR); | 221 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO " 1M: ALL[%d], OK[%d]:[%02x]\n", |
222 | (signed int) pStatistic->CustomStat.ullRsr1M, | ||
223 | (signed int) pStatistic->CustomStat.ullRsr1MCRCOk, byRSR); | ||
213 | } | 224 | } |
214 | else if(byRxRate==12){ | 225 | else if(byRxRate==12){ |
215 | pStatistic->CustomStat.ullRsr6M++; | 226 | pStatistic->CustomStat.ullRsr6M++; |
216 | if(byRSR & RSR_CRCOK) { | 227 | if(byRSR & RSR_CRCOK) { |
217 | pStatistic->CustomStat.ullRsr6MCRCOk++; | 228 | pStatistic->CustomStat.ullRsr6MCRCOk++; |
218 | } | 229 | } |
219 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO" 6M: ALL[%d], OK[%d]\n", (INT)pStatistic->CustomStat.ullRsr6M, (INT)pStatistic->CustomStat.ullRsr6MCRCOk); | 230 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO " 6M: ALL[%d], OK[%d]\n", |
231 | (signed int) pStatistic->CustomStat.ullRsr6M, | ||
232 | (signed int) pStatistic->CustomStat.ullRsr6MCRCOk); | ||
220 | } | 233 | } |
221 | else if(byRxRate==18){ | 234 | else if(byRxRate==18){ |
222 | pStatistic->CustomStat.ullRsr9M++; | 235 | pStatistic->CustomStat.ullRsr9M++; |
223 | if(byRSR & RSR_CRCOK) { | 236 | if(byRSR & RSR_CRCOK) { |
224 | pStatistic->CustomStat.ullRsr9MCRCOk++; | 237 | pStatistic->CustomStat.ullRsr9MCRCOk++; |
225 | } | 238 | } |
226 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO" 9M: ALL[%d], OK[%d]\n", (INT)pStatistic->CustomStat.ullRsr9M, (INT)pStatistic->CustomStat.ullRsr9MCRCOk); | 239 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO " 9M: ALL[%d], OK[%d]\n", |
240 | (signed int) pStatistic->CustomStat.ullRsr9M, | ||
241 | (signed int) pStatistic->CustomStat.ullRsr9MCRCOk); | ||
227 | } | 242 | } |
228 | else if(byRxRate==24){ | 243 | else if(byRxRate==24){ |
229 | pStatistic->CustomStat.ullRsr12M++; | 244 | pStatistic->CustomStat.ullRsr12M++; |
230 | if(byRSR & RSR_CRCOK) { | 245 | if(byRSR & RSR_CRCOK) { |
231 | pStatistic->CustomStat.ullRsr12MCRCOk++; | 246 | pStatistic->CustomStat.ullRsr12MCRCOk++; |
232 | } | 247 | } |
233 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"12M: ALL[%d], OK[%d]\n", (INT)pStatistic->CustomStat.ullRsr12M, (INT)pStatistic->CustomStat.ullRsr12MCRCOk); | 248 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "12M: ALL[%d], OK[%d]\n", |
249 | (signed int) pStatistic->CustomStat.ullRsr12M, | ||
250 | (signed int) pStatistic->CustomStat.ullRsr12MCRCOk); | ||
234 | } | 251 | } |
235 | else if(byRxRate==36){ | 252 | else if(byRxRate==36){ |
236 | pStatistic->CustomStat.ullRsr18M++; | 253 | pStatistic->CustomStat.ullRsr18M++; |
237 | if(byRSR & RSR_CRCOK) { | 254 | if(byRSR & RSR_CRCOK) { |
238 | pStatistic->CustomStat.ullRsr18MCRCOk++; | 255 | pStatistic->CustomStat.ullRsr18MCRCOk++; |
239 | } | 256 | } |
240 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"18M: ALL[%d], OK[%d]\n", (INT)pStatistic->CustomStat.ullRsr18M, (INT)pStatistic->CustomStat.ullRsr18MCRCOk); | 257 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "18M: ALL[%d], OK[%d]\n", |
258 | (signed int) pStatistic->CustomStat.ullRsr18M, | ||
259 | (signed int) pStatistic->CustomStat.ullRsr18MCRCOk); | ||
241 | } | 260 | } |
242 | else if(byRxRate==48){ | 261 | else if(byRxRate==48){ |
243 | pStatistic->CustomStat.ullRsr24M++; | 262 | pStatistic->CustomStat.ullRsr24M++; |
244 | if(byRSR & RSR_CRCOK) { | 263 | if(byRSR & RSR_CRCOK) { |
245 | pStatistic->CustomStat.ullRsr24MCRCOk++; | 264 | pStatistic->CustomStat.ullRsr24MCRCOk++; |
246 | } | 265 | } |
247 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"24M: ALL[%d], OK[%d]\n", (INT)pStatistic->CustomStat.ullRsr24M, (INT)pStatistic->CustomStat.ullRsr24MCRCOk); | 266 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "24M: ALL[%d], OK[%d]\n", |
267 | (signed int) pStatistic->CustomStat.ullRsr24M, | ||
268 | (signed int) pStatistic->CustomStat.ullRsr24MCRCOk); | ||
248 | } | 269 | } |
249 | else if(byRxRate==72){ | 270 | else if(byRxRate==72){ |
250 | pStatistic->CustomStat.ullRsr36M++; | 271 | pStatistic->CustomStat.ullRsr36M++; |
251 | if(byRSR & RSR_CRCOK) { | 272 | if(byRSR & RSR_CRCOK) { |
252 | pStatistic->CustomStat.ullRsr36MCRCOk++; | 273 | pStatistic->CustomStat.ullRsr36MCRCOk++; |
253 | } | 274 | } |
254 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"36M: ALL[%d], OK[%d]\n", (INT)pStatistic->CustomStat.ullRsr36M, (INT)pStatistic->CustomStat.ullRsr36MCRCOk); | 275 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "36M: ALL[%d], OK[%d]\n", |
276 | (signed int) pStatistic->CustomStat.ullRsr36M, | ||
277 | (signed int) pStatistic->CustomStat.ullRsr36MCRCOk); | ||
255 | } | 278 | } |
256 | else if(byRxRate==96){ | 279 | else if(byRxRate==96){ |
257 | pStatistic->CustomStat.ullRsr48M++; | 280 | pStatistic->CustomStat.ullRsr48M++; |
258 | if(byRSR & RSR_CRCOK) { | 281 | if(byRSR & RSR_CRCOK) { |
259 | pStatistic->CustomStat.ullRsr48MCRCOk++; | 282 | pStatistic->CustomStat.ullRsr48MCRCOk++; |
260 | } | 283 | } |
261 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"48M: ALL[%d], OK[%d]\n", (INT)pStatistic->CustomStat.ullRsr48M, (INT)pStatistic->CustomStat.ullRsr48MCRCOk); | 284 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "48M: ALL[%d], OK[%d]\n", |
285 | (signed int) pStatistic->CustomStat.ullRsr48M, | ||
286 | (signed int) pStatistic->CustomStat.ullRsr48MCRCOk); | ||
262 | } | 287 | } |
263 | else if(byRxRate==108){ | 288 | else if(byRxRate==108){ |
264 | pStatistic->CustomStat.ullRsr54M++; | 289 | pStatistic->CustomStat.ullRsr54M++; |
265 | if(byRSR & RSR_CRCOK) { | 290 | if(byRSR & RSR_CRCOK) { |
266 | pStatistic->CustomStat.ullRsr54MCRCOk++; | 291 | pStatistic->CustomStat.ullRsr54MCRCOk++; |
267 | } | 292 | } |
268 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"54M: ALL[%d], OK[%d]\n", (INT)pStatistic->CustomStat.ullRsr54M, (INT)pStatistic->CustomStat.ullRsr54MCRCOk); | 293 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "54M: ALL[%d], OK[%d]\n", |
294 | (signed int) pStatistic->CustomStat.ullRsr54M, | ||
295 | (signed int) pStatistic->CustomStat.ullRsr54MCRCOk); | ||
269 | } | 296 | } |
270 | else { | 297 | else { |
271 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"Unknown: Total[%d], CRCOK[%d]\n", (INT)pStatistic->dwRsrRxPacket+1, (INT)pStatistic->dwRsrCRCOk); | 298 | DBG_PRT(MSG_LEVEL_DEBUG, |
299 | KERN_INFO "Unknown: Total[%d], CRCOK[%d]\n", | ||
300 | (signed int) pStatistic->dwRsrRxPacket+1, | ||
301 | (signed int)pStatistic->dwRsrCRCOk); | ||
272 | } | 302 | } |
273 | 303 | ||
274 | if (byRSR & RSR_BSSIDOK) | 304 | if (byRSR & RSR_BSSIDOK) |
@@ -370,7 +400,7 @@ STAvUpdateRDStatCounterEx ( | |||
370 | BYTE byRxSts, | 400 | BYTE byRxSts, |
371 | BYTE byRxRate, | 401 | BYTE byRxRate, |
372 | PBYTE pbyBuffer, | 402 | PBYTE pbyBuffer, |
373 | UINT cbFrameLength | 403 | unsigned int cbFrameLength |
374 | ) | 404 | ) |
375 | { | 405 | { |
376 | STAvUpdateRDStatCounter( | 406 | STAvUpdateRDStatCounter( |
@@ -510,19 +540,22 @@ STAvUpdate802_11Counter( | |||
510 | ) | 540 | ) |
511 | { | 541 | { |
512 | //p802_11Counter->TransmittedFragmentCount | 542 | //p802_11Counter->TransmittedFragmentCount |
513 | p802_11Counter->MulticastTransmittedFrameCount = (ULONGLONG) (pStatistic->dwTsrBroadcast + | 543 | p802_11Counter->MulticastTransmittedFrameCount = |
514 | pStatistic->dwTsrMulticast); | 544 | (unsigned long long) (pStatistic->dwTsrBroadcast + |
515 | p802_11Counter->FailedCount = (ULONGLONG) (pStatistic->dwTsrErr); | 545 | pStatistic->dwTsrMulticast); |
516 | p802_11Counter->RetryCount = (ULONGLONG) (pStatistic->dwTsrRetry); | 546 | p802_11Counter->FailedCount = (unsigned long long) (pStatistic->dwTsrErr); |
517 | p802_11Counter->MultipleRetryCount = (ULONGLONG) (pStatistic->dwTsrMoreThanOnceRetry); | 547 | p802_11Counter->RetryCount = (unsigned long long) (pStatistic->dwTsrRetry); |
548 | p802_11Counter->MultipleRetryCount = | ||
549 | (unsigned long long) (pStatistic->dwTsrMoreThanOnceRetry); | ||
518 | //p802_11Counter->FrameDuplicateCount | 550 | //p802_11Counter->FrameDuplicateCount |
519 | p802_11Counter->RTSSuccessCount += (ULONGLONG) byRTSSuccess; | 551 | p802_11Counter->RTSSuccessCount += (unsigned long long) byRTSSuccess; |
520 | p802_11Counter->RTSFailureCount += (ULONGLONG) byRTSFail; | 552 | p802_11Counter->RTSFailureCount += (unsigned long long) byRTSFail; |
521 | p802_11Counter->ACKFailureCount += (ULONGLONG) byACKFail; | 553 | p802_11Counter->ACKFailureCount += (unsigned long long) byACKFail; |
522 | p802_11Counter->FCSErrorCount += (ULONGLONG) byFCSErr; | 554 | p802_11Counter->FCSErrorCount += (unsigned long long) byFCSErr; |
523 | //p802_11Counter->ReceivedFragmentCount | 555 | //p802_11Counter->ReceivedFragmentCount |
524 | p802_11Counter->MulticastReceivedFrameCount = (ULONGLONG) (pStatistic->dwRsrBroadcast + | 556 | p802_11Counter->MulticastReceivedFrameCount = |
525 | pStatistic->dwRsrMulticast); | 557 | (unsigned long long) (pStatistic->dwRsrBroadcast + |
558 | pStatistic->dwRsrMulticast); | ||
526 | } | 559 | } |
527 | 560 | ||
528 | /* | 561 | /* |
diff --git a/drivers/staging/vt6656/mib.h b/drivers/staging/vt6656/mib.h index ac996d2cd91..0455ec9d327 100644 --- a/drivers/staging/vt6656/mib.h +++ b/drivers/staging/vt6656/mib.h | |||
@@ -52,32 +52,34 @@ typedef struct tagSUSBCounter { | |||
52 | 52 | ||
53 | 53 | ||
54 | typedef struct tagSDot11Counters { | 54 | typedef struct tagSDot11Counters { |
55 | // ULONG Length; // Length of structure | 55 | /* unsigned long Length; // Length of structure */ |
56 | ULONGLONG TransmittedFragmentCount; | 56 | unsigned long long TransmittedFragmentCount; |
57 | ULONGLONG MulticastTransmittedFrameCount; | 57 | unsigned long long MulticastTransmittedFrameCount; |
58 | ULONGLONG FailedCount; | 58 | unsigned long long FailedCount; |
59 | ULONGLONG RetryCount; | 59 | unsigned long long RetryCount; |
60 | ULONGLONG MultipleRetryCount; | 60 | unsigned long long MultipleRetryCount; |
61 | ULONGLONG RTSSuccessCount; | 61 | unsigned long long RTSSuccessCount; |
62 | ULONGLONG RTSFailureCount; | 62 | unsigned long long RTSFailureCount; |
63 | ULONGLONG ACKFailureCount; | 63 | unsigned long long ACKFailureCount; |
64 | ULONGLONG FrameDuplicateCount; | 64 | unsigned long long FrameDuplicateCount; |
65 | ULONGLONG ReceivedFragmentCount; | 65 | unsigned long long ReceivedFragmentCount; |
66 | ULONGLONG MulticastReceivedFrameCount; | 66 | unsigned long long MulticastReceivedFrameCount; |
67 | ULONGLONG FCSErrorCount; | 67 | unsigned long long FCSErrorCount; |
68 | ULONGLONG TKIPLocalMICFailures; | 68 | unsigned long long TKIPLocalMICFailures; |
69 | ULONGLONG TKIPRemoteMICFailures; | 69 | unsigned long long TKIPRemoteMICFailures; |
70 | ULONGLONG TKIPICVErrors; | 70 | unsigned long long TKIPICVErrors; |
71 | ULONGLONG TKIPCounterMeasuresInvoked; | 71 | unsigned long long TKIPCounterMeasuresInvoked; |
72 | ULONGLONG TKIPReplays; | 72 | unsigned long long TKIPReplays; |
73 | ULONGLONG CCMPFormatErrors; | 73 | unsigned long long CCMPFormatErrors; |
74 | ULONGLONG CCMPReplays; | 74 | unsigned long long CCMPReplays; |
75 | ULONGLONG CCMPDecryptErrors; | 75 | unsigned long long CCMPDecryptErrors; |
76 | ULONGLONG FourWayHandshakeFailures; | 76 | unsigned long long FourWayHandshakeFailures; |
77 | // ULONGLONG WEPUndecryptableCount; | 77 | /* |
78 | // ULONGLONG WEPICVErrorCount; | 78 | * unsigned long long WEPUndecryptableCount; |
79 | // ULONGLONG DecryptSuccessCount; | 79 | * unsigned long long WEPICVErrorCount; |
80 | // ULONGLONG DecryptFailureCount; | 80 | * unsigned long long DecryptSuccessCount; |
81 | * unsigned long long DecryptFailureCount; | ||
82 | */ | ||
81 | } SDot11Counters, *PSDot11Counters; | 83 | } SDot11Counters, *PSDot11Counters; |
82 | 84 | ||
83 | 85 | ||
@@ -85,15 +87,15 @@ typedef struct tagSDot11Counters { | |||
85 | // MIB2 counter | 87 | // MIB2 counter |
86 | // | 88 | // |
87 | typedef struct tagSMib2Counter { | 89 | typedef struct tagSMib2Counter { |
88 | LONG ifIndex; | 90 | signed long ifIndex; |
89 | char ifDescr[256]; // max size 255 plus zero ending | 91 | char ifDescr[256]; // max size 255 plus zero ending |
90 | // e.g. "interface 1" | 92 | // e.g. "interface 1" |
91 | LONG ifType; | 93 | signed long ifType; |
92 | LONG ifMtu; | 94 | signed long ifMtu; |
93 | DWORD ifSpeed; | 95 | DWORD ifSpeed; |
94 | BYTE ifPhysAddress[U_ETHER_ADDR_LEN]; | 96 | BYTE ifPhysAddress[ETH_ALEN]; |
95 | LONG ifAdminStatus; | 97 | signed long ifAdminStatus; |
96 | LONG ifOperStatus; | 98 | signed long ifOperStatus; |
97 | DWORD ifLastChange; | 99 | DWORD ifLastChange; |
98 | DWORD ifInOctets; | 100 | DWORD ifInOctets; |
99 | DWORD ifInUcastPkts; | 101 | DWORD ifInUcastPkts; |
@@ -124,7 +126,7 @@ typedef struct tagSMib2Counter { | |||
124 | // RMON counter | 126 | // RMON counter |
125 | // | 127 | // |
126 | typedef struct tagSRmonCounter { | 128 | typedef struct tagSRmonCounter { |
127 | LONG etherStatsIndex; | 129 | signed long etherStatsIndex; |
128 | DWORD etherStatsDataSource; | 130 | DWORD etherStatsDataSource; |
129 | DWORD etherStatsDropEvents; | 131 | DWORD etherStatsDropEvents; |
130 | DWORD etherStatsOctets; | 132 | DWORD etherStatsOctets; |
@@ -151,37 +153,37 @@ typedef struct tagSRmonCounter { | |||
151 | // Custom counter | 153 | // Custom counter |
152 | // | 154 | // |
153 | typedef struct tagSCustomCounters { | 155 | typedef struct tagSCustomCounters { |
154 | ULONG Length; | 156 | unsigned long Length; |
155 | 157 | ||
156 | ULONGLONG ullTsrAllOK; | 158 | unsigned long long ullTsrAllOK; |
157 | 159 | ||
158 | ULONGLONG ullRsr11M; | 160 | unsigned long long ullRsr11M; |
159 | ULONGLONG ullRsr5M; | 161 | unsigned long long ullRsr5M; |
160 | ULONGLONG ullRsr2M; | 162 | unsigned long long ullRsr2M; |
161 | ULONGLONG ullRsr1M; | 163 | unsigned long long ullRsr1M; |
162 | 164 | ||
163 | ULONGLONG ullRsr11MCRCOk; | 165 | unsigned long long ullRsr11MCRCOk; |
164 | ULONGLONG ullRsr5MCRCOk; | 166 | unsigned long long ullRsr5MCRCOk; |
165 | ULONGLONG ullRsr2MCRCOk; | 167 | unsigned long long ullRsr2MCRCOk; |
166 | ULONGLONG ullRsr1MCRCOk; | 168 | unsigned long long ullRsr1MCRCOk; |
167 | 169 | ||
168 | ULONGLONG ullRsr54M; | 170 | unsigned long long ullRsr54M; |
169 | ULONGLONG ullRsr48M; | 171 | unsigned long long ullRsr48M; |
170 | ULONGLONG ullRsr36M; | 172 | unsigned long long ullRsr36M; |
171 | ULONGLONG ullRsr24M; | 173 | unsigned long long ullRsr24M; |
172 | ULONGLONG ullRsr18M; | 174 | unsigned long long ullRsr18M; |
173 | ULONGLONG ullRsr12M; | 175 | unsigned long long ullRsr12M; |
174 | ULONGLONG ullRsr9M; | 176 | unsigned long long ullRsr9M; |
175 | ULONGLONG ullRsr6M; | 177 | unsigned long long ullRsr6M; |
176 | 178 | ||
177 | ULONGLONG ullRsr54MCRCOk; | 179 | unsigned long long ullRsr54MCRCOk; |
178 | ULONGLONG ullRsr48MCRCOk; | 180 | unsigned long long ullRsr48MCRCOk; |
179 | ULONGLONG ullRsr36MCRCOk; | 181 | unsigned long long ullRsr36MCRCOk; |
180 | ULONGLONG ullRsr24MCRCOk; | 182 | unsigned long long ullRsr24MCRCOk; |
181 | ULONGLONG ullRsr18MCRCOk; | 183 | unsigned long long ullRsr18MCRCOk; |
182 | ULONGLONG ullRsr12MCRCOk; | 184 | unsigned long long ullRsr12MCRCOk; |
183 | ULONGLONG ullRsr9MCRCOk; | 185 | unsigned long long ullRsr9MCRCOk; |
184 | ULONGLONG ullRsr6MCRCOk; | 186 | unsigned long long ullRsr6MCRCOk; |
185 | 187 | ||
186 | } SCustomCounters, *PSCustomCounters; | 188 | } SCustomCounters, *PSCustomCounters; |
187 | 189 | ||
@@ -190,7 +192,7 @@ typedef struct tagSCustomCounters { | |||
190 | // Custom counter | 192 | // Custom counter |
191 | // | 193 | // |
192 | typedef struct tagSISRCounters { | 194 | typedef struct tagSISRCounters { |
193 | ULONG Length; | 195 | unsigned long Length; |
194 | 196 | ||
195 | DWORD dwIsrTx0OK; | 197 | DWORD dwIsrTx0OK; |
196 | DWORD dwIsrAC0TxOK; | 198 | DWORD dwIsrAC0TxOK; |
@@ -231,7 +233,7 @@ typedef struct tagSTxPktInfo { | |||
231 | BYTE byBroadMultiUni; | 233 | BYTE byBroadMultiUni; |
232 | WORD wLength; | 234 | WORD wLength; |
233 | WORD wFIFOCtl; | 235 | WORD wFIFOCtl; |
234 | BYTE abyDestAddr[U_ETHER_ADDR_LEN]; | 236 | BYTE abyDestAddr[ETH_ALEN]; |
235 | } STxPktInfo, *PSTxPktInfo; | 237 | } STxPktInfo, *PSTxPktInfo; |
236 | 238 | ||
237 | 239 | ||
@@ -277,15 +279,15 @@ typedef struct tagSStatCounter { | |||
277 | DWORD dwRsrMulticast; | 279 | DWORD dwRsrMulticast; |
278 | DWORD dwRsrDirected; | 280 | DWORD dwRsrDirected; |
279 | // 64-bit OID | 281 | // 64-bit OID |
280 | ULONGLONG ullRsrOK; | 282 | unsigned long long ullRsrOK; |
281 | 283 | ||
282 | // for some optional OIDs (64 bits) and DMI support | 284 | // for some optional OIDs (64 bits) and DMI support |
283 | ULONGLONG ullRxBroadcastBytes; | 285 | unsigned long long ullRxBroadcastBytes; |
284 | ULONGLONG ullRxMulticastBytes; | 286 | unsigned long long ullRxMulticastBytes; |
285 | ULONGLONG ullRxDirectedBytes; | 287 | unsigned long long ullRxDirectedBytes; |
286 | ULONGLONG ullRxBroadcastFrames; | 288 | unsigned long long ullRxBroadcastFrames; |
287 | ULONGLONG ullRxMulticastFrames; | 289 | unsigned long long ullRxMulticastFrames; |
288 | ULONGLONG ullRxDirectedFrames; | 290 | unsigned long long ullRxDirectedFrames; |
289 | 291 | ||
290 | DWORD dwRsrRxFragment; | 292 | DWORD dwRsrRxFragment; |
291 | DWORD dwRsrRxFrmLen64; | 293 | DWORD dwRsrRxFrmLen64; |
@@ -330,15 +332,15 @@ typedef struct tagSStatCounter { | |||
330 | 332 | ||
331 | 333 | ||
332 | // 64-bit OID | 334 | // 64-bit OID |
333 | ULONGLONG ullTsrOK; | 335 | unsigned long long ullTsrOK; |
334 | 336 | ||
335 | // for some optional OIDs (64 bits) and DMI support | 337 | // for some optional OIDs (64 bits) and DMI support |
336 | ULONGLONG ullTxBroadcastFrames; | 338 | unsigned long long ullTxBroadcastFrames; |
337 | ULONGLONG ullTxMulticastFrames; | 339 | unsigned long long ullTxMulticastFrames; |
338 | ULONGLONG ullTxDirectedFrames; | 340 | unsigned long long ullTxDirectedFrames; |
339 | ULONGLONG ullTxBroadcastBytes; | 341 | unsigned long long ullTxBroadcastBytes; |
340 | ULONGLONG ullTxMulticastBytes; | 342 | unsigned long long ullTxMulticastBytes; |
341 | ULONGLONG ullTxDirectedBytes; | 343 | unsigned long long ullTxDirectedBytes; |
342 | 344 | ||
343 | // for autorate | 345 | // for autorate |
344 | DWORD dwTxOk[MAX_RATE+1]; | 346 | DWORD dwTxOk[MAX_RATE+1]; |
@@ -356,15 +358,15 @@ typedef struct tagSStatCounter { | |||
356 | 358 | ||
357 | #ifdef Calcu_LinkQual | 359 | #ifdef Calcu_LinkQual |
358 | //Tx count: | 360 | //Tx count: |
359 | ULONG TxNoRetryOkCount; //success tx no retry ! | 361 | unsigned long TxNoRetryOkCount; /* success tx no retry ! */ |
360 | ULONG TxRetryOkCount; //success tx but retry ! | 362 | unsigned long TxRetryOkCount; /* success tx but retry ! */ |
361 | ULONG TxFailCount; //fail tx ? | 363 | unsigned long TxFailCount; /* fail tx ? */ |
362 | //Rx count: | 364 | //Rx count: |
363 | ULONG RxOkCnt; //success rx ! | 365 | unsigned long RxOkCnt; /* success rx ! */ |
364 | ULONG RxFcsErrCnt; //fail rx ? | 366 | unsigned long RxFcsErrCnt; /* fail rx ? */ |
365 | //statistic | 367 | //statistic |
366 | ULONG SignalStren; | 368 | unsigned long SignalStren; |
367 | ULONG LinkQuality; | 369 | unsigned long LinkQuality; |
368 | #endif | 370 | #endif |
369 | 371 | ||
370 | } SStatCounter, *PSStatCounter; | 372 | } SStatCounter, *PSStatCounter; |
@@ -382,13 +384,14 @@ void STAvClearAllCounter(PSStatCounter pStatistic); | |||
382 | void STAvUpdateIsrStatCounter (PSStatCounter pStatistic, BYTE byIsr0, BYTE byIsr1); | 384 | void STAvUpdateIsrStatCounter (PSStatCounter pStatistic, BYTE byIsr0, BYTE byIsr1); |
383 | 385 | ||
384 | void STAvUpdateRDStatCounter(PSStatCounter pStatistic, | 386 | void STAvUpdateRDStatCounter(PSStatCounter pStatistic, |
385 | BYTE byRSR, BYTE byNewRSR, BYTE byRxSts, BYTE byRxRate, | 387 | BYTE byRSR, BYTE byNewRSR, BYTE byRxSts, |
386 | PBYTE pbyBuffer, UINT cbFrameLength); | 388 | BYTE byRxRate, PBYTE pbyBuffer, |
389 | unsigned int cbFrameLength); | ||
387 | 390 | ||
388 | void STAvUpdateRDStatCounterEx(PSStatCounter pStatistic, | 391 | void STAvUpdateRDStatCounterEx(PSStatCounter pStatistic, |
389 | BYTE byRSR, BYTE byNewRSR, BYTE byRxSts, BYTE byRxRate, | 392 | BYTE byRSR, BYTE byNewRSR, BYTE byRxSts, |
390 | PBYTE pbyBuffer, UINT cbFrameLength); | 393 | BYTE byRxRate, PBYTE pbyBuffer, |
391 | 394 | unsigned int cbFrameLength); | |
392 | 395 | ||
393 | void | 396 | void |
394 | STAvUpdateTDStatCounter ( | 397 | STAvUpdateTDStatCounter ( |
@@ -417,7 +420,4 @@ STAvUpdateUSBCounter( | |||
417 | NTSTATUS ntStatus | 420 | NTSTATUS ntStatus |
418 | ); | 421 | ); |
419 | 422 | ||
420 | #endif // __MIB_H__ | 423 | #endif /* __MIB_H__ */ |
421 | |||
422 | |||
423 | |||
diff --git a/drivers/staging/vt6656/michael.c b/drivers/staging/vt6656/michael.c index c930e0cdb85..671a8cf33e2 100644 --- a/drivers/staging/vt6656/michael.c +++ b/drivers/staging/vt6656/michael.c | |||
@@ -48,20 +48,23 @@ | |||
48 | 48 | ||
49 | /*--------------------- Static Functions --------------------------*/ | 49 | /*--------------------- Static Functions --------------------------*/ |
50 | /* | 50 | /* |
51 | static DWORD s_dwGetUINT32(BYTE * p); // Get DWORD from 4 bytes LSByte first | 51 | * static DWORD s_dwGetUINT32(BYTE * p); Get DWORD from |
52 | static VOID s_vPutUINT32(BYTE* p, DWORD val); // Put DWORD into 4 bytes LSByte first | 52 | * 4 bytes LSByte first |
53 | */ | 53 | * static void s_vPutUINT32(BYTE* p, DWORD val); Put DWORD into |
54 | static VOID s_vClear(void); // Clear the internal message, | 54 | * 4 bytes LSByte first |
55 | // resets the object to the state just after construction. | 55 | */ |
56 | static VOID s_vSetKey(DWORD dwK0, DWORD dwK1); | 56 | static void s_vClear(void); /* Clear the internal message, |
57 | static VOID s_vAppendByte(BYTE b); // Add a single byte to the internal message | 57 | * resets the object to the |
58 | * state just after construction. */ | ||
59 | static void s_vSetKey(DWORD dwK0, DWORD dwK1); | ||
60 | static void s_vAppendByte(BYTE b); /* Add a single byte to the internal | ||
61 | * message */ | ||
58 | 62 | ||
59 | /*--------------------- Export Variables --------------------------*/ | 63 | /*--------------------- Export Variables --------------------------*/ |
60 | static DWORD L, R; // Current state | 64 | static DWORD L, R; /* Current state */ |
61 | 65 | static DWORD K0, K1; /* Key */ | |
62 | static DWORD K0, K1; // Key | 66 | static DWORD M; /* Message accumulator (single word) */ |
63 | static DWORD M; // Message accumulator (single word) | 67 | static unsigned int nBytesInM; /* # bytes in M */ |
64 | static UINT nBytesInM; // # bytes in M | ||
65 | 68 | ||
66 | /*--------------------- Export Functions --------------------------*/ | 69 | /*--------------------- Export Functions --------------------------*/ |
67 | 70 | ||
@@ -69,113 +72,105 @@ static UINT nBytesInM; // # bytes in M | |||
69 | static DWORD s_dwGetUINT32 (BYTE * p) | 72 | static DWORD s_dwGetUINT32 (BYTE * p) |
70 | // Convert from BYTE[] to DWORD in a portable way | 73 | // Convert from BYTE[] to DWORD in a portable way |
71 | { | 74 | { |
72 | DWORD res = 0; | 75 | DWORD res = 0; |
73 | UINT i; | 76 | unsigned int i; |
74 | for(i=0; i<4; i++ ) | 77 | for(i=0; i<4; i++ ) |
75 | { | 78 | res |= (*p++) << (8*i); |
76 | res |= (*p++) << (8*i); | 79 | return res; |
77 | } | ||
78 | return res; | ||
79 | } | 80 | } |
80 | 81 | ||
81 | static VOID s_vPutUINT32 (BYTE* p, DWORD val) | 82 | static void s_vPutUINT32(BYTE *p, DWORD val) |
82 | // Convert from DWORD to BYTE[] in a portable way | 83 | // Convert from DWORD to BYTE[] in a portable way |
83 | { | 84 | { |
84 | UINT i; | 85 | unsigned int i; |
85 | for(i=0; i<4; i++ ) | 86 | for(i=0; i<4; i++ ) { |
86 | { | 87 | *p++ = (BYTE) (val & 0xff); |
87 | *p++ = (BYTE) (val & 0xff); | 88 | val >>= 8; |
88 | val >>= 8; | 89 | } |
89 | } | ||
90 | } | 90 | } |
91 | */ | 91 | */ |
92 | 92 | ||
93 | static VOID s_vClear (void) | 93 | static void s_vClear(void) |
94 | { | 94 | { |
95 | // Reset the state to the empty message. | 95 | /* Reset the state to the empty message. */ |
96 | L = K0; | 96 | L = K0; |
97 | R = K1; | 97 | R = K1; |
98 | nBytesInM = 0; | 98 | nBytesInM = 0; |
99 | M = 0; | 99 | M = 0; |
100 | } | 100 | } |
101 | 101 | ||
102 | static VOID s_vSetKey (DWORD dwK0, DWORD dwK1) | 102 | static void s_vSetKey(DWORD dwK0, DWORD dwK1) |
103 | { | 103 | { |
104 | // Set the key | 104 | /* Set the key */ |
105 | K0 = dwK0; | 105 | K0 = dwK0; |
106 | K1 = dwK1; | 106 | K1 = dwK1; |
107 | // and reset the message | 107 | /* and reset the message */ |
108 | s_vClear(); | 108 | s_vClear(); |
109 | } | 109 | } |
110 | 110 | ||
111 | static VOID s_vAppendByte (BYTE b) | 111 | static void s_vAppendByte(BYTE b) |
112 | { | 112 | { |
113 | // Append the byte to our word-sized buffer | 113 | /* Append the byte to our word-sized buffer */ |
114 | M |= b << (8*nBytesInM); | 114 | M |= b << (8*nBytesInM); |
115 | nBytesInM++; | 115 | nBytesInM++; |
116 | // Process the word if it is full. | 116 | /* Process the word if it is full. */ |
117 | if( nBytesInM >= 4 ) | 117 | if (nBytesInM >= 4) { |
118 | { | 118 | L ^= M; |
119 | L ^= M; | 119 | R ^= ROL32(L, 17); |
120 | R ^= ROL32( L, 17 ); | 120 | L += R; |
121 | L += R; | 121 | R ^= ((L & 0xff00ff00) >> 8) | ((L & 0x00ff00ff) << 8); |
122 | R ^= ((L & 0xff00ff00) >> 8) | ((L & 0x00ff00ff) << 8); | 122 | L += R; |
123 | L += R; | 123 | R ^= ROL32(L, 3); |
124 | R ^= ROL32( L, 3 ); | 124 | L += R; |
125 | L += R; | 125 | R ^= ROR32(L, 2); |
126 | R ^= ROR32( L, 2 ); | 126 | L += R; |
127 | L += R; | 127 | /* Clear the buffer */ |
128 | // Clear the buffer | 128 | M = 0; |
129 | M = 0; | 129 | nBytesInM = 0; |
130 | nBytesInM = 0; | 130 | } |
131 | } | ||
132 | } | 131 | } |
133 | 132 | ||
134 | VOID MIC_vInit (DWORD dwK0, DWORD dwK1) | 133 | void MIC_vInit(DWORD dwK0, DWORD dwK1) |
135 | { | 134 | { |
136 | // Set the key | 135 | /* Set the key */ |
137 | s_vSetKey(dwK0, dwK1); | 136 | s_vSetKey(dwK0, dwK1); |
138 | } | 137 | } |
139 | 138 | ||
140 | 139 | ||
141 | VOID MIC_vUnInit (void) | 140 | void MIC_vUnInit(void) |
142 | { | 141 | { |
143 | // Wipe the key material | 142 | /* Wipe the key material */ |
144 | K0 = 0; | 143 | K0 = 0; |
145 | K1 = 0; | 144 | K1 = 0; |
146 | 145 | ||
147 | // And the other fields as well. | 146 | /* And the other fields as well. */ |
148 | //Note that this sets (L,R) to (K0,K1) which is just fine. | 147 | /* Note that this sets (L,R) to (K0,K1) which is just fine. */ |
149 | s_vClear(); | 148 | s_vClear(); |
150 | } | 149 | } |
151 | 150 | ||
152 | VOID MIC_vAppend (PBYTE src, UINT nBytes) | 151 | void MIC_vAppend(PBYTE src, unsigned int nBytes) |
153 | { | 152 | { |
154 | // This is simple | 153 | /* This is simple */ |
155 | while (nBytes > 0) | 154 | while (nBytes > 0) { |
156 | { | 155 | s_vAppendByte(*src++); |
157 | s_vAppendByte(*src++); | 156 | nBytes--; |
158 | nBytes--; | 157 | } |
159 | } | ||
160 | } | 158 | } |
161 | 159 | ||
162 | VOID MIC_vGetMIC (PDWORD pdwL, PDWORD pdwR) | 160 | void MIC_vGetMIC(PDWORD pdwL, PDWORD pdwR) |
163 | { | 161 | { |
164 | // Append the minimum padding | 162 | /* Append the minimum padding */ |
165 | s_vAppendByte(0x5a); | 163 | s_vAppendByte(0x5a); |
166 | s_vAppendByte(0); | 164 | s_vAppendByte(0); |
167 | s_vAppendByte(0); | 165 | s_vAppendByte(0); |
168 | s_vAppendByte(0); | 166 | s_vAppendByte(0); |
169 | s_vAppendByte(0); | 167 | s_vAppendByte(0); |
170 | // and then zeroes until the length is a multiple of 4 | 168 | /* and then zeroes until the length is a multiple of 4 */ |
171 | while( nBytesInM != 0 ) | 169 | while (nBytesInM != 0) |
172 | { | 170 | s_vAppendByte(0); |
173 | s_vAppendByte(0); | 171 | /* The s_vAppendByte function has already computed the result. */ |
174 | } | 172 | *pdwL = L; |
175 | // The s_vAppendByte function has already computed the result. | 173 | *pdwR = R; |
176 | *pdwL = L; | 174 | /* Reset to the empty message. */ |
177 | *pdwR = R; | 175 | s_vClear(); |
178 | // Reset to the empty message. | ||
179 | s_vClear(); | ||
180 | } | 176 | } |
181 | |||
diff --git a/drivers/staging/vt6656/michael.h b/drivers/staging/vt6656/michael.h index 3f79b52832d..3ab60928ef3 100644 --- a/drivers/staging/vt6656/michael.h +++ b/drivers/staging/vt6656/michael.h | |||
@@ -35,16 +35,16 @@ | |||
35 | 35 | ||
36 | /*--------------------- Export Types ------------------------------*/ | 36 | /*--------------------- Export Types ------------------------------*/ |
37 | 37 | ||
38 | VOID MIC_vInit(DWORD dwK0, DWORD dwK1); | 38 | void MIC_vInit(DWORD dwK0, DWORD dwK1); |
39 | 39 | ||
40 | VOID MIC_vUnInit(void); | 40 | void MIC_vUnInit(void); |
41 | 41 | ||
42 | // Append bytes to the message to be MICed | 42 | // Append bytes to the message to be MICed |
43 | VOID MIC_vAppend(PBYTE src, UINT nBytes); | 43 | void MIC_vAppend(PBYTE src, unsigned int nBytes); |
44 | 44 | ||
45 | // Get the MIC result. Destination should accept 8 bytes of result. | 45 | // Get the MIC result. Destination should accept 8 bytes of result. |
46 | // This also resets the message to empty. | 46 | // This also resets the message to empty. |
47 | VOID MIC_vGetMIC(PDWORD pdwL, PDWORD pdwR); | 47 | void MIC_vGetMIC(PDWORD pdwL, PDWORD pdwR); |
48 | 48 | ||
49 | /*--------------------- Export Macros ------------------------------*/ | 49 | /*--------------------- Export Macros ------------------------------*/ |
50 | 50 | ||
@@ -53,6 +53,4 @@ VOID MIC_vGetMIC(PDWORD pdwL, PDWORD pdwR); | |||
53 | ( ((A) << (n)) | ( ((A)>>(32-(n))) & ( (1UL << (n)) - 1 ) ) ) | 53 | ( ((A) << (n)) | ( ((A)>>(32-(n))) & ( (1UL << (n)) - 1 ) ) ) |
54 | #define ROR32( A, n ) ROL32( (A), 32-(n) ) | 54 | #define ROR32( A, n ) ROL32( (A), 32-(n) ) |
55 | 55 | ||
56 | #endif //__MICHAEL_H__ | 56 | #endif /* __MICHAEL_H__ */ |
57 | |||
58 | |||
diff --git a/drivers/staging/vt6656/power.c b/drivers/staging/vt6656/power.c index b5702b098e1..766c5be6fd2 100644 --- a/drivers/staging/vt6656/power.c +++ b/drivers/staging/vt6656/power.c | |||
@@ -50,19 +50,14 @@ | |||
50 | 50 | ||
51 | /*--------------------- Static Definitions -------------------------*/ | 51 | /*--------------------- Static Definitions -------------------------*/ |
52 | 52 | ||
53 | |||
54 | |||
55 | |||
56 | /*--------------------- Static Classes ----------------------------*/ | 53 | /*--------------------- Static Classes ----------------------------*/ |
57 | 54 | ||
58 | /*--------------------- Static Variables --------------------------*/ | 55 | /*--------------------- Static Variables --------------------------*/ |
59 | static int msglevel =MSG_LEVEL_INFO; | 56 | static int msglevel =MSG_LEVEL_INFO; |
60 | /*--------------------- Static Functions --------------------------*/ | 57 | /*--------------------- Static Functions --------------------------*/ |
61 | 58 | ||
62 | |||
63 | /*--------------------- Export Variables --------------------------*/ | 59 | /*--------------------- Export Variables --------------------------*/ |
64 | 60 | ||
65 | |||
66 | /*--------------------- Export Functions --------------------------*/ | 61 | /*--------------------- Export Functions --------------------------*/ |
67 | 62 | ||
68 | /*+ | 63 | /*+ |
@@ -75,12 +70,8 @@ static int msglevel =MSG_LEVEL_INFO; | |||
75 | * | 70 | * |
76 | -*/ | 71 | -*/ |
77 | 72 | ||
78 | 73 | void PSvEnablePowerSaving(void *hDeviceContext, | |
79 | VOID | 74 | WORD wListenInterval) |
80 | PSvEnablePowerSaving( | ||
81 | IN HANDLE hDeviceContext, | ||
82 | IN WORD wListenInterval | ||
83 | ) | ||
84 | { | 75 | { |
85 | PSDevice pDevice = (PSDevice)hDeviceContext; | 76 | PSDevice pDevice = (PSDevice)hDeviceContext; |
86 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); | 77 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); |
@@ -128,7 +119,7 @@ PSvEnablePowerSaving( | |||
128 | pDevice->bEnablePSMode = TRUE; | 119 | pDevice->bEnablePSMode = TRUE; |
129 | 120 | ||
130 | if (pDevice->eOPMode == OP_MODE_ADHOC) { | 121 | if (pDevice->eOPMode == OP_MODE_ADHOC) { |
131 | // bMgrPrepareBeaconToSend((HANDLE)pDevice, pMgmt); | 122 | /* bMgrPrepareBeaconToSend((void *) pDevice, pMgmt); */ |
132 | } | 123 | } |
133 | // We don't send null pkt in ad hoc mode since beacon will handle this. | 124 | // We don't send null pkt in ad hoc mode since beacon will handle this. |
134 | else if (pDevice->eOPMode == OP_MODE_INFRASTRUCTURE) { | 125 | else if (pDevice->eOPMode == OP_MODE_INFRASTRUCTURE) { |
@@ -139,11 +130,6 @@ PSvEnablePowerSaving( | |||
139 | return; | 130 | return; |
140 | } | 131 | } |
141 | 132 | ||
142 | |||
143 | |||
144 | |||
145 | |||
146 | |||
147 | /*+ | 133 | /*+ |
148 | * | 134 | * |
149 | * Routine Description: | 135 | * Routine Description: |
@@ -154,10 +140,7 @@ PSvEnablePowerSaving( | |||
154 | * | 140 | * |
155 | -*/ | 141 | -*/ |
156 | 142 | ||
157 | VOID | 143 | void PSvDisablePowerSaving(void *hDeviceContext) |
158 | PSvDisablePowerSaving( | ||
159 | IN HANDLE hDeviceContext | ||
160 | ) | ||
161 | { | 144 | { |
162 | PSDevice pDevice = (PSDevice)hDeviceContext; | 145 | PSDevice pDevice = (PSDevice)hDeviceContext; |
163 | // PSMgmtObject pMgmt = &(pDevice->sMgmtObj); | 146 | // PSMgmtObject pMgmt = &(pDevice->sMgmtObj); |
@@ -187,7 +170,6 @@ PSvDisablePowerSaving( | |||
187 | return; | 170 | return; |
188 | } | 171 | } |
189 | 172 | ||
190 | |||
191 | /*+ | 173 | /*+ |
192 | * | 174 | * |
193 | * Routine Description: | 175 | * Routine Description: |
@@ -198,13 +180,9 @@ PSvDisablePowerSaving( | |||
198 | * FALSE, if fail | 180 | * FALSE, if fail |
199 | -*/ | 181 | -*/ |
200 | 182 | ||
201 | 183 | BOOL PSbConsiderPowerDown(void *hDeviceContext, | |
202 | BOOL | 184 | BOOL bCheckRxDMA, |
203 | PSbConsiderPowerDown( | 185 | BOOL bCheckCountToWakeUp) |
204 | IN HANDLE hDeviceContext, | ||
205 | IN BOOL bCheckRxDMA, | ||
206 | IN BOOL bCheckCountToWakeUp | ||
207 | ) | ||
208 | { | 186 | { |
209 | PSDevice pDevice = (PSDevice)hDeviceContext; | 187 | PSDevice pDevice = (PSDevice)hDeviceContext; |
210 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); | 188 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); |
@@ -248,8 +226,6 @@ PSbConsiderPowerDown( | |||
248 | return TRUE; | 226 | return TRUE; |
249 | } | 227 | } |
250 | 228 | ||
251 | |||
252 | |||
253 | /*+ | 229 | /*+ |
254 | * | 230 | * |
255 | * Routine Description: | 231 | * Routine Description: |
@@ -260,12 +236,7 @@ PSbConsiderPowerDown( | |||
260 | * | 236 | * |
261 | -*/ | 237 | -*/ |
262 | 238 | ||
263 | 239 | void PSvSendPSPOLL(void *hDeviceContext) | |
264 | |||
265 | VOID | ||
266 | PSvSendPSPOLL( | ||
267 | IN HANDLE hDeviceContext | ||
268 | ) | ||
269 | { | 240 | { |
270 | PSDevice pDevice = (PSDevice)hDeviceContext; | 241 | PSDevice pDevice = (PSDevice)hDeviceContext; |
271 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); | 242 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); |
@@ -297,8 +268,6 @@ PSvSendPSPOLL( | |||
297 | return; | 268 | return; |
298 | } | 269 | } |
299 | 270 | ||
300 | |||
301 | |||
302 | /*+ | 271 | /*+ |
303 | * | 272 | * |
304 | * Routine Description: | 273 | * Routine Description: |
@@ -308,10 +277,8 @@ PSvSendPSPOLL( | |||
308 | * None. | 277 | * None. |
309 | * | 278 | * |
310 | -*/ | 279 | -*/ |
311 | BOOL | 280 | |
312 | PSbSendNullPacket( | 281 | BOOL PSbSendNullPacket(void *hDeviceContext) |
313 | IN HANDLE hDeviceContext | ||
314 | ) | ||
315 | { | 282 | { |
316 | PSDevice pDevice = (PSDevice)hDeviceContext; | 283 | PSDevice pDevice = (PSDevice)hDeviceContext; |
317 | PSTxMgmtPacket pTxPacket = NULL; | 284 | PSTxMgmtPacket pTxPacket = NULL; |
@@ -388,10 +355,7 @@ PSbSendNullPacket( | |||
388 | * | 355 | * |
389 | -*/ | 356 | -*/ |
390 | 357 | ||
391 | BOOL | 358 | BOOL PSbIsNextTBTTWakeUp(void *hDeviceContext) |
392 | PSbIsNextTBTTWakeUp( | ||
393 | IN HANDLE hDeviceContext | ||
394 | ) | ||
395 | { | 359 | { |
396 | 360 | ||
397 | PSDevice pDevice = (PSDevice)hDeviceContext; | 361 | PSDevice pDevice = (PSDevice)hDeviceContext; |
diff --git a/drivers/staging/vt6656/power.h b/drivers/staging/vt6656/power.h index c33c93a86f5..50792bb8c97 100644 --- a/drivers/staging/vt6656/power.h +++ b/drivers/staging/vt6656/power.h | |||
@@ -45,40 +45,17 @@ | |||
45 | 45 | ||
46 | /*--------------------- Export Functions --------------------------*/ | 46 | /*--------------------- Export Functions --------------------------*/ |
47 | 47 | ||
48 | // IN PSDevice pDevice | 48 | /* PSDevice pDevice */ |
49 | // IN PSDevice hDeviceContext | 49 | /* PSDevice hDeviceContext */ |
50 | 50 | ||
51 | BOOL | 51 | BOOL PSbConsiderPowerDown(void *hDeviceContext, |
52 | PSbConsiderPowerDown( | 52 | BOOL bCheckRxDMA, |
53 | IN HANDLE hDeviceContext, | 53 | BOOL bCheckCountToWakeUp); |
54 | IN BOOL bCheckRxDMA, | ||
55 | IN BOOL bCheckCountToWakeUp | ||
56 | ); | ||
57 | 54 | ||
58 | VOID | 55 | void PSvDisablePowerSaving(void *hDeviceContext); |
59 | PSvDisablePowerSaving( | 56 | void PSvEnablePowerSaving(void *hDeviceContext, WORD wListenInterval); |
60 | IN HANDLE hDeviceContext | 57 | void PSvSendPSPOLL(void *hDeviceContext); |
61 | ); | 58 | BOOL PSbSendNullPacket(void *hDeviceContext); |
59 | BOOL PSbIsNextTBTTWakeUp(void *hDeviceContext); | ||
62 | 60 | ||
63 | VOID | 61 | #endif /* __POWER_H__ */ |
64 | PSvEnablePowerSaving( | ||
65 | IN HANDLE hDeviceContext, | ||
66 | IN WORD wListenInterval | ||
67 | ); | ||
68 | |||
69 | VOID | ||
70 | PSvSendPSPOLL( | ||
71 | IN HANDLE hDeviceContext | ||
72 | ); | ||
73 | |||
74 | BOOL | ||
75 | PSbSendNullPacket( | ||
76 | IN HANDLE hDeviceContext | ||
77 | ); | ||
78 | |||
79 | BOOL | ||
80 | PSbIsNextTBTTWakeUp( | ||
81 | IN HANDLE hDeviceContext | ||
82 | ); | ||
83 | |||
84 | #endif //__POWER_H__ | ||
diff --git a/drivers/staging/vt6656/rc4.c b/drivers/staging/vt6656/rc4.c index e6c61312fd2..5c3c2d0552b 100644 --- a/drivers/staging/vt6656/rc4.c +++ b/drivers/staging/vt6656/rc4.c | |||
@@ -32,56 +32,56 @@ | |||
32 | 32 | ||
33 | #include "rc4.h" | 33 | #include "rc4.h" |
34 | 34 | ||
35 | VOID rc4_init(PRC4Ext pRC4, PBYTE pbyKey, UINT cbKey_len) | 35 | void rc4_init(PRC4Ext pRC4, PBYTE pbyKey, unsigned int cbKey_len) |
36 | { | 36 | { |
37 | UINT ust1, ust2; | 37 | unsigned int ust1, ust2; |
38 | UINT keyindex; | 38 | unsigned int keyindex; |
39 | UINT stateindex; | 39 | unsigned int stateindex; |
40 | PBYTE pbyst; | 40 | PBYTE pbyst; |
41 | UINT idx; | 41 | unsigned int idx; |
42 | 42 | ||
43 | pbyst = pRC4->abystate; | 43 | pbyst = pRC4->abystate; |
44 | pRC4->ux = 0; | 44 | pRC4->ux = 0; |
45 | pRC4->uy = 0; | 45 | pRC4->uy = 0; |
46 | for (idx = 0; idx < 256; idx++) | 46 | for (idx = 0; idx < 256; idx++) |
47 | pbyst[idx] = (BYTE)idx; | 47 | pbyst[idx] = (BYTE)idx; |
48 | keyindex = 0; | 48 | keyindex = 0; |
49 | stateindex = 0; | 49 | stateindex = 0; |
50 | for (idx = 0; idx < 256; idx++) { | 50 | for (idx = 0; idx < 256; idx++) { |
51 | ust1 = pbyst[idx]; | 51 | ust1 = pbyst[idx]; |
52 | stateindex = (stateindex + pbyKey[keyindex] + ust1) & 0xff; | 52 | stateindex = (stateindex + pbyKey[keyindex] + ust1) & 0xff; |
53 | ust2 = pbyst[stateindex]; | 53 | ust2 = pbyst[stateindex]; |
54 | pbyst[stateindex] = (BYTE)ust1; | 54 | pbyst[stateindex] = (BYTE)ust1; |
55 | pbyst[idx] = (BYTE)ust2; | 55 | pbyst[idx] = (BYTE)ust2; |
56 | if (++keyindex >= cbKey_len) | 56 | if (++keyindex >= cbKey_len) |
57 | keyindex = 0; | 57 | keyindex = 0; |
58 | } | 58 | } |
59 | } | 59 | } |
60 | 60 | ||
61 | UINT rc4_byte(PRC4Ext pRC4) | 61 | unsigned int rc4_byte(PRC4Ext pRC4) |
62 | { | 62 | { |
63 | UINT ux; | 63 | unsigned int ux; |
64 | UINT uy; | 64 | unsigned int uy; |
65 | UINT ustx, usty; | 65 | unsigned int ustx, usty; |
66 | PBYTE pbyst; | 66 | PBYTE pbyst; |
67 | 67 | ||
68 | pbyst = pRC4->abystate; | 68 | pbyst = pRC4->abystate; |
69 | ux = (pRC4->ux + 1) & 0xff; | 69 | ux = (pRC4->ux + 1) & 0xff; |
70 | ustx = pbyst[ux]; | 70 | ustx = pbyst[ux]; |
71 | uy = (ustx + pRC4->uy) & 0xff; | 71 | uy = (ustx + pRC4->uy) & 0xff; |
72 | usty = pbyst[uy]; | 72 | usty = pbyst[uy]; |
73 | pRC4->ux = ux; | 73 | pRC4->ux = ux; |
74 | pRC4->uy = uy; | 74 | pRC4->uy = uy; |
75 | pbyst[uy] = (BYTE)ustx; | 75 | pbyst[uy] = (BYTE)ustx; |
76 | pbyst[ux] = (BYTE)usty; | 76 | pbyst[ux] = (BYTE)usty; |
77 | 77 | ||
78 | return pbyst[(ustx + usty) & 0xff]; | 78 | return pbyst[(ustx + usty) & 0xff]; |
79 | } | 79 | } |
80 | 80 | ||
81 | VOID rc4_encrypt(PRC4Ext pRC4, PBYTE pbyDest, | 81 | void rc4_encrypt(PRC4Ext pRC4, PBYTE pbyDest, |
82 | PBYTE pbySrc, UINT cbData_len) | 82 | PBYTE pbySrc, unsigned int cbData_len) |
83 | { | 83 | { |
84 | UINT ii; | 84 | unsigned int ii; |
85 | for (ii = 0; ii < cbData_len; ii++) | 85 | for (ii = 0; ii < cbData_len; ii++) |
86 | pbyDest[ii] = (BYTE)(pbySrc[ii] ^ rc4_byte(pRC4)); | 86 | pbyDest[ii] = (BYTE)(pbySrc[ii] ^ rc4_byte(pRC4)); |
87 | } | 87 | } |
diff --git a/drivers/staging/vt6656/rc4.h b/drivers/staging/vt6656/rc4.h index bf607c9d446..d447879c8f9 100644 --- a/drivers/staging/vt6656/rc4.h +++ b/drivers/staging/vt6656/rc4.h | |||
@@ -35,13 +35,14 @@ | |||
35 | /*--------------------- Export Definitions -------------------------*/ | 35 | /*--------------------- Export Definitions -------------------------*/ |
36 | /*--------------------- Export Types ------------------------------*/ | 36 | /*--------------------- Export Types ------------------------------*/ |
37 | typedef struct { | 37 | typedef struct { |
38 | UINT ux; | 38 | unsigned int ux; |
39 | UINT uy; | 39 | unsigned int uy; |
40 | BYTE abystate[256]; | 40 | BYTE abystate[256]; |
41 | } RC4Ext, *PRC4Ext; | 41 | } RC4Ext, *PRC4Ext; |
42 | 42 | ||
43 | VOID rc4_init(PRC4Ext pRC4, PBYTE pbyKey, UINT cbKey_len); | 43 | void rc4_init(PRC4Ext pRC4, PBYTE pbyKey, unsigned int cbKey_len); |
44 | UINT rc4_byte(PRC4Ext pRC4); | 44 | unsigned int rc4_byte(PRC4Ext pRC4); |
45 | void rc4_encrypt(PRC4Ext pRC4, PBYTE pbyDest, PBYTE pbySrc, UINT cbData_len); | 45 | void rc4_encrypt(PRC4Ext pRC4, PBYTE pbyDest, PBYTE pbySrc, |
46 | unsigned int cbData_len); | ||
46 | 47 | ||
47 | #endif //__RC4_H__ | 48 | #endif /* __RC4_H__ */ |
diff --git a/drivers/staging/vt6656/rf.c b/drivers/staging/vt6656/rf.c index 405c4f71b5f..3fd0478a9a5 100644 --- a/drivers/staging/vt6656/rf.c +++ b/drivers/staging/vt6656/rf.c | |||
@@ -757,9 +757,9 @@ BOOL IFRFbWriteEmbeded (PSDevice pDevice, DWORD dwData) | |||
757 | * | 757 | * |
758 | */ | 758 | */ |
759 | BOOL RFbSetPower ( | 759 | BOOL RFbSetPower ( |
760 | IN PSDevice pDevice, | 760 | PSDevice pDevice, |
761 | IN UINT uRATE, | 761 | unsigned int uRATE, |
762 | IN UINT uCH | 762 | unsigned int uCH |
763 | ) | 763 | ) |
764 | { | 764 | { |
765 | BOOL bResult = TRUE; | 765 | BOOL bResult = TRUE; |
@@ -811,9 +811,9 @@ BYTE byPwr = pDevice->byCCKPwr; | |||
811 | * | 811 | * |
812 | */ | 812 | */ |
813 | BOOL RFbRawSetPower ( | 813 | BOOL RFbRawSetPower ( |
814 | IN PSDevice pDevice, | 814 | PSDevice pDevice, |
815 | IN BYTE byPwr, | 815 | BYTE byPwr, |
816 | IN UINT uRATE | 816 | unsigned int uRATE |
817 | ) | 817 | ) |
818 | { | 818 | { |
819 | BOOL bResult = TRUE; | 819 | BOOL bResult = TRUE; |
@@ -954,16 +954,16 @@ BOOL bResult = TRUE; | |||
954 | * Return Value: none | 954 | * Return Value: none |
955 | * | 955 | * |
956 | -*/ | 956 | -*/ |
957 | VOID | 957 | void |
958 | RFvRSSITodBm ( | 958 | RFvRSSITodBm ( |
959 | IN PSDevice pDevice, | 959 | PSDevice pDevice, |
960 | IN BYTE byCurrRSSI, | 960 | BYTE byCurrRSSI, |
961 | long * pldBm | 961 | long * pldBm |
962 | ) | 962 | ) |
963 | { | 963 | { |
964 | BYTE byIdx = (((byCurrRSSI & 0xC0) >> 6) & 0x03); | 964 | BYTE byIdx = (((byCurrRSSI & 0xC0) >> 6) & 0x03); |
965 | LONG b = (byCurrRSSI & 0x3F); | 965 | signed long b = (byCurrRSSI & 0x3F); |
966 | LONG a = 0; | 966 | signed long a = 0; |
967 | BYTE abyAIROHARF[4] = {0, 18, 0, 40}; | 967 | BYTE abyAIROHARF[4] = {0, 18, 0, 40}; |
968 | 968 | ||
969 | switch (pDevice->byRFType) { | 969 | switch (pDevice->byRFType) { |
@@ -984,9 +984,9 @@ RFvRSSITodBm ( | |||
984 | 984 | ||
985 | 985 | ||
986 | 986 | ||
987 | VOID | 987 | void |
988 | RFbRFTableDownload ( | 988 | RFbRFTableDownload ( |
989 | IN PSDevice pDevice | 989 | PSDevice pDevice |
990 | ) | 990 | ) |
991 | { | 991 | { |
992 | WORD wLength1 = 0,wLength2 = 0 ,wLength3 = 0; | 992 | WORD wLength1 = 0,wLength2 = 0 ,wLength3 = 0; |
@@ -1133,9 +1133,9 @@ BYTE abyArray[256]; | |||
1133 | 1133 | ||
1134 | // RobertYu:20060412, TWIF1.11 adjust LO Current for 11b mode | 1134 | // RobertYu:20060412, TWIF1.11 adjust LO Current for 11b mode |
1135 | BOOL s_bVT3226D0_11bLoCurrentAdjust( | 1135 | BOOL s_bVT3226D0_11bLoCurrentAdjust( |
1136 | IN PSDevice pDevice, | 1136 | PSDevice pDevice, |
1137 | IN BYTE byChannel, | 1137 | BYTE byChannel, |
1138 | IN BOOL b11bMode ) | 1138 | BOOL b11bMode) |
1139 | { | 1139 | { |
1140 | BOOL bResult; | 1140 | BOOL bResult; |
1141 | 1141 | ||
diff --git a/drivers/staging/vt6656/rf.h b/drivers/staging/vt6656/rf.h index 55d882f78f2..d4f8b94132b 100644 --- a/drivers/staging/vt6656/rf.h +++ b/drivers/staging/vt6656/rf.h | |||
@@ -65,36 +65,33 @@ extern const BYTE RFaby11aChannelIndex[200]; | |||
65 | 65 | ||
66 | BOOL IFRFbWriteEmbeded(PSDevice pDevice, DWORD dwData); | 66 | BOOL IFRFbWriteEmbeded(PSDevice pDevice, DWORD dwData); |
67 | BOOL RFbSetPower ( | 67 | BOOL RFbSetPower ( |
68 | IN PSDevice pDevice, | 68 | PSDevice pDevice, |
69 | IN UINT uRATE, | 69 | unsigned int uRATE, |
70 | IN UINT uCH | 70 | unsigned int uCH |
71 | ); | 71 | ); |
72 | 72 | ||
73 | BOOL RFbRawSetPower( | 73 | BOOL RFbRawSetPower( |
74 | IN PSDevice pDevice, | 74 | PSDevice pDevice, |
75 | IN BYTE byPwr, | 75 | BYTE byPwr, |
76 | IN UINT uRATE | 76 | unsigned int uRATE |
77 | ); | 77 | ); |
78 | 78 | ||
79 | VOID | 79 | void |
80 | RFvRSSITodBm ( | 80 | RFvRSSITodBm ( |
81 | IN PSDevice pDevice, | 81 | PSDevice pDevice, |
82 | IN BYTE byCurrRSSI, | 82 | BYTE byCurrRSSI, |
83 | long * pldBm | 83 | long * pldBm |
84 | ); | 84 | ); |
85 | 85 | ||
86 | VOID | 86 | void |
87 | RFbRFTableDownload ( | 87 | RFbRFTableDownload ( |
88 | IN PSDevice pDevice | 88 | PSDevice pDevice |
89 | ); | 89 | ); |
90 | 90 | ||
91 | BOOL s_bVT3226D0_11bLoCurrentAdjust( | 91 | BOOL s_bVT3226D0_11bLoCurrentAdjust( |
92 | IN PSDevice pDevice, | 92 | PSDevice pDevice, |
93 | IN BYTE byChannel, | 93 | BYTE byChannel, |
94 | IN BOOL b11bMode | 94 | BOOL b11bMode |
95 | ); | 95 | ); |
96 | 96 | ||
97 | #endif // __RF_H__ | 97 | #endif /* __RF_H__ */ |
98 | |||
99 | |||
100 | |||
diff --git a/drivers/staging/vt6656/rndis.h b/drivers/staging/vt6656/rndis.h index 1d32d81079b..ac842dd13a6 100644 --- a/drivers/staging/vt6656/rndis.h +++ b/drivers/staging/vt6656/rndis.h | |||
@@ -158,5 +158,4 @@ typedef struct _CMD_CHANGE_BBTYPE | |||
158 | 158 | ||
159 | /*--------------------- Export Functions --------------------------*/ | 159 | /*--------------------- Export Functions --------------------------*/ |
160 | 160 | ||
161 | 161 | #endif /* _RNDIS_H_ */ | |
162 | #endif // _RNDIS_H_ | ||
diff --git a/drivers/staging/vt6656/rxtx.c b/drivers/staging/vt6656/rxtx.c index a2ce6fad8ee..3e7e56649a5 100644 --- a/drivers/staging/vt6656/rxtx.c +++ b/drivers/staging/vt6656/rxtx.c | |||
@@ -113,181 +113,173 @@ const WORD wFB_Opt1[2][5] = { | |||
113 | /*--------------------- Static Functions --------------------------*/ | 113 | /*--------------------- Static Functions --------------------------*/ |
114 | 114 | ||
115 | static | 115 | static |
116 | VOID | 116 | void |
117 | s_vSaveTxPktInfo( | 117 | s_vSaveTxPktInfo( |
118 | IN PSDevice pDevice, | 118 | PSDevice pDevice, |
119 | IN BYTE byPktNum, | 119 | BYTE byPktNum, |
120 | IN PBYTE pbyDestAddr, | 120 | PBYTE pbyDestAddr, |
121 | IN WORD wPktLength, | 121 | WORD wPktLength, |
122 | IN WORD wFIFOCtl | 122 | WORD wFIFOCtl |
123 | ); | 123 | ); |
124 | 124 | ||
125 | static | 125 | static |
126 | PVOID | 126 | void * |
127 | s_vGetFreeContext( | 127 | s_vGetFreeContext( |
128 | PSDevice pDevice | 128 | PSDevice pDevice |
129 | ); | 129 | ); |
130 | 130 | ||
131 | 131 | ||
132 | static | 132 | static |
133 | VOID | 133 | void |
134 | s_vGenerateTxParameter( | 134 | s_vGenerateTxParameter( |
135 | IN PSDevice pDevice, | 135 | PSDevice pDevice, |
136 | IN BYTE byPktType, | 136 | BYTE byPktType, |
137 | IN WORD wCurrentRate, | 137 | WORD wCurrentRate, |
138 | IN PVOID pTxBufHead, | 138 | void *pTxBufHead, |
139 | IN PVOID pvRrvTime, | 139 | void *pvRrvTime, |
140 | IN PVOID pvRTS, | 140 | void *pvRTS, |
141 | IN PVOID pvCTS, | 141 | void *pvCTS, |
142 | IN UINT cbFrameSize, | 142 | unsigned int cbFrameSize, |
143 | IN BOOL bNeedACK, | 143 | BOOL bNeedACK, |
144 | IN UINT uDMAIdx, | 144 | unsigned int uDMAIdx, |
145 | IN PSEthernetHeader psEthHeader | 145 | PSEthernetHeader psEthHeader |
146 | ); | 146 | ); |
147 | 147 | ||
148 | 148 | ||
149 | static | 149 | static unsigned int s_uFillDataHead( |
150 | UINT | 150 | PSDevice pDevice, |
151 | s_uFillDataHead ( | 151 | BYTE byPktType, |
152 | IN PSDevice pDevice, | 152 | WORD wCurrentRate, |
153 | IN BYTE byPktType, | 153 | void *pTxDataHead, |
154 | IN WORD wCurrentRate, | 154 | unsigned int cbFrameLength, |
155 | IN PVOID pTxDataHead, | 155 | unsigned int uDMAIdx, |
156 | IN UINT cbFrameLength, | 156 | BOOL bNeedAck, |
157 | IN UINT uDMAIdx, | 157 | unsigned int uFragIdx, |
158 | IN BOOL bNeedAck, | 158 | unsigned int cbLastFragmentSize, |
159 | IN UINT uFragIdx, | 159 | unsigned int uMACfragNum, |
160 | IN UINT cbLastFragmentSize, | 160 | BYTE byFBOption |
161 | IN UINT uMACfragNum, | ||
162 | IN BYTE byFBOption | ||
163 | ); | 161 | ); |
164 | 162 | ||
165 | 163 | ||
166 | 164 | ||
167 | 165 | ||
168 | static | 166 | static |
169 | VOID | 167 | void |
170 | s_vGenerateMACHeader ( | 168 | s_vGenerateMACHeader ( |
171 | IN PSDevice pDevice, | 169 | PSDevice pDevice, |
172 | IN PBYTE pbyBufferAddr, | 170 | PBYTE pbyBufferAddr, |
173 | IN WORD wDuration, | 171 | WORD wDuration, |
174 | IN PSEthernetHeader psEthHeader, | 172 | PSEthernetHeader psEthHeader, |
175 | IN BOOL bNeedEncrypt, | 173 | BOOL bNeedEncrypt, |
176 | IN WORD wFragType, | 174 | WORD wFragType, |
177 | IN UINT uDMAIdx, | 175 | unsigned int uDMAIdx, |
178 | IN UINT uFragIdx | 176 | unsigned int uFragIdx |
179 | ); | 177 | ); |
180 | 178 | ||
181 | static | 179 | static |
182 | VOID | 180 | void |
183 | s_vFillTxKey( | 181 | s_vFillTxKey( |
184 | IN PSDevice pDevice, | 182 | PSDevice pDevice, |
185 | IN PBYTE pbyBuf, | 183 | PBYTE pbyBuf, |
186 | IN PBYTE pbyIVHead, | 184 | PBYTE pbyIVHead, |
187 | IN PSKeyItem pTransmitKey, | 185 | PSKeyItem pTransmitKey, |
188 | IN PBYTE pbyHdrBuf, | 186 | PBYTE pbyHdrBuf, |
189 | IN WORD wPayloadLen, | 187 | WORD wPayloadLen, |
190 | OUT PBYTE pMICHDR | 188 | PBYTE pMICHDR |
191 | ); | 189 | ); |
192 | 190 | ||
193 | static | 191 | static |
194 | VOID | 192 | void |
195 | s_vSWencryption ( | 193 | s_vSWencryption ( |
196 | IN PSDevice pDevice, | 194 | PSDevice pDevice, |
197 | IN PSKeyItem pTransmitKey, | 195 | PSKeyItem pTransmitKey, |
198 | IN PBYTE pbyPayloadHead, | 196 | PBYTE pbyPayloadHead, |
199 | IN WORD wPayloadSize | 197 | WORD wPayloadSize |
200 | ); | 198 | ); |
201 | 199 | ||
202 | static | 200 | static unsigned int s_uGetTxRsvTime( |
203 | UINT | 201 | PSDevice pDevice, |
204 | s_uGetTxRsvTime ( | 202 | BYTE byPktType, |
205 | IN PSDevice pDevice, | 203 | unsigned int cbFrameLength, |
206 | IN BYTE byPktType, | 204 | WORD wRate, |
207 | IN UINT cbFrameLength, | 205 | BOOL bNeedAck |
208 | IN WORD wRate, | ||
209 | IN BOOL bNeedAck | ||
210 | ); | 206 | ); |
211 | 207 | ||
212 | 208 | ||
213 | static | 209 | static unsigned int s_uGetRTSCTSRsvTime( |
214 | UINT | 210 | PSDevice pDevice, |
215 | s_uGetRTSCTSRsvTime ( | 211 | BYTE byRTSRsvType, |
216 | IN PSDevice pDevice, | 212 | BYTE byPktType, |
217 | IN BYTE byRTSRsvType, | 213 | unsigned int cbFrameLength, |
218 | IN BYTE byPktType, | 214 | WORD wCurrentRate |
219 | IN UINT cbFrameLength, | ||
220 | IN WORD wCurrentRate | ||
221 | ); | 215 | ); |
222 | 216 | ||
223 | static | 217 | static |
224 | VOID | 218 | void |
225 | s_vFillCTSHead ( | 219 | s_vFillCTSHead ( |
226 | IN PSDevice pDevice, | 220 | PSDevice pDevice, |
227 | IN UINT uDMAIdx, | 221 | unsigned int uDMAIdx, |
228 | IN BYTE byPktType, | 222 | BYTE byPktType, |
229 | IN PVOID pvCTS, | 223 | void *pvCTS, |
230 | IN UINT cbFrameLength, | 224 | unsigned int cbFrameLength, |
231 | IN BOOL bNeedAck, | 225 | BOOL bNeedAck, |
232 | IN BOOL bDisCRC, | 226 | BOOL bDisCRC, |
233 | IN WORD wCurrentRate, | 227 | WORD wCurrentRate, |
234 | IN BYTE byFBOption | 228 | BYTE byFBOption |
235 | ); | 229 | ); |
236 | 230 | ||
237 | static | 231 | static |
238 | VOID | 232 | void |
239 | s_vFillRTSHead( | 233 | s_vFillRTSHead( |
240 | IN PSDevice pDevice, | 234 | PSDevice pDevice, |
241 | IN BYTE byPktType, | 235 | BYTE byPktType, |
242 | IN PVOID pvRTS, | 236 | void *pvRTS, |
243 | IN UINT cbFrameLength, | 237 | unsigned int cbFrameLength, |
244 | IN BOOL bNeedAck, | 238 | BOOL bNeedAck, |
245 | IN BOOL bDisCRC, | 239 | BOOL bDisCRC, |
246 | IN PSEthernetHeader psEthHeader, | 240 | PSEthernetHeader psEthHeader, |
247 | IN WORD wCurrentRate, | 241 | WORD wCurrentRate, |
248 | IN BYTE byFBOption | 242 | BYTE byFBOption |
249 | ); | 243 | ); |
250 | 244 | ||
251 | static | 245 | static unsigned int s_uGetDataDuration( |
252 | UINT | 246 | PSDevice pDevice, |
253 | s_uGetDataDuration ( | 247 | BYTE byDurType, |
254 | IN PSDevice pDevice, | 248 | unsigned int cbFrameLength, |
255 | IN BYTE byDurType, | 249 | BYTE byPktType, |
256 | IN UINT cbFrameLength, | 250 | WORD wRate, |
257 | IN BYTE byPktType, | 251 | BOOL bNeedAck, |
258 | IN WORD wRate, | 252 | unsigned int uFragIdx, |
259 | IN BOOL bNeedAck, | 253 | unsigned int cbLastFragmentSize, |
260 | IN UINT uFragIdx, | 254 | unsigned int uMACfragNum, |
261 | IN UINT cbLastFragmentSize, | 255 | BYTE byFBOption |
262 | IN UINT uMACfragNum, | ||
263 | IN BYTE byFBOption | ||
264 | ); | 256 | ); |
265 | 257 | ||
266 | 258 | ||
267 | static | 259 | static |
268 | UINT | 260 | unsigned int |
269 | s_uGetRTSCTSDuration ( | 261 | s_uGetRTSCTSDuration ( |
270 | IN PSDevice pDevice, | 262 | PSDevice pDevice, |
271 | IN BYTE byDurType, | 263 | BYTE byDurType, |
272 | IN UINT cbFrameLength, | 264 | unsigned int cbFrameLength, |
273 | IN BYTE byPktType, | 265 | BYTE byPktType, |
274 | IN WORD wRate, | 266 | WORD wRate, |
275 | IN BOOL bNeedAck, | 267 | BOOL bNeedAck, |
276 | IN BYTE byFBOption | 268 | BYTE byFBOption |
277 | ); | 269 | ); |
278 | 270 | ||
279 | 271 | ||
280 | /*--------------------- Export Variables --------------------------*/ | 272 | /*--------------------- Export Variables --------------------------*/ |
281 | 273 | ||
282 | static | 274 | static |
283 | PVOID | 275 | void * |
284 | s_vGetFreeContext( | 276 | s_vGetFreeContext( |
285 | PSDevice pDevice | 277 | PSDevice pDevice |
286 | ) | 278 | ) |
287 | { | 279 | { |
288 | PUSB_SEND_CONTEXT pContext = NULL; | 280 | PUSB_SEND_CONTEXT pContext = NULL; |
289 | PUSB_SEND_CONTEXT pReturnContext = NULL; | 281 | PUSB_SEND_CONTEXT pReturnContext = NULL; |
290 | UINT ii; | 282 | unsigned int ii; |
291 | 283 | ||
292 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"GetFreeContext()\n"); | 284 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"GetFreeContext()\n"); |
293 | 285 | ||
@@ -302,12 +294,12 @@ s_vGetFreeContext( | |||
302 | if ( ii == pDevice->cbTD ) { | 294 | if ( ii == pDevice->cbTD ) { |
303 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"No Free Tx Context\n"); | 295 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"No Free Tx Context\n"); |
304 | } | 296 | } |
305 | return ((PVOID) pReturnContext); | 297 | return (void *) pReturnContext; |
306 | } | 298 | } |
307 | 299 | ||
308 | 300 | ||
309 | static | 301 | static |
310 | VOID | 302 | void |
311 | s_vSaveTxPktInfo(PSDevice pDevice, BYTE byPktNum, PBYTE pbyDestAddr, WORD wPktLength, WORD wFIFOCtl) | 303 | s_vSaveTxPktInfo(PSDevice pDevice, BYTE byPktNum, PBYTE pbyDestAddr, WORD wPktLength, WORD wFIFOCtl) |
312 | { | 304 | { |
313 | PSStatCounter pStatistic=&(pDevice->scStatistic); | 305 | PSStatCounter pStatistic=&(pDevice->scStatistic); |
@@ -322,22 +314,24 @@ s_vSaveTxPktInfo(PSDevice pDevice, BYTE byPktNum, PBYTE pbyDestAddr, WORD wPktLe | |||
322 | 314 | ||
323 | pStatistic->abyTxPktInfo[byPktNum].wLength = wPktLength; | 315 | pStatistic->abyTxPktInfo[byPktNum].wLength = wPktLength; |
324 | pStatistic->abyTxPktInfo[byPktNum].wFIFOCtl = wFIFOCtl; | 316 | pStatistic->abyTxPktInfo[byPktNum].wFIFOCtl = wFIFOCtl; |
325 | memcpy(pStatistic->abyTxPktInfo[byPktNum].abyDestAddr, pbyDestAddr, U_ETHER_ADDR_LEN); | 317 | memcpy(pStatistic->abyTxPktInfo[byPktNum].abyDestAddr, |
318 | pbyDestAddr, | ||
319 | ETH_ALEN); | ||
326 | } | 320 | } |
327 | 321 | ||
328 | 322 | ||
329 | 323 | ||
330 | 324 | ||
331 | static | 325 | static |
332 | VOID | 326 | void |
333 | s_vFillTxKey ( | 327 | s_vFillTxKey ( |
334 | IN PSDevice pDevice, | 328 | PSDevice pDevice, |
335 | IN PBYTE pbyBuf, | 329 | PBYTE pbyBuf, |
336 | IN PBYTE pbyIVHead, | 330 | PBYTE pbyIVHead, |
337 | IN PSKeyItem pTransmitKey, | 331 | PSKeyItem pTransmitKey, |
338 | IN PBYTE pbyHdrBuf, | 332 | PBYTE pbyHdrBuf, |
339 | IN WORD wPayloadLen, | 333 | WORD wPayloadLen, |
340 | OUT PBYTE pMICHDR | 334 | PBYTE pMICHDR |
341 | ) | 335 | ) |
342 | { | 336 | { |
343 | PDWORD pdwIV = (PDWORD) pbyIVHead; | 337 | PDWORD pdwIV = (PDWORD) pbyIVHead; |
@@ -446,15 +440,15 @@ s_vFillTxKey ( | |||
446 | 440 | ||
447 | 441 | ||
448 | static | 442 | static |
449 | VOID | 443 | void |
450 | s_vSWencryption ( | 444 | s_vSWencryption ( |
451 | IN PSDevice pDevice, | 445 | PSDevice pDevice, |
452 | IN PSKeyItem pTransmitKey, | 446 | PSKeyItem pTransmitKey, |
453 | IN PBYTE pbyPayloadHead, | 447 | PBYTE pbyPayloadHead, |
454 | IN WORD wPayloadSize | 448 | WORD wPayloadSize |
455 | ) | 449 | ) |
456 | { | 450 | { |
457 | UINT cbICVlen = 4; | 451 | unsigned int cbICVlen = 4; |
458 | DWORD dwICV = 0xFFFFFFFFL; | 452 | DWORD dwICV = 0xFFFFFFFFL; |
459 | PDWORD pdwICV; | 453 | PDWORD pdwICV; |
460 | 454 | ||
@@ -495,16 +489,16 @@ s_vSWencryption ( | |||
495 | PK_TYPE_11GA 3 | 489 | PK_TYPE_11GA 3 |
496 | */ | 490 | */ |
497 | static | 491 | static |
498 | UINT | 492 | unsigned int |
499 | s_uGetTxRsvTime ( | 493 | s_uGetTxRsvTime ( |
500 | IN PSDevice pDevice, | 494 | PSDevice pDevice, |
501 | IN BYTE byPktType, | 495 | BYTE byPktType, |
502 | IN UINT cbFrameLength, | 496 | unsigned int cbFrameLength, |
503 | IN WORD wRate, | 497 | WORD wRate, |
504 | IN BOOL bNeedAck | 498 | BOOL bNeedAck |
505 | ) | 499 | ) |
506 | { | 500 | { |
507 | UINT uDataTime, uAckTime; | 501 | unsigned int uDataTime, uAckTime; |
508 | 502 | ||
509 | uDataTime = BBuGetFrameTime(pDevice->byPreambleType, byPktType, cbFrameLength, wRate); | 503 | uDataTime = BBuGetFrameTime(pDevice->byPreambleType, byPktType, cbFrameLength, wRate); |
510 | if (byPktType == PK_TYPE_11B) {//llb,CCK mode | 504 | if (byPktType == PK_TYPE_11B) {//llb,CCK mode |
@@ -523,16 +517,16 @@ s_uGetTxRsvTime ( | |||
523 | 517 | ||
524 | //byFreqType: 0=>5GHZ 1=>2.4GHZ | 518 | //byFreqType: 0=>5GHZ 1=>2.4GHZ |
525 | static | 519 | static |
526 | UINT | 520 | unsigned int |
527 | s_uGetRTSCTSRsvTime ( | 521 | s_uGetRTSCTSRsvTime ( |
528 | IN PSDevice pDevice, | 522 | PSDevice pDevice, |
529 | IN BYTE byRTSRsvType, | 523 | BYTE byRTSRsvType, |
530 | IN BYTE byPktType, | 524 | BYTE byPktType, |
531 | IN UINT cbFrameLength, | 525 | unsigned int cbFrameLength, |
532 | IN WORD wCurrentRate | 526 | WORD wCurrentRate |
533 | ) | 527 | ) |
534 | { | 528 | { |
535 | UINT uRrvTime , uRTSTime, uCTSTime, uAckTime, uDataTime; | 529 | unsigned int uRrvTime , uRTSTime, uCTSTime, uAckTime, uDataTime; |
536 | 530 | ||
537 | uRrvTime = uRTSTime = uCTSTime = uAckTime = uDataTime = 0; | 531 | uRrvTime = uRTSTime = uCTSTime = uAckTime = uDataTime = 0; |
538 | 532 | ||
@@ -565,23 +559,22 @@ s_uGetRTSCTSRsvTime ( | |||
565 | 559 | ||
566 | //byFreqType 0: 5GHz, 1:2.4Ghz | 560 | //byFreqType 0: 5GHz, 1:2.4Ghz |
567 | static | 561 | static |
568 | UINT | 562 | unsigned int |
569 | s_uGetDataDuration ( | 563 | s_uGetDataDuration ( |
570 | IN PSDevice pDevice, | 564 | PSDevice pDevice, |
571 | IN BYTE byDurType, | 565 | BYTE byDurType, |
572 | IN UINT cbFrameLength, | 566 | unsigned int cbFrameLength, |
573 | IN BYTE byPktType, | 567 | BYTE byPktType, |
574 | IN WORD wRate, | 568 | WORD wRate, |
575 | IN BOOL bNeedAck, | 569 | BOOL bNeedAck, |
576 | IN UINT uFragIdx, | 570 | unsigned int uFragIdx, |
577 | IN UINT cbLastFragmentSize, | 571 | unsigned int cbLastFragmentSize, |
578 | IN UINT uMACfragNum, | 572 | unsigned int uMACfragNum, |
579 | IN BYTE byFBOption | 573 | BYTE byFBOption |
580 | ) | 574 | ) |
581 | { | 575 | { |
582 | BOOL bLastFrag = 0; | 576 | BOOL bLastFrag = 0; |
583 | UINT uAckTime =0, uNextPktTime = 0; | 577 | unsigned int uAckTime = 0, uNextPktTime = 0; |
584 | |||
585 | 578 | ||
586 | if (uFragIdx == (uMACfragNum-1)) { | 579 | if (uFragIdx == (uMACfragNum-1)) { |
587 | bLastFrag = 1; | 580 | bLastFrag = 1; |
@@ -735,18 +728,18 @@ s_uGetDataDuration ( | |||
735 | 728 | ||
736 | //byFreqType: 0=>5GHZ 1=>2.4GHZ | 729 | //byFreqType: 0=>5GHZ 1=>2.4GHZ |
737 | static | 730 | static |
738 | UINT | 731 | unsigned int |
739 | s_uGetRTSCTSDuration ( | 732 | s_uGetRTSCTSDuration ( |
740 | IN PSDevice pDevice, | 733 | PSDevice pDevice, |
741 | IN BYTE byDurType, | 734 | BYTE byDurType, |
742 | IN UINT cbFrameLength, | 735 | unsigned int cbFrameLength, |
743 | IN BYTE byPktType, | 736 | BYTE byPktType, |
744 | IN WORD wRate, | 737 | WORD wRate, |
745 | IN BOOL bNeedAck, | 738 | BOOL bNeedAck, |
746 | IN BYTE byFBOption | 739 | BYTE byFBOption |
747 | ) | 740 | ) |
748 | { | 741 | { |
749 | UINT uCTSTime = 0, uDurTime = 0; | 742 | unsigned int uCTSTime = 0, uDurTime = 0; |
750 | 743 | ||
751 | 744 | ||
752 | switch (byDurType) { | 745 | switch (byDurType) { |
@@ -834,19 +827,19 @@ s_uGetRTSCTSDuration ( | |||
834 | 827 | ||
835 | 828 | ||
836 | static | 829 | static |
837 | UINT | 830 | unsigned int |
838 | s_uFillDataHead ( | 831 | s_uFillDataHead ( |
839 | IN PSDevice pDevice, | 832 | PSDevice pDevice, |
840 | IN BYTE byPktType, | 833 | BYTE byPktType, |
841 | IN WORD wCurrentRate, | 834 | WORD wCurrentRate, |
842 | IN PVOID pTxDataHead, | 835 | void *pTxDataHead, |
843 | IN UINT cbFrameLength, | 836 | unsigned int cbFrameLength, |
844 | IN UINT uDMAIdx, | 837 | unsigned int uDMAIdx, |
845 | IN BOOL bNeedAck, | 838 | BOOL bNeedAck, |
846 | IN UINT uFragIdx, | 839 | unsigned int uFragIdx, |
847 | IN UINT cbLastFragmentSize, | 840 | unsigned int cbLastFragmentSize, |
848 | IN UINT uMACfragNum, | 841 | unsigned int uMACfragNum, |
849 | IN BYTE byFBOption | 842 | BYTE byFBOption |
850 | ) | 843 | ) |
851 | { | 844 | { |
852 | 845 | ||
@@ -979,20 +972,20 @@ s_uFillDataHead ( | |||
979 | 972 | ||
980 | 973 | ||
981 | static | 974 | static |
982 | VOID | 975 | void |
983 | s_vFillRTSHead ( | 976 | s_vFillRTSHead ( |
984 | IN PSDevice pDevice, | 977 | PSDevice pDevice, |
985 | IN BYTE byPktType, | 978 | BYTE byPktType, |
986 | IN PVOID pvRTS, | 979 | void *pvRTS, |
987 | IN UINT cbFrameLength, | 980 | unsigned int cbFrameLength, |
988 | IN BOOL bNeedAck, | 981 | BOOL bNeedAck, |
989 | IN BOOL bDisCRC, | 982 | BOOL bDisCRC, |
990 | IN PSEthernetHeader psEthHeader, | 983 | PSEthernetHeader psEthHeader, |
991 | IN WORD wCurrentRate, | 984 | WORD wCurrentRate, |
992 | IN BYTE byFBOption | 985 | BYTE byFBOption |
993 | ) | 986 | ) |
994 | { | 987 | { |
995 | UINT uRTSFrameLen = 20; | 988 | unsigned int uRTSFrameLen = 20; |
996 | WORD wLen = 0x0000; | 989 | WORD wLen = 0x0000; |
997 | 990 | ||
998 | if (pvRTS == NULL) | 991 | if (pvRTS == NULL) |
@@ -1026,18 +1019,27 @@ s_vFillRTSHead ( | |||
1026 | pBuf->Data.wDurationID = pBuf->wDuration_aa; | 1019 | pBuf->Data.wDurationID = pBuf->wDuration_aa; |
1027 | //Get RTS Frame body | 1020 | //Get RTS Frame body |
1028 | pBuf->Data.wFrameControl = TYPE_CTL_RTS;//0x00B4 | 1021 | pBuf->Data.wFrameControl = TYPE_CTL_RTS;//0x00B4 |
1029 | if ((pDevice->eOPMode == OP_MODE_ADHOC) || | 1022 | |
1030 | (pDevice->eOPMode == OP_MODE_AP)) { | 1023 | if ((pDevice->eOPMode == OP_MODE_ADHOC) || |
1031 | memcpy(&(pBuf->Data.abyRA[0]), &(psEthHeader->abyDstAddr[0]), U_ETHER_ADDR_LEN); | 1024 | (pDevice->eOPMode == OP_MODE_AP)) { |
1032 | } | 1025 | memcpy(&(pBuf->Data.abyRA[0]), |
1026 | &(psEthHeader->abyDstAddr[0]), | ||
1027 | ETH_ALEN); | ||
1028 | } | ||
1033 | else { | 1029 | else { |
1034 | memcpy(&(pBuf->Data.abyRA[0]), &(pDevice->abyBSSID[0]), U_ETHER_ADDR_LEN); | 1030 | memcpy(&(pBuf->Data.abyRA[0]), |
1035 | } | 1031 | &(pDevice->abyBSSID[0]), |
1036 | if (pDevice->eOPMode == OP_MODE_AP) { | 1032 | ETH_ALEN); |
1037 | memcpy(&(pBuf->Data.abyTA[0]), &(pDevice->abyBSSID[0]), U_ETHER_ADDR_LEN); | 1033 | } |
1038 | } | 1034 | if (pDevice->eOPMode == OP_MODE_AP) { |
1035 | memcpy(&(pBuf->Data.abyTA[0]), | ||
1036 | &(pDevice->abyBSSID[0]), | ||
1037 | ETH_ALEN); | ||
1038 | } | ||
1039 | else { | 1039 | else { |
1040 | memcpy(&(pBuf->Data.abyTA[0]), &(psEthHeader->abySrcAddr[0]), U_ETHER_ADDR_LEN); | 1040 | memcpy(&(pBuf->Data.abyTA[0]), |
1041 | &(psEthHeader->abySrcAddr[0]), | ||
1042 | ETH_ALEN); | ||
1041 | } | 1043 | } |
1042 | } | 1044 | } |
1043 | else { | 1045 | else { |
@@ -1063,19 +1065,27 @@ s_vFillRTSHead ( | |||
1063 | //Get RTS Frame body | 1065 | //Get RTS Frame body |
1064 | pBuf->Data.wFrameControl = TYPE_CTL_RTS;//0x00B4 | 1066 | pBuf->Data.wFrameControl = TYPE_CTL_RTS;//0x00B4 |
1065 | 1067 | ||
1066 | if ((pDevice->eOPMode == OP_MODE_ADHOC) || | 1068 | if ((pDevice->eOPMode == OP_MODE_ADHOC) || |
1067 | (pDevice->eOPMode == OP_MODE_AP)) { | 1069 | (pDevice->eOPMode == OP_MODE_AP)) { |
1068 | memcpy(&(pBuf->Data.abyRA[0]), &(psEthHeader->abyDstAddr[0]), U_ETHER_ADDR_LEN); | 1070 | memcpy(&(pBuf->Data.abyRA[0]), |
1069 | } | 1071 | &(psEthHeader->abyDstAddr[0]), |
1072 | ETH_ALEN); | ||
1073 | } | ||
1070 | else { | 1074 | else { |
1071 | memcpy(&(pBuf->Data.abyRA[0]), &(pDevice->abyBSSID[0]), U_ETHER_ADDR_LEN); | 1075 | memcpy(&(pBuf->Data.abyRA[0]), |
1076 | &(pDevice->abyBSSID[0]), | ||
1077 | ETH_ALEN); | ||
1072 | } | 1078 | } |
1073 | 1079 | ||
1074 | if (pDevice->eOPMode == OP_MODE_AP) { | 1080 | if (pDevice->eOPMode == OP_MODE_AP) { |
1075 | memcpy(&(pBuf->Data.abyTA[0]), &(pDevice->abyBSSID[0]), U_ETHER_ADDR_LEN); | 1081 | memcpy(&(pBuf->Data.abyTA[0]), |
1076 | } | 1082 | &(pDevice->abyBSSID[0]), |
1083 | ETH_ALEN); | ||
1084 | } | ||
1077 | else { | 1085 | else { |
1078 | memcpy(&(pBuf->Data.abyTA[0]), &(psEthHeader->abySrcAddr[0]), U_ETHER_ADDR_LEN); | 1086 | memcpy(&(pBuf->Data.abyTA[0]), |
1087 | &(psEthHeader->abySrcAddr[0]), | ||
1088 | ETH_ALEN); | ||
1079 | } | 1089 | } |
1080 | 1090 | ||
1081 | } // if (byFBOption == AUTO_FB_NONE) | 1091 | } // if (byFBOption == AUTO_FB_NONE) |
@@ -1094,20 +1104,26 @@ s_vFillRTSHead ( | |||
1094 | //Get RTS Frame body | 1104 | //Get RTS Frame body |
1095 | pBuf->Data.wFrameControl = TYPE_CTL_RTS;//0x00B4 | 1105 | pBuf->Data.wFrameControl = TYPE_CTL_RTS;//0x00B4 |
1096 | 1106 | ||
1097 | if ((pDevice->eOPMode == OP_MODE_ADHOC) || | 1107 | if ((pDevice->eOPMode == OP_MODE_ADHOC) || |
1098 | (pDevice->eOPMode == OP_MODE_AP)) { | 1108 | (pDevice->eOPMode == OP_MODE_AP)) { |
1099 | memcpy(&(pBuf->Data.abyRA[0]), &(psEthHeader->abyDstAddr[0]), U_ETHER_ADDR_LEN); | 1109 | memcpy(&(pBuf->Data.abyRA[0]), |
1100 | } | 1110 | &(psEthHeader->abyDstAddr[0]), |
1101 | else { | 1111 | ETH_ALEN); |
1102 | memcpy(&(pBuf->Data.abyRA[0]), &(pDevice->abyBSSID[0]), U_ETHER_ADDR_LEN); | 1112 | } else { |
1103 | } | 1113 | memcpy(&(pBuf->Data.abyRA[0]), |
1104 | 1114 | &(pDevice->abyBSSID[0]), | |
1105 | if (pDevice->eOPMode == OP_MODE_AP) { | 1115 | ETH_ALEN); |
1106 | memcpy(&(pBuf->Data.abyTA[0]), &(pDevice->abyBSSID[0]), U_ETHER_ADDR_LEN); | 1116 | } |
1107 | } | 1117 | |
1108 | else { | 1118 | if (pDevice->eOPMode == OP_MODE_AP) { |
1109 | memcpy(&(pBuf->Data.abyTA[0]), &(psEthHeader->abySrcAddr[0]), U_ETHER_ADDR_LEN); | 1119 | memcpy(&(pBuf->Data.abyTA[0]), |
1110 | } | 1120 | &(pDevice->abyBSSID[0]), |
1121 | ETH_ALEN); | ||
1122 | } else { | ||
1123 | memcpy(&(pBuf->Data.abyTA[0]), | ||
1124 | &(psEthHeader->abySrcAddr[0]), | ||
1125 | ETH_ALEN); | ||
1126 | } | ||
1111 | 1127 | ||
1112 | } | 1128 | } |
1113 | else { | 1129 | else { |
@@ -1125,19 +1141,25 @@ s_vFillRTSHead ( | |||
1125 | //Get RTS Frame body | 1141 | //Get RTS Frame body |
1126 | pBuf->Data.wFrameControl = TYPE_CTL_RTS;//0x00B4 | 1142 | pBuf->Data.wFrameControl = TYPE_CTL_RTS;//0x00B4 |
1127 | 1143 | ||
1128 | if ((pDevice->eOPMode == OP_MODE_ADHOC) || | 1144 | if ((pDevice->eOPMode == OP_MODE_ADHOC) || |
1129 | (pDevice->eOPMode == OP_MODE_AP)) { | 1145 | (pDevice->eOPMode == OP_MODE_AP)) { |
1130 | memcpy(&(pBuf->Data.abyRA[0]), &(psEthHeader->abyDstAddr[0]), U_ETHER_ADDR_LEN); | 1146 | memcpy(&(pBuf->Data.abyRA[0]), |
1131 | } | 1147 | &(psEthHeader->abyDstAddr[0]), |
1132 | else { | 1148 | ETH_ALEN); |
1133 | memcpy(&(pBuf->Data.abyRA[0]), &(pDevice->abyBSSID[0]), U_ETHER_ADDR_LEN); | 1149 | } else { |
1134 | } | 1150 | memcpy(&(pBuf->Data.abyRA[0]), |
1135 | if (pDevice->eOPMode == OP_MODE_AP) { | 1151 | &(pDevice->abyBSSID[0]), |
1136 | memcpy(&(pBuf->Data.abyTA[0]), &(pDevice->abyBSSID[0]), U_ETHER_ADDR_LEN); | 1152 | ETH_ALEN); |
1137 | } | 1153 | } |
1138 | else { | 1154 | if (pDevice->eOPMode == OP_MODE_AP) { |
1139 | memcpy(&(pBuf->Data.abyTA[0]), &(psEthHeader->abySrcAddr[0]), U_ETHER_ADDR_LEN); | 1155 | memcpy(&(pBuf->Data.abyTA[0]), |
1140 | } | 1156 | &(pDevice->abyBSSID[0]), |
1157 | ETH_ALEN); | ||
1158 | } else { | ||
1159 | memcpy(&(pBuf->Data.abyTA[0]), | ||
1160 | &(psEthHeader->abySrcAddr[0]), | ||
1161 | ETH_ALEN); | ||
1162 | } | ||
1141 | } | 1163 | } |
1142 | } | 1164 | } |
1143 | else if (byPktType == PK_TYPE_11B) { | 1165 | else if (byPktType == PK_TYPE_11B) { |
@@ -1153,39 +1175,45 @@ s_vFillRTSHead ( | |||
1153 | //Get RTS Frame body | 1175 | //Get RTS Frame body |
1154 | pBuf->Data.wFrameControl = TYPE_CTL_RTS;//0x00B4 | 1176 | pBuf->Data.wFrameControl = TYPE_CTL_RTS;//0x00B4 |
1155 | 1177 | ||
1156 | 1178 | if ((pDevice->eOPMode == OP_MODE_ADHOC) || | |
1157 | if ((pDevice->eOPMode == OP_MODE_ADHOC) || | ||
1158 | (pDevice->eOPMode == OP_MODE_AP)) { | 1179 | (pDevice->eOPMode == OP_MODE_AP)) { |
1159 | memcpy(&(pBuf->Data.abyRA[0]), &(psEthHeader->abyDstAddr[0]), U_ETHER_ADDR_LEN); | 1180 | memcpy(&(pBuf->Data.abyRA[0]), |
1181 | &(psEthHeader->abyDstAddr[0]), | ||
1182 | ETH_ALEN); | ||
1160 | } | 1183 | } |
1161 | else { | 1184 | else { |
1162 | memcpy(&(pBuf->Data.abyRA[0]), &(pDevice->abyBSSID[0]), U_ETHER_ADDR_LEN); | 1185 | memcpy(&(pBuf->Data.abyRA[0]), |
1186 | &(pDevice->abyBSSID[0]), | ||
1187 | ETH_ALEN); | ||
1163 | } | 1188 | } |
1164 | 1189 | ||
1165 | if (pDevice->eOPMode == OP_MODE_AP) { | 1190 | if (pDevice->eOPMode == OP_MODE_AP) { |
1166 | memcpy(&(pBuf->Data.abyTA[0]), &(pDevice->abyBSSID[0]), U_ETHER_ADDR_LEN); | 1191 | memcpy(&(pBuf->Data.abyTA[0]), |
1167 | } | 1192 | &(pDevice->abyBSSID[0]), |
1168 | else { | 1193 | ETH_ALEN); |
1169 | memcpy(&(pBuf->Data.abyTA[0]), &(psEthHeader->abySrcAddr[0]), U_ETHER_ADDR_LEN); | 1194 | } else { |
1195 | memcpy(&(pBuf->Data.abyTA[0]), | ||
1196 | &(psEthHeader->abySrcAddr[0]), | ||
1197 | ETH_ALEN); | ||
1170 | } | 1198 | } |
1171 | } | 1199 | } |
1172 | } | 1200 | } |
1173 | 1201 | ||
1174 | static | 1202 | static |
1175 | VOID | 1203 | void |
1176 | s_vFillCTSHead ( | 1204 | s_vFillCTSHead ( |
1177 | IN PSDevice pDevice, | 1205 | PSDevice pDevice, |
1178 | IN UINT uDMAIdx, | 1206 | unsigned int uDMAIdx, |
1179 | IN BYTE byPktType, | 1207 | BYTE byPktType, |
1180 | IN PVOID pvCTS, | 1208 | void *pvCTS, |
1181 | IN UINT cbFrameLength, | 1209 | unsigned int cbFrameLength, |
1182 | IN BOOL bNeedAck, | 1210 | BOOL bNeedAck, |
1183 | IN BOOL bDisCRC, | 1211 | BOOL bDisCRC, |
1184 | IN WORD wCurrentRate, | 1212 | WORD wCurrentRate, |
1185 | IN BYTE byFBOption | 1213 | BYTE byFBOption |
1186 | ) | 1214 | ) |
1187 | { | 1215 | { |
1188 | UINT uCTSFrameLen = 14; | 1216 | unsigned int uCTSFrameLen = 14; |
1189 | WORD wLen = 0x0000; | 1217 | WORD wLen = 0x0000; |
1190 | 1218 | ||
1191 | if (pvCTS == NULL) { | 1219 | if (pvCTS == NULL) { |
@@ -1222,7 +1250,9 @@ s_vFillCTSHead ( | |||
1222 | pBuf->Data.wDurationID = pBuf->wDuration_ba; | 1250 | pBuf->Data.wDurationID = pBuf->wDuration_ba; |
1223 | pBuf->Data.wFrameControl = TYPE_CTL_CTS;//0x00C4 | 1251 | pBuf->Data.wFrameControl = TYPE_CTL_CTS;//0x00C4 |
1224 | pBuf->Data.wReserved = 0x0000; | 1252 | pBuf->Data.wReserved = 0x0000; |
1225 | memcpy(&(pBuf->Data.abyRA[0]), &(pDevice->abyCurrentNetAddr[0]), U_ETHER_ADDR_LEN); | 1253 | memcpy(&(pBuf->Data.abyRA[0]), |
1254 | &(pDevice->abyCurrentNetAddr[0]), | ||
1255 | ETH_ALEN); | ||
1226 | } else { //if (byFBOption != AUTO_FB_NONE && uDMAIdx != TYPE_ATIMDMA && uDMAIdx != TYPE_BEACONDMA) | 1256 | } else { //if (byFBOption != AUTO_FB_NONE && uDMAIdx != TYPE_ATIMDMA && uDMAIdx != TYPE_BEACONDMA) |
1227 | PSCTS pBuf = (PSCTS)pvCTS; | 1257 | PSCTS pBuf = (PSCTS)pvCTS; |
1228 | //Get SignalField,ServiceField,Length | 1258 | //Get SignalField,ServiceField,Length |
@@ -1239,16 +1269,13 @@ s_vFillCTSHead ( | |||
1239 | pBuf->Data.wDurationID = pBuf->wDuration_ba; | 1269 | pBuf->Data.wDurationID = pBuf->wDuration_ba; |
1240 | pBuf->Data.wFrameControl = TYPE_CTL_CTS;//0x00C4 | 1270 | pBuf->Data.wFrameControl = TYPE_CTL_CTS;//0x00C4 |
1241 | pBuf->Data.wReserved = 0x0000; | 1271 | pBuf->Data.wReserved = 0x0000; |
1242 | memcpy(&(pBuf->Data.abyRA[0]), &(pDevice->abyCurrentNetAddr[0]), U_ETHER_ADDR_LEN); | 1272 | memcpy(&(pBuf->Data.abyRA[0]), |
1273 | &(pDevice->abyCurrentNetAddr[0]), | ||
1274 | ETH_ALEN); | ||
1243 | } | 1275 | } |
1244 | } | 1276 | } |
1245 | } | 1277 | } |
1246 | 1278 | ||
1247 | |||
1248 | |||
1249 | |||
1250 | |||
1251 | |||
1252 | /*+ | 1279 | /*+ |
1253 | * | 1280 | * |
1254 | * Description: | 1281 | * Description: |
@@ -1271,24 +1298,24 @@ s_vFillCTSHead ( | |||
1271 | * Return Value: none | 1298 | * Return Value: none |
1272 | * | 1299 | * |
1273 | -*/ | 1300 | -*/ |
1274 | // UINT cbFrameSize,//Hdr+Payload+FCS | 1301 | |
1275 | static | 1302 | static |
1276 | VOID | 1303 | void |
1277 | s_vGenerateTxParameter ( | 1304 | s_vGenerateTxParameter ( |
1278 | IN PSDevice pDevice, | 1305 | PSDevice pDevice, |
1279 | IN BYTE byPktType, | 1306 | BYTE byPktType, |
1280 | IN WORD wCurrentRate, | 1307 | WORD wCurrentRate, |
1281 | IN PVOID pTxBufHead, | 1308 | void *pTxBufHead, |
1282 | IN PVOID pvRrvTime, | 1309 | void *pvRrvTime, |
1283 | IN PVOID pvRTS, | 1310 | void *pvRTS, |
1284 | IN PVOID pvCTS, | 1311 | void *pvCTS, |
1285 | IN UINT cbFrameSize, | 1312 | unsigned int cbFrameSize, |
1286 | IN BOOL bNeedACK, | 1313 | BOOL bNeedACK, |
1287 | IN UINT uDMAIdx, | 1314 | unsigned int uDMAIdx, |
1288 | IN PSEthernetHeader psEthHeader | 1315 | PSEthernetHeader psEthHeader |
1289 | ) | 1316 | ) |
1290 | { | 1317 | { |
1291 | UINT cbMACHdLen = WLAN_HDR_ADDR3_LEN; //24 | 1318 | unsigned int cbMACHdLen = WLAN_HDR_ADDR3_LEN; /* 24 */ |
1292 | WORD wFifoCtl; | 1319 | WORD wFifoCtl; |
1293 | BOOL bDisCRC = FALSE; | 1320 | BOOL bDisCRC = FALSE; |
1294 | BYTE byFBOption = AUTO_FB_NONE; | 1321 | BYTE byFBOption = AUTO_FB_NONE; |
@@ -1386,44 +1413,45 @@ s_vGenerateTxParameter ( | |||
1386 | /* | 1413 | /* |
1387 | PBYTE pbyBuffer,//point to pTxBufHead | 1414 | PBYTE pbyBuffer,//point to pTxBufHead |
1388 | WORD wFragType,//00:Non-Frag, 01:Start, 02:Mid, 03:Last | 1415 | WORD wFragType,//00:Non-Frag, 01:Start, 02:Mid, 03:Last |
1389 | UINT cbFragmentSize,//Hdr+payoad+FCS | 1416 | unsigned int cbFragmentSize,//Hdr+payoad+FCS |
1390 | */ | 1417 | */ |
1391 | 1418 | ||
1392 | 1419 | ||
1393 | BOOL | 1420 | BOOL |
1394 | s_bPacketToWirelessUsb( | 1421 | s_bPacketToWirelessUsb( |
1395 | IN PSDevice pDevice, | 1422 | PSDevice pDevice, |
1396 | IN BYTE byPktType, | 1423 | BYTE byPktType, |
1397 | IN PBYTE usbPacketBuf, | 1424 | PBYTE usbPacketBuf, |
1398 | IN BOOL bNeedEncryption, | 1425 | BOOL bNeedEncryption, |
1399 | IN UINT uSkbPacketLen, | 1426 | unsigned int uSkbPacketLen, |
1400 | IN UINT uDMAIdx, | 1427 | unsigned int uDMAIdx, |
1401 | IN PSEthernetHeader psEthHeader, | 1428 | PSEthernetHeader psEthHeader, |
1402 | IN PBYTE pPacket, | 1429 | PBYTE pPacket, |
1403 | IN PSKeyItem pTransmitKey, | 1430 | PSKeyItem pTransmitKey, |
1404 | IN UINT uNodeIndex, | 1431 | unsigned int uNodeIndex, |
1405 | IN WORD wCurrentRate, | 1432 | WORD wCurrentRate, |
1406 | OUT UINT *pcbHeaderLen, | 1433 | unsigned int *pcbHeaderLen, |
1407 | OUT UINT *pcbTotalLen | 1434 | unsigned int *pcbTotalLen |
1408 | ) | 1435 | ) |
1409 | { | 1436 | { |
1410 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); | 1437 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); |
1411 | UINT cbFrameSize,cbFrameBodySize; | 1438 | unsigned int cbFrameSize, cbFrameBodySize; |
1412 | PTX_BUFFER pTxBufHead; | 1439 | PTX_BUFFER pTxBufHead; |
1413 | UINT cb802_1_H_len; | 1440 | unsigned int cb802_1_H_len; |
1414 | UINT cbIVlen=0,cbICVlen=0,cbMIClen=0,cbMACHdLen=0,cbFCSlen=4; | 1441 | unsigned int cbIVlen = 0, cbICVlen = 0, cbMIClen = 0, |
1415 | UINT cbMICHDR = 0; | 1442 | cbMACHdLen = 0, cbFCSlen = 4; |
1443 | unsigned int cbMICHDR = 0; | ||
1416 | BOOL bNeedACK,bRTS; | 1444 | BOOL bNeedACK,bRTS; |
1417 | PBYTE pbyType,pbyMacHdr,pbyIVHead,pbyPayloadHead,pbyTxBufferAddr; | 1445 | PBYTE pbyType,pbyMacHdr,pbyIVHead,pbyPayloadHead,pbyTxBufferAddr; |
1418 | BYTE abySNAP_RFC1042[6] = {0xAA, 0xAA, 0x03, 0x00, 0x00, 0x00}; | 1446 | BYTE abySNAP_RFC1042[ETH_ALEN] = {0xAA, 0xAA, 0x03, 0x00, 0x00, 0x00}; |
1419 | BYTE abySNAP_Bridgetunnel[6] = {0xAA, 0xAA, 0x03, 0x00, 0x00, 0xF8}; | 1447 | BYTE abySNAP_Bridgetunnel[ETH_ALEN] = {0xAA, 0xAA, 0x03, 0x00, 0x00, 0xF8}; |
1420 | UINT uDuration; | 1448 | unsigned int uDuration; |
1421 | UINT cbHeaderLength= 0,uPadding = 0; | 1449 | unsigned int cbHeaderLength = 0, uPadding = 0; |
1422 | PVOID pvRrvTime; | 1450 | void *pvRrvTime; |
1423 | PSMICHDRHead pMICHDR; | 1451 | PSMICHDRHead pMICHDR; |
1424 | PVOID pvRTS; | 1452 | void *pvRTS; |
1425 | PVOID pvCTS; | 1453 | void *pvCTS; |
1426 | PVOID pvTxDataHd; | 1454 | void *pvTxDataHd; |
1427 | BYTE byFBOption = AUTO_FB_NONE,byFragType; | 1455 | BYTE byFBOption = AUTO_FB_NONE,byFragType; |
1428 | WORD wTxBufSize; | 1456 | WORD wTxBufSize; |
1429 | DWORD dwMICKey0,dwMICKey1,dwMIC_Priority,dwCRC; | 1457 | DWORD dwMICKey0,dwMICKey1,dwMIC_Priority,dwCRC; |
@@ -1455,7 +1483,7 @@ s_bPacketToWirelessUsb( | |||
1455 | cb802_1_H_len = 0; | 1483 | cb802_1_H_len = 0; |
1456 | } | 1484 | } |
1457 | 1485 | ||
1458 | cbFrameBodySize = uSkbPacketLen - U_HEADER_LEN + cb802_1_H_len; | 1486 | cbFrameBodySize = uSkbPacketLen - ETH_HLEN + cb802_1_H_len; |
1459 | 1487 | ||
1460 | //Set packet type | 1488 | //Set packet type |
1461 | pTxBufHead->wFIFOCtl |= (WORD)(byPktType<<8); | 1489 | pTxBufHead->wFIFOCtl |= (WORD)(byPktType<<8); |
@@ -1658,7 +1686,8 @@ s_bPacketToWirelessUsb( | |||
1658 | 1686 | ||
1659 | 1687 | ||
1660 | //Fill FIFO,RrvTime,RTS,and CTS | 1688 | //Fill FIFO,RrvTime,RTS,and CTS |
1661 | s_vGenerateTxParameter(pDevice, byPktType, wCurrentRate, (PVOID)pbyTxBufferAddr, pvRrvTime, pvRTS, pvCTS, | 1689 | s_vGenerateTxParameter(pDevice, byPktType, wCurrentRate, |
1690 | (void *)pbyTxBufferAddr, pvRrvTime, pvRTS, pvCTS, | ||
1662 | cbFrameSize, bNeedACK, uDMAIdx, psEthHeader); | 1691 | cbFrameSize, bNeedACK, uDMAIdx, psEthHeader); |
1663 | //Fill DataHead | 1692 | //Fill DataHead |
1664 | uDuration = s_uFillDataHead(pDevice, byPktType, wCurrentRate, pvTxDataHd, cbFrameSize, uDMAIdx, bNeedACK, | 1693 | uDuration = s_uFillDataHead(pDevice, byPktType, wCurrentRate, pvTxDataHd, cbFrameSize, uDMAIdx, bNeedACK, |
@@ -1700,13 +1729,13 @@ s_bPacketToWirelessUsb( | |||
1700 | if (pPacket != NULL) { | 1729 | if (pPacket != NULL) { |
1701 | // Copy the Packet into a tx Buffer | 1730 | // Copy the Packet into a tx Buffer |
1702 | memcpy((pbyPayloadHead + cb802_1_H_len), | 1731 | memcpy((pbyPayloadHead + cb802_1_H_len), |
1703 | (pPacket + U_HEADER_LEN), | 1732 | (pPacket + ETH_HLEN), |
1704 | uSkbPacketLen - U_HEADER_LEN | 1733 | uSkbPacketLen - ETH_HLEN |
1705 | ); | 1734 | ); |
1706 | 1735 | ||
1707 | } else { | 1736 | } else { |
1708 | // while bRelayPacketSend psEthHeader is point to header+payload | 1737 | // while bRelayPacketSend psEthHeader is point to header+payload |
1709 | memcpy((pbyPayloadHead + cb802_1_H_len), ((PBYTE)psEthHeader)+U_HEADER_LEN, uSkbPacketLen - U_HEADER_LEN); | 1738 | memcpy((pbyPayloadHead + cb802_1_H_len), ((PBYTE)psEthHeader) + ETH_HLEN, uSkbPacketLen - ETH_HLEN); |
1710 | } | 1739 | } |
1711 | 1740 | ||
1712 | ASSERT(uLength == cbNdisBodySize); | 1741 | ASSERT(uLength == cbNdisBodySize); |
@@ -1772,7 +1801,7 @@ s_bPacketToWirelessUsb( | |||
1772 | } | 1801 | } |
1773 | 1802 | ||
1774 | if (pDevice->bSoftwareGenCrcErr == TRUE) { | 1803 | if (pDevice->bSoftwareGenCrcErr == TRUE) { |
1775 | UINT cbLen; | 1804 | unsigned int cbLen; |
1776 | PDWORD pdwCRC; | 1805 | PDWORD pdwCRC; |
1777 | 1806 | ||
1778 | dwCRC = 0xFFFFFFFFL; | 1807 | dwCRC = 0xFFFFFFFFL; |
@@ -1820,16 +1849,16 @@ s_bPacketToWirelessUsb( | |||
1820 | * | 1849 | * |
1821 | -*/ | 1850 | -*/ |
1822 | 1851 | ||
1823 | VOID | 1852 | void |
1824 | s_vGenerateMACHeader ( | 1853 | s_vGenerateMACHeader ( |
1825 | IN PSDevice pDevice, | 1854 | PSDevice pDevice, |
1826 | IN PBYTE pbyBufferAddr, | 1855 | PBYTE pbyBufferAddr, |
1827 | IN WORD wDuration, | 1856 | WORD wDuration, |
1828 | IN PSEthernetHeader psEthHeader, | 1857 | PSEthernetHeader psEthHeader, |
1829 | IN BOOL bNeedEncrypt, | 1858 | BOOL bNeedEncrypt, |
1830 | IN WORD wFragType, | 1859 | WORD wFragType, |
1831 | IN UINT uDMAIdx, | 1860 | unsigned int uDMAIdx, |
1832 | IN UINT uFragIdx | 1861 | unsigned int uFragIdx |
1833 | ) | 1862 | ) |
1834 | { | 1863 | { |
1835 | PS802_11Header pMACHeader = (PS802_11Header)pbyBufferAddr; | 1864 | PS802_11Header pMACHeader = (PS802_11Header)pbyBufferAddr; |
@@ -1843,21 +1872,35 @@ s_vGenerateMACHeader ( | |||
1843 | } | 1872 | } |
1844 | 1873 | ||
1845 | if (pDevice->eOPMode == OP_MODE_AP) { | 1874 | if (pDevice->eOPMode == OP_MODE_AP) { |
1846 | memcpy(&(pMACHeader->abyAddr1[0]), &(psEthHeader->abyDstAddr[0]), U_ETHER_ADDR_LEN); | 1875 | memcpy(&(pMACHeader->abyAddr1[0]), |
1847 | memcpy(&(pMACHeader->abyAddr2[0]), &(pDevice->abyBSSID[0]), U_ETHER_ADDR_LEN); | 1876 | &(psEthHeader->abyDstAddr[0]), |
1848 | memcpy(&(pMACHeader->abyAddr3[0]), &(psEthHeader->abySrcAddr[0]), U_ETHER_ADDR_LEN); | 1877 | ETH_ALEN); |
1878 | memcpy(&(pMACHeader->abyAddr2[0]), &(pDevice->abyBSSID[0]), ETH_ALEN); | ||
1879 | memcpy(&(pMACHeader->abyAddr3[0]), | ||
1880 | &(psEthHeader->abySrcAddr[0]), | ||
1881 | ETH_ALEN); | ||
1849 | pMACHeader->wFrameCtl |= FC_FROMDS; | 1882 | pMACHeader->wFrameCtl |= FC_FROMDS; |
1850 | } | 1883 | } else { |
1851 | else { | 1884 | if (pDevice->eOPMode == OP_MODE_ADHOC) { |
1852 | if (pDevice->eOPMode == OP_MODE_ADHOC) { | 1885 | memcpy(&(pMACHeader->abyAddr1[0]), |
1853 | memcpy(&(pMACHeader->abyAddr1[0]), &(psEthHeader->abyDstAddr[0]), U_ETHER_ADDR_LEN); | 1886 | &(psEthHeader->abyDstAddr[0]), |
1854 | memcpy(&(pMACHeader->abyAddr2[0]), &(psEthHeader->abySrcAddr[0]), U_ETHER_ADDR_LEN); | 1887 | ETH_ALEN); |
1855 | memcpy(&(pMACHeader->abyAddr3[0]), &(pDevice->abyBSSID[0]), U_ETHER_ADDR_LEN); | 1888 | memcpy(&(pMACHeader->abyAddr2[0]), |
1856 | } | 1889 | &(psEthHeader->abySrcAddr[0]), |
1857 | else { | 1890 | ETH_ALEN); |
1858 | memcpy(&(pMACHeader->abyAddr3[0]), &(psEthHeader->abyDstAddr[0]), U_ETHER_ADDR_LEN); | 1891 | memcpy(&(pMACHeader->abyAddr3[0]), |
1859 | memcpy(&(pMACHeader->abyAddr2[0]), &(psEthHeader->abySrcAddr[0]), U_ETHER_ADDR_LEN); | 1892 | &(pDevice->abyBSSID[0]), |
1860 | memcpy(&(pMACHeader->abyAddr1[0]), &(pDevice->abyBSSID[0]), U_ETHER_ADDR_LEN); | 1893 | ETH_ALEN); |
1894 | } else { | ||
1895 | memcpy(&(pMACHeader->abyAddr3[0]), | ||
1896 | &(psEthHeader->abyDstAddr[0]), | ||
1897 | ETH_ALEN); | ||
1898 | memcpy(&(pMACHeader->abyAddr2[0]), | ||
1899 | &(psEthHeader->abySrcAddr[0]), | ||
1900 | ETH_ALEN); | ||
1901 | memcpy(&(pMACHeader->abyAddr1[0]), | ||
1902 | &(pDevice->abyBSSID[0]), | ||
1903 | ETH_ALEN); | ||
1861 | pMACHeader->wFrameCtl |= FC_TODS; | 1904 | pMACHeader->wFrameCtl |= FC_TODS; |
1862 | } | 1905 | } |
1863 | } | 1906 | } |
@@ -1908,34 +1951,34 @@ s_vGenerateMACHeader ( | |||
1908 | -*/ | 1951 | -*/ |
1909 | 1952 | ||
1910 | CMD_STATUS csMgmt_xmit( | 1953 | CMD_STATUS csMgmt_xmit( |
1911 | IN PSDevice pDevice, | 1954 | PSDevice pDevice, |
1912 | IN PSTxMgmtPacket pPacket | 1955 | PSTxMgmtPacket pPacket |
1913 | ) | 1956 | ) |
1914 | { | 1957 | { |
1915 | BYTE byPktType; | 1958 | BYTE byPktType; |
1916 | PBYTE pbyTxBufferAddr; | 1959 | PBYTE pbyTxBufferAddr; |
1917 | PVOID pvRTS; | 1960 | void *pvRTS; |
1918 | PSCTS pCTS; | 1961 | PSCTS pCTS; |
1919 | PVOID pvTxDataHd; | 1962 | void *pvTxDataHd; |
1920 | UINT uDuration; | 1963 | unsigned int uDuration; |
1921 | UINT cbReqCount; | 1964 | unsigned int cbReqCount; |
1922 | PS802_11Header pMACHeader; | 1965 | PS802_11Header pMACHeader; |
1923 | UINT cbHeaderSize; | 1966 | unsigned int cbHeaderSize; |
1924 | UINT cbFrameBodySize; | 1967 | unsigned int cbFrameBodySize; |
1925 | BOOL bNeedACK; | 1968 | BOOL bNeedACK; |
1926 | BOOL bIsPSPOLL = FALSE; | 1969 | BOOL bIsPSPOLL = FALSE; |
1927 | PSTxBufHead pTxBufHead; | 1970 | PSTxBufHead pTxBufHead; |
1928 | UINT cbFrameSize; | 1971 | unsigned int cbFrameSize; |
1929 | UINT cbIVlen = 0; | 1972 | unsigned int cbIVlen = 0; |
1930 | UINT cbICVlen = 0; | 1973 | unsigned int cbICVlen = 0; |
1931 | UINT cbMIClen = 0; | 1974 | unsigned int cbMIClen = 0; |
1932 | UINT cbFCSlen = 4; | 1975 | unsigned int cbFCSlen = 4; |
1933 | UINT uPadding = 0; | 1976 | unsigned int uPadding = 0; |
1934 | WORD wTxBufSize; | 1977 | WORD wTxBufSize; |
1935 | UINT cbMacHdLen; | 1978 | unsigned int cbMacHdLen; |
1936 | SEthernetHeader sEthHeader; | 1979 | SEthernetHeader sEthHeader; |
1937 | PVOID pvRrvTime; | 1980 | void *pvRrvTime; |
1938 | PVOID pMICHDR; | 1981 | void *pMICHDR; |
1939 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); | 1982 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); |
1940 | WORD wCurrentRate = RATE_1M; | 1983 | WORD wCurrentRate = RATE_1M; |
1941 | PTX_BUFFER pTX_Buffer; | 1984 | PTX_BUFFER pTX_Buffer; |
@@ -2087,10 +2130,15 @@ CMD_STATUS csMgmt_xmit( | |||
2087 | cbHeaderSize = wTxBufSize + sizeof(SRrvTime_ab) + sizeof(STxDataHead_ab); | 2130 | cbHeaderSize = wTxBufSize + sizeof(SRrvTime_ab) + sizeof(STxDataHead_ab); |
2088 | } | 2131 | } |
2089 | 2132 | ||
2090 | memset((PVOID)(pbyTxBufferAddr + wTxBufSize), 0, (cbHeaderSize - wTxBufSize)); | 2133 | memset((void *)(pbyTxBufferAddr + wTxBufSize), 0, |
2134 | (cbHeaderSize - wTxBufSize)); | ||
2091 | 2135 | ||
2092 | memcpy(&(sEthHeader.abyDstAddr[0]), &(pPacket->p80211Header->sA3.abyAddr1[0]), U_ETHER_ADDR_LEN); | 2136 | memcpy(&(sEthHeader.abyDstAddr[0]), |
2093 | memcpy(&(sEthHeader.abySrcAddr[0]), &(pPacket->p80211Header->sA3.abyAddr2[0]), U_ETHER_ADDR_LEN); | 2137 | &(pPacket->p80211Header->sA3.abyAddr1[0]), |
2138 | ETH_ALEN); | ||
2139 | memcpy(&(sEthHeader.abySrcAddr[0]), | ||
2140 | &(pPacket->p80211Header->sA3.abyAddr2[0]), | ||
2141 | ETH_ALEN); | ||
2094 | //========================= | 2142 | //========================= |
2095 | // No Fragmentation | 2143 | // No Fragmentation |
2096 | //========================= | 2144 | //========================= |
@@ -2197,20 +2245,20 @@ CMD_STATUS csMgmt_xmit( | |||
2197 | 2245 | ||
2198 | CMD_STATUS | 2246 | CMD_STATUS |
2199 | csBeacon_xmit( | 2247 | csBeacon_xmit( |
2200 | IN PSDevice pDevice, | 2248 | PSDevice pDevice, |
2201 | IN PSTxMgmtPacket pPacket | 2249 | PSTxMgmtPacket pPacket |
2202 | ) | 2250 | ) |
2203 | { | 2251 | { |
2204 | 2252 | ||
2205 | UINT cbFrameSize = pPacket->cbMPDULen + WLAN_FCS_LEN; | 2253 | unsigned int cbFrameSize = pPacket->cbMPDULen + WLAN_FCS_LEN; |
2206 | UINT cbHeaderSize = 0; | 2254 | unsigned int cbHeaderSize = 0; |
2207 | WORD wTxBufSize = sizeof(STxShortBufHead); | 2255 | WORD wTxBufSize = sizeof(STxShortBufHead); |
2208 | PSTxShortBufHead pTxBufHead; | 2256 | PSTxShortBufHead pTxBufHead; |
2209 | PS802_11Header pMACHeader; | 2257 | PS802_11Header pMACHeader; |
2210 | PSTxDataHead_ab pTxDataHead; | 2258 | PSTxDataHead_ab pTxDataHead; |
2211 | WORD wCurrentRate; | 2259 | WORD wCurrentRate; |
2212 | UINT cbFrameBodySize; | 2260 | unsigned int cbFrameBodySize; |
2213 | UINT cbReqCount; | 2261 | unsigned int cbReqCount; |
2214 | PBEACON_BUFFER pTX_Buffer; | 2262 | PBEACON_BUFFER pTX_Buffer; |
2215 | PBYTE pbyTxBufferAddr; | 2263 | PBYTE pbyTxBufferAddr; |
2216 | PUSB_SEND_CONTEXT pContext; | 2264 | PUSB_SEND_CONTEXT pContext; |
@@ -2288,50 +2336,50 @@ csBeacon_xmit( | |||
2288 | 2336 | ||
2289 | 2337 | ||
2290 | 2338 | ||
2291 | VOID | 2339 | void |
2292 | vDMA0_tx_80211(PSDevice pDevice, struct sk_buff *skb) { | 2340 | vDMA0_tx_80211(PSDevice pDevice, struct sk_buff *skb) { |
2293 | 2341 | ||
2294 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); | 2342 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); |
2295 | BYTE byPktType; | 2343 | BYTE byPktType; |
2296 | PBYTE pbyTxBufferAddr; | 2344 | PBYTE pbyTxBufferAddr; |
2297 | PVOID pvRTS; | 2345 | void *pvRTS; |
2298 | PVOID pvCTS; | 2346 | void *pvCTS; |
2299 | PVOID pvTxDataHd; | 2347 | void *pvTxDataHd; |
2300 | UINT uDuration; | 2348 | unsigned int uDuration; |
2301 | UINT cbReqCount; | 2349 | unsigned int cbReqCount; |
2302 | PS802_11Header pMACHeader; | 2350 | PS802_11Header pMACHeader; |
2303 | UINT cbHeaderSize; | 2351 | unsigned int cbHeaderSize; |
2304 | UINT cbFrameBodySize; | 2352 | unsigned int cbFrameBodySize; |
2305 | BOOL bNeedACK; | 2353 | BOOL bNeedACK; |
2306 | BOOL bIsPSPOLL = FALSE; | 2354 | BOOL bIsPSPOLL = FALSE; |
2307 | PSTxBufHead pTxBufHead; | 2355 | PSTxBufHead pTxBufHead; |
2308 | UINT cbFrameSize; | 2356 | unsigned int cbFrameSize; |
2309 | UINT cbIVlen = 0; | 2357 | unsigned int cbIVlen = 0; |
2310 | UINT cbICVlen = 0; | 2358 | unsigned int cbICVlen = 0; |
2311 | UINT cbMIClen = 0; | 2359 | unsigned int cbMIClen = 0; |
2312 | UINT cbFCSlen = 4; | 2360 | unsigned int cbFCSlen = 4; |
2313 | UINT uPadding = 0; | 2361 | unsigned int uPadding = 0; |
2314 | UINT cbMICHDR = 0; | 2362 | unsigned int cbMICHDR = 0; |
2315 | UINT uLength = 0; | 2363 | unsigned int uLength = 0; |
2316 | DWORD dwMICKey0, dwMICKey1; | 2364 | DWORD dwMICKey0, dwMICKey1; |
2317 | DWORD dwMIC_Priority; | 2365 | DWORD dwMIC_Priority; |
2318 | PDWORD pdwMIC_L; | 2366 | PDWORD pdwMIC_L; |
2319 | PDWORD pdwMIC_R; | 2367 | PDWORD pdwMIC_R; |
2320 | WORD wTxBufSize; | 2368 | WORD wTxBufSize; |
2321 | UINT cbMacHdLen; | 2369 | unsigned int cbMacHdLen; |
2322 | SEthernetHeader sEthHeader; | 2370 | SEthernetHeader sEthHeader; |
2323 | PVOID pvRrvTime; | 2371 | void *pvRrvTime; |
2324 | PVOID pMICHDR; | 2372 | void *pMICHDR; |
2325 | WORD wCurrentRate = RATE_1M; | 2373 | WORD wCurrentRate = RATE_1M; |
2326 | PUWLAN_80211HDR p80211Header; | 2374 | PUWLAN_80211HDR p80211Header; |
2327 | UINT uNodeIndex = 0; | 2375 | unsigned int uNodeIndex = 0; |
2328 | BOOL bNodeExist = FALSE; | 2376 | BOOL bNodeExist = FALSE; |
2329 | SKeyItem STempKey; | 2377 | SKeyItem STempKey; |
2330 | PSKeyItem pTransmitKey = NULL; | 2378 | PSKeyItem pTransmitKey = NULL; |
2331 | PBYTE pbyIVHead; | 2379 | PBYTE pbyIVHead; |
2332 | PBYTE pbyPayloadHead; | 2380 | PBYTE pbyPayloadHead; |
2333 | PBYTE pbyMacHdr; | 2381 | PBYTE pbyMacHdr; |
2334 | UINT cbExtSuppRate = 0; | 2382 | unsigned int cbExtSuppRate = 0; |
2335 | PTX_BUFFER pTX_Buffer; | 2383 | PTX_BUFFER pTX_Buffer; |
2336 | PUSB_SEND_CONTEXT pContext; | 2384 | PUSB_SEND_CONTEXT pContext; |
2337 | // PWLAN_IE pItem; | 2385 | // PWLAN_IE pItem; |
@@ -2520,9 +2568,14 @@ vDMA0_tx_80211(PSDevice pDevice, struct sk_buff *skb) { | |||
2520 | pvTxDataHd = (PSTxDataHead_ab) (pbyTxBufferAddr + wTxBufSize + sizeof(SRrvTime_ab) + cbMICHDR); | 2568 | pvTxDataHd = (PSTxDataHead_ab) (pbyTxBufferAddr + wTxBufSize + sizeof(SRrvTime_ab) + cbMICHDR); |
2521 | cbHeaderSize = wTxBufSize + sizeof(SRrvTime_ab) + cbMICHDR + sizeof(STxDataHead_ab); | 2569 | cbHeaderSize = wTxBufSize + sizeof(SRrvTime_ab) + cbMICHDR + sizeof(STxDataHead_ab); |
2522 | } | 2570 | } |
2523 | memset((PVOID)(pbyTxBufferAddr + wTxBufSize), 0, (cbHeaderSize - wTxBufSize)); | 2571 | memset((void *)(pbyTxBufferAddr + wTxBufSize), 0, |
2524 | memcpy(&(sEthHeader.abyDstAddr[0]), &(p80211Header->sA3.abyAddr1[0]), U_ETHER_ADDR_LEN); | 2572 | (cbHeaderSize - wTxBufSize)); |
2525 | memcpy(&(sEthHeader.abySrcAddr[0]), &(p80211Header->sA3.abyAddr2[0]), U_ETHER_ADDR_LEN); | 2573 | memcpy(&(sEthHeader.abyDstAddr[0]), |
2574 | &(p80211Header->sA3.abyAddr1[0]), | ||
2575 | ETH_ALEN); | ||
2576 | memcpy(&(sEthHeader.abySrcAddr[0]), | ||
2577 | &(p80211Header->sA3.abyAddr2[0]), | ||
2578 | ETH_ALEN); | ||
2526 | //========================= | 2579 | //========================= |
2527 | // No Fragmentation | 2580 | // No Fragmentation |
2528 | //========================= | 2581 | //========================= |
@@ -2692,21 +2745,21 @@ vDMA0_tx_80211(PSDevice pDevice, struct sk_buff *skb) { | |||
2692 | 2745 | ||
2693 | NTSTATUS | 2746 | NTSTATUS |
2694 | nsDMA_tx_packet( | 2747 | nsDMA_tx_packet( |
2695 | IN PSDevice pDevice, | 2748 | PSDevice pDevice, |
2696 | IN UINT uDMAIdx, | 2749 | unsigned int uDMAIdx, |
2697 | IN struct sk_buff *skb | 2750 | struct sk_buff *skb |
2698 | ) | 2751 | ) |
2699 | { | 2752 | { |
2700 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); | 2753 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); |
2701 | UINT BytesToWrite =0,uHeaderLen = 0; | 2754 | unsigned int BytesToWrite = 0, uHeaderLen = 0; |
2702 | UINT uNodeIndex = 0; | 2755 | unsigned int uNodeIndex = 0; |
2703 | BYTE byMask[8] = {1, 2, 4, 8, 0x10, 0x20, 0x40, 0x80}; | 2756 | BYTE byMask[8] = {1, 2, 4, 8, 0x10, 0x20, 0x40, 0x80}; |
2704 | WORD wAID; | 2757 | WORD wAID; |
2705 | BYTE byPktType; | 2758 | BYTE byPktType; |
2706 | BOOL bNeedEncryption = FALSE; | 2759 | BOOL bNeedEncryption = FALSE; |
2707 | PSKeyItem pTransmitKey = NULL; | 2760 | PSKeyItem pTransmitKey = NULL; |
2708 | SKeyItem STempKey; | 2761 | SKeyItem STempKey; |
2709 | UINT ii; | 2762 | unsigned int ii; |
2710 | BOOL bTKIP_UseGTK = FALSE; | 2763 | BOOL bTKIP_UseGTK = FALSE; |
2711 | BOOL bNeedDeAuth = FALSE; | 2764 | BOOL bNeedDeAuth = FALSE; |
2712 | PBYTE pbyBSSID; | 2765 | PBYTE pbyBSSID; |
@@ -2714,7 +2767,7 @@ nsDMA_tx_packet( | |||
2714 | PUSB_SEND_CONTEXT pContext; | 2767 | PUSB_SEND_CONTEXT pContext; |
2715 | BOOL fConvertedPacket; | 2768 | BOOL fConvertedPacket; |
2716 | PTX_BUFFER pTX_Buffer; | 2769 | PTX_BUFFER pTX_Buffer; |
2717 | UINT status; | 2770 | unsigned int status; |
2718 | WORD wKeepRate = pDevice->wCurrentRate; | 2771 | WORD wKeepRate = pDevice->wCurrentRate; |
2719 | struct net_device_stats* pStats = &pDevice->stats; | 2772 | struct net_device_stats* pStats = &pDevice->stats; |
2720 | //#ifdef WPA_SM_Transtatus | 2773 | //#ifdef WPA_SM_Transtatus |
@@ -2796,7 +2849,7 @@ nsDMA_tx_packet( | |||
2796 | return STATUS_RESOURCES; | 2849 | return STATUS_RESOURCES; |
2797 | } | 2850 | } |
2798 | 2851 | ||
2799 | memcpy(pDevice->sTxEthHeader.abyDstAddr, (PBYTE)(skb->data), U_HEADER_LEN); | 2852 | memcpy(pDevice->sTxEthHeader.abyDstAddr, (PBYTE)(skb->data), ETH_HLEN); |
2800 | 2853 | ||
2801 | //mike add:station mode check eapol-key challenge---> | 2854 | //mike add:station mode check eapol-key challenge---> |
2802 | { | 2855 | { |
@@ -2805,10 +2858,10 @@ nsDMA_tx_packet( | |||
2805 | BYTE Descriptor_type; | 2858 | BYTE Descriptor_type; |
2806 | WORD Key_info; | 2859 | WORD Key_info; |
2807 | 2860 | ||
2808 | Protocol_Version = skb->data[U_HEADER_LEN]; | 2861 | Protocol_Version = skb->data[ETH_HLEN]; |
2809 | Packet_Type = skb->data[U_HEADER_LEN+1]; | 2862 | Packet_Type = skb->data[ETH_HLEN+1]; |
2810 | Descriptor_type = skb->data[U_HEADER_LEN+1+1+2]; | 2863 | Descriptor_type = skb->data[ETH_HLEN+1+1+2]; |
2811 | Key_info = (skb->data[U_HEADER_LEN+1+1+2+1] << 8)|(skb->data[U_HEADER_LEN+1+1+2+2]); | 2864 | Key_info = (skb->data[ETH_HLEN+1+1+2+1] << 8)|(skb->data[ETH_HLEN+1+1+2+2]); |
2812 | if (pDevice->sTxEthHeader.wType == TYPE_PKT_802_1x) { | 2865 | if (pDevice->sTxEthHeader.wType == TYPE_PKT_802_1x) { |
2813 | if(((Protocol_Version==1) ||(Protocol_Version==2)) && | 2866 | if(((Protocol_Version==1) ||(Protocol_Version==2)) && |
2814 | (Packet_Type==3)) { //802.1x OR eapol-key challenge frame transfer | 2867 | (Packet_Type==3)) { //802.1x OR eapol-key challenge frame transfer |
@@ -2971,10 +3024,12 @@ nsDMA_tx_packet( | |||
2971 | } | 3024 | } |
2972 | } | 3025 | } |
2973 | 3026 | ||
2974 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "dma_tx: pDevice->wCurrentRate = %d \n", pDevice->wCurrentRate); | 3027 | DBG_PRT(MSG_LEVEL_DEBUG, |
3028 | KERN_INFO "dma_tx: pDevice->wCurrentRate = %d\n", | ||
3029 | pDevice->wCurrentRate); | ||
2975 | 3030 | ||
2976 | if (wKeepRate != pDevice->wCurrentRate) { | 3031 | if (wKeepRate != pDevice->wCurrentRate) { |
2977 | bScheduleCommand((HANDLE)pDevice, WLAN_CMD_SETPOWER, NULL); | 3032 | bScheduleCommand((void *) pDevice, WLAN_CMD_SETPOWER, NULL); |
2978 | } | 3033 | } |
2979 | 3034 | ||
2980 | if (pDevice->wCurrentRate <= RATE_11M) { | 3035 | if (pDevice->wCurrentRate <= RATE_11M) { |
@@ -3057,7 +3112,9 @@ nsDMA_tx_packet( | |||
3057 | 3112 | ||
3058 | if ( pDevice->bEnablePSMode == TRUE ) { | 3113 | if ( pDevice->bEnablePSMode == TRUE ) { |
3059 | if ( !pDevice->bPSModeTxBurst ) { | 3114 | if ( !pDevice->bPSModeTxBurst ) { |
3060 | bScheduleCommand((HANDLE) pDevice, WLAN_CMD_MAC_DISPOWERSAVING, NULL); | 3115 | bScheduleCommand((void *) pDevice, |
3116 | WLAN_CMD_MAC_DISPOWERSAVING, | ||
3117 | NULL); | ||
3061 | pDevice->bPSModeTxBurst = TRUE; | 3118 | pDevice->bPSModeTxBurst = TRUE; |
3062 | } | 3119 | } |
3063 | } | 3120 | } |
@@ -3077,7 +3134,7 @@ nsDMA_tx_packet( | |||
3077 | if (bNeedDeAuth == TRUE) { | 3134 | if (bNeedDeAuth == TRUE) { |
3078 | WORD wReason = WLAN_MGMT_REASON_MIC_FAILURE; | 3135 | WORD wReason = WLAN_MGMT_REASON_MIC_FAILURE; |
3079 | 3136 | ||
3080 | bScheduleCommand((HANDLE) pDevice, WLAN_CMD_DEAUTH, (PBYTE)&wReason); | 3137 | bScheduleCommand((void *) pDevice, WLAN_CMD_DEAUTH, (PBYTE) &wReason); |
3081 | } | 3138 | } |
3082 | 3139 | ||
3083 | if(status!=STATUS_PENDING) { | 3140 | if(status!=STATUS_PENDING) { |
@@ -3110,14 +3167,14 @@ nsDMA_tx_packet( | |||
3110 | 3167 | ||
3111 | BOOL | 3168 | BOOL |
3112 | bRelayPacketSend ( | 3169 | bRelayPacketSend ( |
3113 | IN PSDevice pDevice, | 3170 | PSDevice pDevice, |
3114 | IN PBYTE pbySkbData, | 3171 | PBYTE pbySkbData, |
3115 | IN UINT uDataLen, | 3172 | unsigned int uDataLen, |
3116 | IN UINT uNodeIndex | 3173 | unsigned int uNodeIndex |
3117 | ) | 3174 | ) |
3118 | { | 3175 | { |
3119 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); | 3176 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); |
3120 | UINT BytesToWrite =0,uHeaderLen = 0; | 3177 | unsigned int BytesToWrite = 0, uHeaderLen = 0; |
3121 | BYTE byPktType = PK_TYPE_11B; | 3178 | BYTE byPktType = PK_TYPE_11B; |
3122 | BOOL bNeedEncryption = FALSE; | 3179 | BOOL bNeedEncryption = FALSE; |
3123 | SKeyItem STempKey; | 3180 | SKeyItem STempKey; |
@@ -3127,7 +3184,7 @@ bRelayPacketSend ( | |||
3127 | BYTE byPktTyp; | 3184 | BYTE byPktTyp; |
3128 | BOOL fConvertedPacket; | 3185 | BOOL fConvertedPacket; |
3129 | PTX_BUFFER pTX_Buffer; | 3186 | PTX_BUFFER pTX_Buffer; |
3130 | UINT status; | 3187 | unsigned int status; |
3131 | WORD wKeepRate = pDevice->wCurrentRate; | 3188 | WORD wKeepRate = pDevice->wCurrentRate; |
3132 | 3189 | ||
3133 | 3190 | ||
@@ -3138,7 +3195,7 @@ bRelayPacketSend ( | |||
3138 | return FALSE; | 3195 | return FALSE; |
3139 | } | 3196 | } |
3140 | 3197 | ||
3141 | memcpy(pDevice->sTxEthHeader.abyDstAddr, (PBYTE)pbySkbData, U_HEADER_LEN); | 3198 | memcpy(pDevice->sTxEthHeader.abyDstAddr, (PBYTE)pbySkbData, ETH_HLEN); |
3142 | 3199 | ||
3143 | if (pDevice->bEncryptionEnable == TRUE) { | 3200 | if (pDevice->bEncryptionEnable == TRUE) { |
3144 | bNeedEncryption = TRUE; | 3201 | bNeedEncryption = TRUE; |
@@ -3197,9 +3254,8 @@ bRelayPacketSend ( | |||
3197 | pDevice->wCurrentRate = pMgmt->sNodeDBTable[uNodeIndex].wTxDataRate; | 3254 | pDevice->wCurrentRate = pMgmt->sNodeDBTable[uNodeIndex].wTxDataRate; |
3198 | } | 3255 | } |
3199 | 3256 | ||
3200 | |||
3201 | if (wKeepRate != pDevice->wCurrentRate) { | 3257 | if (wKeepRate != pDevice->wCurrentRate) { |
3202 | bScheduleCommand((HANDLE) pDevice, WLAN_CMD_SETPOWER, NULL); | 3258 | bScheduleCommand((void *) pDevice, WLAN_CMD_SETPOWER, NULL); |
3203 | } | 3259 | } |
3204 | 3260 | ||
3205 | if (pDevice->wCurrentRate <= RATE_11M) | 3261 | if (pDevice->wCurrentRate <= RATE_11M) |
diff --git a/drivers/staging/vt6656/rxtx.h b/drivers/staging/vt6656/rxtx.h index 6bc22d371c1..f90de42d7ab 100644 --- a/drivers/staging/vt6656/rxtx.h +++ b/drivers/staging/vt6656/rxtx.h | |||
@@ -43,8 +43,8 @@ | |||
43 | typedef struct tagSRTSDataF { | 43 | typedef struct tagSRTSDataF { |
44 | WORD wFrameControl; | 44 | WORD wFrameControl; |
45 | WORD wDurationID; | 45 | WORD wDurationID; |
46 | BYTE abyRA[U_ETHER_ADDR_LEN]; | 46 | BYTE abyRA[ETH_ALEN]; |
47 | BYTE abyTA[U_ETHER_ADDR_LEN]; | 47 | BYTE abyTA[ETH_ALEN]; |
48 | } SRTSDataF, *PSRTSDataF; | 48 | } SRTSDataF, *PSRTSDataF; |
49 | 49 | ||
50 | // | 50 | // |
@@ -53,7 +53,7 @@ typedef struct tagSRTSDataF { | |||
53 | typedef struct tagSCTSDataF { | 53 | typedef struct tagSCTSDataF { |
54 | WORD wFrameControl; | 54 | WORD wFrameControl; |
55 | WORD wDurationID; | 55 | WORD wDurationID; |
56 | BYTE abyRA[U_ETHER_ADDR_LEN]; | 56 | BYTE abyRA[ETH_ALEN]; |
57 | WORD wReserved; | 57 | WORD wReserved; |
58 | } SCTSDataF, *PSCTSDataF; | 58 | } SCTSDataF, *PSCTSDataF; |
59 | 59 | ||
@@ -667,28 +667,28 @@ typedef struct tagSBEACON_BUFFER | |||
667 | 667 | ||
668 | BOOL | 668 | BOOL |
669 | bPacketToWirelessUsb( | 669 | bPacketToWirelessUsb( |
670 | IN PSDevice pDevice, | 670 | PSDevice pDevice, |
671 | IN BYTE byPktType, | 671 | BYTE byPktType, |
672 | IN PBYTE usbPacketBuf, | 672 | PBYTE usbPacketBuf, |
673 | IN BOOL bNeedEncrypt, | 673 | BOOL bNeedEncrypt, |
674 | IN UINT cbPayloadSize, | 674 | unsigned int cbPayloadSize, |
675 | IN UINT uDMAIdx, | 675 | unsigned int uDMAIdx, |
676 | IN PSEthernetHeader psEthHeader, | 676 | PSEthernetHeader psEthHeader, |
677 | IN PBYTE pPacket, | 677 | PBYTE pPacket, |
678 | IN PSKeyItem pTransmitKey, | 678 | PSKeyItem pTransmitKey, |
679 | IN UINT uNodeIndex, | 679 | unsigned int uNodeIndex, |
680 | IN WORD wCurrentRate, | 680 | WORD wCurrentRate, |
681 | OUT UINT *pcbHeaderLen, | 681 | unsigned int *pcbHeaderLen, |
682 | OUT UINT *pcbTotalLen | 682 | unsigned int *pcbTotalLen |
683 | ); | 683 | ); |
684 | 684 | ||
685 | VOID vDMA0_tx_80211(PSDevice pDevice, struct sk_buff *skb); | 685 | void vDMA0_tx_80211(PSDevice pDevice, struct sk_buff *skb); |
686 | NTSTATUS nsDMA_tx_packet(PSDevice pDevice, UINT uDMAIdx, struct sk_buff *skb); | 686 | NTSTATUS nsDMA_tx_packet(PSDevice pDevice, |
687 | unsigned int uDMAIdx, | ||
688 | struct sk_buff *skb); | ||
687 | CMD_STATUS csMgmt_xmit(PSDevice pDevice, PSTxMgmtPacket pPacket); | 689 | CMD_STATUS csMgmt_xmit(PSDevice pDevice, PSTxMgmtPacket pPacket); |
688 | CMD_STATUS csBeacon_xmit(PSDevice pDevice, PSTxMgmtPacket pPacket); | 690 | CMD_STATUS csBeacon_xmit(PSDevice pDevice, PSTxMgmtPacket pPacket); |
689 | BOOL bRelayPacketSend(PSDevice pDevice, PBYTE pbySkbData, UINT uDataLen, UINT uNodeIndex); | 691 | BOOL bRelayPacketSend(PSDevice pDevice, PBYTE pbySkbData, |
690 | 692 | unsigned int uDataLen, unsigned int uNodeIndex); | |
691 | #endif // __RXTX_H__ | ||
692 | |||
693 | |||
694 | 693 | ||
694 | #endif /* __RXTX_H__ */ | ||
diff --git a/drivers/staging/vt6656/srom.h b/drivers/staging/vt6656/srom.h index 4c89e7ad6b4..dba21a54414 100644 --- a/drivers/staging/vt6656/srom.h +++ b/drivers/staging/vt6656/srom.h | |||
@@ -124,4 +124,4 @@ typedef struct tagSSromReg { | |||
124 | 124 | ||
125 | /*--------------------- Export Functions --------------------------*/ | 125 | /*--------------------- Export Functions --------------------------*/ |
126 | 126 | ||
127 | #endif // __EEPROM_H__ | 127 | #endif /* __EEPROM_H__ */ |
diff --git a/drivers/staging/vt6656/tcrc.c b/drivers/staging/vt6656/tcrc.c index 5f0c74763f8..e25021e850a 100644 --- a/drivers/staging/vt6656/tcrc.c +++ b/drivers/staging/vt6656/tcrc.c | |||
@@ -41,7 +41,7 @@ | |||
41 | 41 | ||
42 | /*--------------------- Static Variables --------------------------*/ | 42 | /*--------------------- Static Variables --------------------------*/ |
43 | 43 | ||
44 | // 32-bit CRC table | 44 | /* 32-bit CRC table */ |
45 | static const DWORD s_adwCrc32Table[256] = { | 45 | static const DWORD s_adwCrc32Table[256] = { |
46 | 0x00000000L, 0x77073096L, 0xEE0E612CL, 0x990951BAL, | 46 | 0x00000000L, 0x77073096L, 0xEE0E612CL, 0x990951BAL, |
47 | 0x076DC419L, 0x706AF48FL, 0xE963A535L, 0x9E6495A3L, | 47 | 0x076DC419L, 0x706AF48FL, 0xE963A535L, 0x9E6495A3L, |
@@ -132,17 +132,18 @@ static const DWORD s_adwCrc32Table[256] = { | |||
132 | * Return Value: CRC-32 | 132 | * Return Value: CRC-32 |
133 | * | 133 | * |
134 | -*/ | 134 | -*/ |
135 | DWORD CRCdwCrc32 (PBYTE pbyData, UINT cbByte, DWORD dwCrcSeed) | 135 | DWORD CRCdwCrc32(PBYTE pbyData, unsigned int cbByte, DWORD dwCrcSeed) |
136 | { | 136 | { |
137 | DWORD dwCrc; | 137 | DWORD dwCrc; |
138 | 138 | ||
139 | dwCrc = dwCrcSeed; | 139 | dwCrc = dwCrcSeed; |
140 | while (cbByte--) { | 140 | while (cbByte--) { |
141 | dwCrc = s_adwCrc32Table[(BYTE)((dwCrc ^ (*pbyData)) & 0xFF)] ^ (dwCrc >> 8); | 141 | dwCrc = s_adwCrc32Table[(BYTE)((dwCrc ^ (*pbyData)) & 0xFF)] ^ |
142 | pbyData++; | 142 | (dwCrc >> 8); |
143 | } | 143 | pbyData++; |
144 | } | ||
144 | 145 | ||
145 | return dwCrc; | 146 | return dwCrc; |
146 | } | 147 | } |
147 | 148 | ||
148 | 149 | ||
@@ -164,7 +165,7 @@ DWORD CRCdwCrc32 (PBYTE pbyData, UINT cbByte, DWORD dwCrcSeed) | |||
164 | * Return Value: CRC-32 | 165 | * Return Value: CRC-32 |
165 | * | 166 | * |
166 | -*/ | 167 | -*/ |
167 | DWORD CRCdwGetCrc32 (PBYTE pbyData, UINT cbByte) | 168 | DWORD CRCdwGetCrc32(PBYTE pbyData, unsigned int cbByte) |
168 | { | 169 | { |
169 | return ~CRCdwCrc32(pbyData, cbByte, 0xFFFFFFFFL); | 170 | return ~CRCdwCrc32(pbyData, cbByte, 0xFFFFFFFFL); |
170 | } | 171 | } |
@@ -190,7 +191,7 @@ DWORD CRCdwGetCrc32 (PBYTE pbyData, UINT cbByte) | |||
190 | * Return Value: CRC-32 | 191 | * Return Value: CRC-32 |
191 | * | 192 | * |
192 | -*/ | 193 | -*/ |
193 | DWORD CRCdwGetCrc32Ex(PBYTE pbyData, UINT cbByte, DWORD dwPreCRC) | 194 | DWORD CRCdwGetCrc32Ex(PBYTE pbyData, unsigned int cbByte, DWORD dwPreCRC) |
194 | { | 195 | { |
195 | return CRCdwCrc32(pbyData, cbByte, dwPreCRC); | 196 | return CRCdwCrc32(pbyData, cbByte, dwPreCRC); |
196 | } | 197 | } |
diff --git a/drivers/staging/vt6656/tcrc.h b/drivers/staging/vt6656/tcrc.h index 5faa48b0a74..4dfd01e477a 100644 --- a/drivers/staging/vt6656/tcrc.h +++ b/drivers/staging/vt6656/tcrc.h | |||
@@ -43,11 +43,8 @@ | |||
43 | 43 | ||
44 | /*--------------------- Export Functions --------------------------*/ | 44 | /*--------------------- Export Functions --------------------------*/ |
45 | 45 | ||
46 | DWORD CRCdwCrc32(PBYTE pbyData, UINT cbByte, DWORD dwCrcSeed); | 46 | DWORD CRCdwCrc32(PBYTE pbyData, unsigned int cbByte, DWORD dwCrcSeed); |
47 | DWORD CRCdwGetCrc32(PBYTE pbyData, UINT cbByte); | 47 | DWORD CRCdwGetCrc32(PBYTE pbyData, unsigned int cbByte); |
48 | DWORD CRCdwGetCrc32Ex(PBYTE pbyData, UINT cbByte, DWORD dwPreCRC); | 48 | DWORD CRCdwGetCrc32Ex(PBYTE pbyData, unsigned int cbByte, DWORD dwPreCRC); |
49 | |||
50 | #endif // __TCRC_H__ | ||
51 | |||
52 | |||
53 | 49 | ||
50 | #endif /* __TCRC_H__ */ | ||
diff --git a/drivers/staging/vt6656/tether.c b/drivers/staging/vt6656/tether.c index c90b469ad54..4f368f174b2 100644 --- a/drivers/staging/vt6656/tether.c +++ b/drivers/staging/vt6656/tether.c | |||
@@ -61,25 +61,25 @@ | |||
61 | * Return Value: Hash value | 61 | * Return Value: Hash value |
62 | * | 62 | * |
63 | */ | 63 | */ |
64 | BYTE ETHbyGetHashIndexByCrc32 (PBYTE pbyMultiAddr) | 64 | BYTE ETHbyGetHashIndexByCrc32(PBYTE pbyMultiAddr) |
65 | { | 65 | { |
66 | int ii; | 66 | int ii; |
67 | BYTE byTmpHash; | 67 | BYTE byTmpHash; |
68 | BYTE byHash = 0; | 68 | BYTE byHash = 0; |
69 | 69 | ||
70 | // get the least 6-bits from CRC generator | 70 | /* get the least 6-bits from CRC generator */ |
71 | byTmpHash = (BYTE)(CRCdwCrc32(pbyMultiAddr, U_ETHER_ADDR_LEN, | 71 | byTmpHash = (BYTE)(CRCdwCrc32(pbyMultiAddr, ETH_ALEN, |
72 | 0xFFFFFFFFL) & 0x3F); | 72 | 0xFFFFFFFFL) & 0x3F); |
73 | // reverse most bit to least bit | 73 | /* reverse most bit to least bit */ |
74 | for (ii = 0; ii < (sizeof(byTmpHash) * 8); ii++) { | 74 | for (ii = 0; ii < (sizeof(byTmpHash) * 8); ii++) { |
75 | byHash <<= 1; | 75 | byHash <<= 1; |
76 | if (byTmpHash & 0x01) | 76 | if (byTmpHash & 0x01) |
77 | byHash |= 1; | 77 | byHash |= 1; |
78 | byTmpHash >>= 1; | 78 | byTmpHash >>= 1; |
79 | } | 79 | } |
80 | 80 | ||
81 | // adjust 6-bits to the right most | 81 | /* adjust 6-bits to the right most */ |
82 | return (byHash >> 2); | 82 | return byHash >> 2; |
83 | } | 83 | } |
84 | 84 | ||
85 | 85 | ||
@@ -96,14 +96,13 @@ BYTE ETHbyGetHashIndexByCrc32 (PBYTE pbyMultiAddr) | |||
96 | * Return Value: TRUE if ok; FALSE if error. | 96 | * Return Value: TRUE if ok; FALSE if error. |
97 | * | 97 | * |
98 | */ | 98 | */ |
99 | BOOL ETHbIsBufferCrc32Ok (PBYTE pbyBuffer, UINT cbFrameLength) | 99 | BOOL ETHbIsBufferCrc32Ok(PBYTE pbyBuffer, unsigned int cbFrameLength) |
100 | { | 100 | { |
101 | DWORD dwCRC; | 101 | DWORD dwCRC; |
102 | 102 | ||
103 | dwCRC = CRCdwGetCrc32(pbyBuffer, cbFrameLength - 4); | 103 | dwCRC = CRCdwGetCrc32(pbyBuffer, cbFrameLength - 4); |
104 | if (cpu_to_le32(*((PDWORD)(pbyBuffer + cbFrameLength - 4))) != dwCRC) { | 104 | if (cpu_to_le32(*((PDWORD)(pbyBuffer + cbFrameLength - 4))) != dwCRC) |
105 | return FALSE; | 105 | return FALSE; |
106 | } | 106 | return TRUE; |
107 | return TRUE; | ||
108 | } | 107 | } |
109 | 108 | ||
diff --git a/drivers/staging/vt6656/tether.h b/drivers/staging/vt6656/tether.h index 5a3c326436c..d63586d5cdb 100644 --- a/drivers/staging/vt6656/tether.h +++ b/drivers/staging/vt6656/tether.h | |||
@@ -29,26 +29,24 @@ | |||
29 | #ifndef __TETHER_H__ | 29 | #ifndef __TETHER_H__ |
30 | #define __TETHER_H__ | 30 | #define __TETHER_H__ |
31 | 31 | ||
32 | #include <linux/if_ether.h> | ||
32 | #include "ttype.h" | 33 | #include "ttype.h" |
33 | 34 | ||
34 | /*--------------------- Export Definitions -------------------------*/ | 35 | /*--------------------- Export Definitions -------------------------*/ |
35 | // | 36 | // |
36 | // constants | 37 | // constants |
37 | // | 38 | // |
38 | #define U_ETHER_ADDR_LEN 6 // Ethernet address length | ||
39 | #define U_TYPE_LEN 2 // | ||
40 | #define U_CRC_LEN 4 // | 39 | #define U_CRC_LEN 4 // |
41 | #define U_HEADER_LEN (U_ETHER_ADDR_LEN * 2 + U_TYPE_LEN) | 40 | #define U_ETHER_ADDR_STR_LEN (ETH_ALEN * 2 + 1) |
42 | #define U_ETHER_ADDR_STR_LEN (U_ETHER_ADDR_LEN * 2 + 1) | ||
43 | // Ethernet address string length | 41 | // Ethernet address string length |
44 | 42 | ||
45 | #define MIN_DATA_LEN 46 // min data length | 43 | #define MIN_DATA_LEN 46 // min data length |
46 | #define MAX_DATA_LEN 1500 // max data length | 44 | #define MAX_DATA_LEN 1500 // max data length |
47 | 45 | ||
48 | #define MIN_PACKET_LEN (MIN_DATA_LEN + U_HEADER_LEN) | 46 | #define MIN_PACKET_LEN (MIN_DATA_LEN + ETH_HLEN) |
49 | // 60 | 47 | // 60 |
50 | // min total packet length (tx) | 48 | // min total packet length (tx) |
51 | #define MAX_PACKET_LEN (MAX_DATA_LEN + U_HEADER_LEN) | 49 | #define MAX_PACKET_LEN (MAX_DATA_LEN + ETH_HLEN) |
52 | // 1514 | 50 | // 1514 |
53 | // max total packet length (tx) | 51 | // max total packet length (tx) |
54 | 52 | ||
@@ -167,8 +165,8 @@ | |||
167 | // Ethernet packet | 165 | // Ethernet packet |
168 | // | 166 | // |
169 | typedef struct tagSEthernetHeader { | 167 | typedef struct tagSEthernetHeader { |
170 | BYTE abyDstAddr[U_ETHER_ADDR_LEN]; | 168 | BYTE abyDstAddr[ETH_ALEN]; |
171 | BYTE abySrcAddr[U_ETHER_ADDR_LEN]; | 169 | BYTE abySrcAddr[ETH_ALEN]; |
172 | WORD wType; | 170 | WORD wType; |
173 | }__attribute__ ((__packed__)) | 171 | }__attribute__ ((__packed__)) |
174 | SEthernetHeader, *PSEthernetHeader; | 172 | SEthernetHeader, *PSEthernetHeader; |
@@ -178,8 +176,8 @@ SEthernetHeader, *PSEthernetHeader; | |||
178 | // 802_3 packet | 176 | // 802_3 packet |
179 | // | 177 | // |
180 | typedef struct tagS802_3Header { | 178 | typedef struct tagS802_3Header { |
181 | BYTE abyDstAddr[U_ETHER_ADDR_LEN]; | 179 | BYTE abyDstAddr[ETH_ALEN]; |
182 | BYTE abySrcAddr[U_ETHER_ADDR_LEN]; | 180 | BYTE abySrcAddr[ETH_ALEN]; |
183 | WORD wLen; | 181 | WORD wLen; |
184 | }__attribute__ ((__packed__)) | 182 | }__attribute__ ((__packed__)) |
185 | S802_3Header, *PS802_3Header; | 183 | S802_3Header, *PS802_3Header; |
@@ -190,11 +188,11 @@ S802_3Header, *PS802_3Header; | |||
190 | typedef struct tagS802_11Header { | 188 | typedef struct tagS802_11Header { |
191 | WORD wFrameCtl; | 189 | WORD wFrameCtl; |
192 | WORD wDurationID; | 190 | WORD wDurationID; |
193 | BYTE abyAddr1[U_ETHER_ADDR_LEN]; | 191 | BYTE abyAddr1[ETH_ALEN]; |
194 | BYTE abyAddr2[U_ETHER_ADDR_LEN]; | 192 | BYTE abyAddr2[ETH_ALEN]; |
195 | BYTE abyAddr3[U_ETHER_ADDR_LEN]; | 193 | BYTE abyAddr3[ETH_ALEN]; |
196 | WORD wSeqCtl; | 194 | WORD wSeqCtl; |
197 | BYTE abyAddr4[U_ETHER_ADDR_LEN]; | 195 | BYTE abyAddr4[ETH_ALEN]; |
198 | }__attribute__ ((__packed__)) | 196 | }__attribute__ ((__packed__)) |
199 | S802_11Header, *PS802_11Header; | 197 | S802_11Header, *PS802_11Header; |
200 | 198 | ||
@@ -228,9 +226,6 @@ S802_11Header, *PS802_11Header; | |||
228 | 226 | ||
229 | BYTE ETHbyGetHashIndexByCrc32(PBYTE pbyMultiAddr); | 227 | BYTE ETHbyGetHashIndexByCrc32(PBYTE pbyMultiAddr); |
230 | //BYTE ETHbyGetHashIndexByCrc(PBYTE pbyMultiAddr); | 228 | //BYTE ETHbyGetHashIndexByCrc(PBYTE pbyMultiAddr); |
231 | BOOL ETHbIsBufferCrc32Ok(PBYTE pbyBuffer, UINT cbFrameLength); | 229 | BOOL ETHbIsBufferCrc32Ok(PBYTE pbyBuffer, unsigned int cbFrameLength); |
232 | |||
233 | #endif // __TETHER_H__ | ||
234 | |||
235 | |||
236 | 230 | ||
231 | #endif /* __TETHER_H__ */ | ||
diff --git a/drivers/staging/vt6656/tkip.c b/drivers/staging/vt6656/tkip.c index 8ca154080e9..f83af5913aa 100644 --- a/drivers/staging/vt6656/tkip.c +++ b/drivers/staging/vt6656/tkip.c | |||
@@ -183,7 +183,7 @@ unsigned int rotr1(unsigned int a) | |||
183 | * Return Value: none | 183 | * Return Value: none |
184 | * | 184 | * |
185 | */ | 185 | */ |
186 | VOID TKIPvMixKey( | 186 | void TKIPvMixKey( |
187 | PBYTE pbyTKey, | 187 | PBYTE pbyTKey, |
188 | PBYTE pbyTA, | 188 | PBYTE pbyTA, |
189 | WORD wTSC15_0, | 189 | WORD wTSC15_0, |
diff --git a/drivers/staging/vt6656/tkip.h b/drivers/staging/vt6656/tkip.h index 847ecdf97ee..47c3a853b92 100644 --- a/drivers/staging/vt6656/tkip.h +++ b/drivers/staging/vt6656/tkip.h | |||
@@ -46,7 +46,7 @@ | |||
46 | 46 | ||
47 | /*--------------------- Export Functions --------------------------*/ | 47 | /*--------------------- Export Functions --------------------------*/ |
48 | 48 | ||
49 | VOID TKIPvMixKey( | 49 | void TKIPvMixKey( |
50 | PBYTE pbyTKey, | 50 | PBYTE pbyTKey, |
51 | PBYTE pbyTA, | 51 | PBYTE pbyTA, |
52 | WORD wTSC15_0, | 52 | WORD wTSC15_0, |
@@ -54,7 +54,4 @@ VOID TKIPvMixKey( | |||
54 | PBYTE pbyRC4Key | 54 | PBYTE pbyRC4Key |
55 | ); | 55 | ); |
56 | 56 | ||
57 | #endif // __TKIP_H__ | 57 | #endif /* __TKIP_H__ */ |
58 | |||
59 | |||
60 | |||
diff --git a/drivers/staging/vt6656/tmacro.h b/drivers/staging/vt6656/tmacro.h index e96c140de05..3c81e2b0791 100644 --- a/drivers/staging/vt6656/tmacro.h +++ b/drivers/staging/vt6656/tmacro.h | |||
@@ -57,6 +57,4 @@ | |||
57 | #define MAKEDWORD(lw, hw) ((DWORD)(((WORD)(lw)) | (((DWORD)((WORD)(hw))) << 16))) | 57 | #define MAKEDWORD(lw, hw) ((DWORD)(((WORD)(lw)) | (((DWORD)((WORD)(hw))) << 16))) |
58 | #endif | 58 | #endif |
59 | 59 | ||
60 | #endif // __TMACRO_H__ | 60 | #endif /* __TMACRO_H__ */ |
61 | |||
62 | |||
diff --git a/drivers/staging/vt6656/ttype.h b/drivers/staging/vt6656/ttype.h index 9ee3f436fc3..c27f9858e2e 100644 --- a/drivers/staging/vt6656/ttype.h +++ b/drivers/staging/vt6656/ttype.h | |||
@@ -26,25 +26,11 @@ | |||
26 | * | 26 | * |
27 | */ | 27 | */ |
28 | 28 | ||
29 | |||
30 | #ifndef __TTYPE_H__ | 29 | #ifndef __TTYPE_H__ |
31 | #define __TTYPE_H__ | 30 | #define __TTYPE_H__ |
32 | 31 | ||
33 | |||
34 | /******* Common definitions and typedefs ***********************************/ | 32 | /******* Common definitions and typedefs ***********************************/ |
35 | 33 | ||
36 | #ifndef VOID | ||
37 | #define VOID void | ||
38 | #endif | ||
39 | |||
40 | #ifndef IN | ||
41 | #define IN | ||
42 | #endif | ||
43 | |||
44 | #ifndef OUT | ||
45 | #define OUT | ||
46 | #endif | ||
47 | |||
48 | //2007-0115-05<Add>by MikeLiu | 34 | //2007-0115-05<Add>by MikeLiu |
49 | #ifndef TxInSleep | 35 | #ifndef TxInSleep |
50 | #define TxInSleep | 36 | #define TxInSleep |
@@ -52,7 +38,6 @@ | |||
52 | 38 | ||
53 | //DavidWang | 39 | //DavidWang |
54 | 40 | ||
55 | |||
56 | //2007-0814-01<Add>by MikeLiu | 41 | //2007-0814-01<Add>by MikeLiu |
57 | #ifndef Safe_Close | 42 | #ifndef Safe_Close |
58 | #define Safe_Close | 43 | #define Safe_Close |
@@ -72,11 +57,6 @@ typedef int BOOL; | |||
72 | #define FALSE 0 | 57 | #define FALSE 0 |
73 | #endif | 58 | #endif |
74 | 59 | ||
75 | |||
76 | #if !defined(SUCCESS) | ||
77 | #define SUCCESS 0 | ||
78 | #endif | ||
79 | |||
80 | //2007-0809-01<Add>by MikeLiu | 60 | //2007-0809-01<Add>by MikeLiu |
81 | #ifndef update_BssList | 61 | #ifndef update_BssList |
82 | #define update_BssList | 62 | #define update_BssList |
@@ -92,31 +72,6 @@ typedef int BOOL; | |||
92 | 72 | ||
93 | /****** Simple typedefs ***************************************************/ | 73 | /****** Simple typedefs ***************************************************/ |
94 | 74 | ||
95 | /* These lines assume that your compiler's longs are 32 bits and | ||
96 | * shorts are 16 bits. It is already assumed that chars are 8 bits, | ||
97 | * but it doesn't matter if they're signed or unsigned. | ||
98 | */ | ||
99 | |||
100 | typedef signed char I8; /* 8-bit signed integer */ | ||
101 | |||
102 | typedef unsigned char U8; /* 8-bit unsigned integer */ | ||
103 | typedef unsigned short U16; /* 16-bit unsigned integer */ | ||
104 | typedef unsigned long U32; /* 32-bit unsigned integer */ | ||
105 | |||
106 | |||
107 | typedef char CHAR; | ||
108 | typedef signed short SHORT; | ||
109 | typedef signed int INT; | ||
110 | typedef signed long LONG; | ||
111 | |||
112 | typedef unsigned char UCHAR; | ||
113 | typedef unsigned short USHORT; | ||
114 | typedef unsigned int UINT; | ||
115 | typedef unsigned long ULONG; | ||
116 | typedef unsigned long long ULONGLONG; //64 bit | ||
117 | |||
118 | |||
119 | |||
120 | typedef unsigned char BYTE; // 8-bit | 75 | typedef unsigned char BYTE; // 8-bit |
121 | typedef unsigned short WORD; // 16-bit | 76 | typedef unsigned short WORD; // 16-bit |
122 | typedef unsigned long DWORD; // 32-bit | 77 | typedef unsigned long DWORD; // 32-bit |
@@ -133,7 +88,6 @@ typedef union tagUQuadWord { | |||
133 | } UQuadWord; | 88 | } UQuadWord; |
134 | typedef UQuadWord QWORD; // 64-bit | 89 | typedef UQuadWord QWORD; // 64-bit |
135 | 90 | ||
136 | |||
137 | /****** Common pointer types ***********************************************/ | 91 | /****** Common pointer types ***********************************************/ |
138 | 92 | ||
139 | typedef unsigned long ULONG_PTR; // 32-bit | 93 | typedef unsigned long ULONG_PTR; // 32-bit |
@@ -150,13 +104,4 @@ typedef DWORD * PDWORD; | |||
150 | 104 | ||
151 | typedef QWORD * PQWORD; | 105 | typedef QWORD * PQWORD; |
152 | 106 | ||
153 | typedef void * PVOID; | 107 | #endif /* __TTYPE_H__ */ |
154 | |||
155 | // handle declaration | ||
156 | #ifdef STRICT | ||
157 | typedef void *HANDLE; | ||
158 | #else | ||
159 | typedef PVOID HANDLE; | ||
160 | #endif | ||
161 | |||
162 | #endif // __TTYPE_H__ | ||
diff --git a/drivers/staging/vt6656/upc.h b/drivers/staging/vt6656/upc.h index acd1b661490..b33aba4b12c 100644 --- a/drivers/staging/vt6656/upc.h +++ b/drivers/staging/vt6656/upc.h | |||
@@ -141,7 +141,7 @@ | |||
141 | 141 | ||
142 | #define PCAvDelayByIO(uDelayUnit) { \ | 142 | #define PCAvDelayByIO(uDelayUnit) { \ |
143 | BYTE byData; \ | 143 | BYTE byData; \ |
144 | ULONG ii; \ | 144 | unsigned long ii; \ |
145 | \ | 145 | \ |
146 | if (uDelayUnit <= 50) { \ | 146 | if (uDelayUnit <= 50) { \ |
147 | udelay(uDelayUnit); \ | 147 | udelay(uDelayUnit); \ |
@@ -159,8 +159,4 @@ | |||
159 | 159 | ||
160 | /*--------------------- Export Functions --------------------------*/ | 160 | /*--------------------- Export Functions --------------------------*/ |
161 | 161 | ||
162 | 162 | #endif /* __UPC_H__ */ | |
163 | |||
164 | |||
165 | #endif // __UPC_H__ | ||
166 | |||
diff --git a/drivers/staging/vt6656/usbpipe.c b/drivers/staging/vt6656/usbpipe.c index 65e91a332a6..fd2355e34fb 100644 --- a/drivers/staging/vt6656/usbpipe.c +++ b/drivers/staging/vt6656/usbpipe.c | |||
@@ -71,36 +71,36 @@ static int msglevel =MSG_LEVEL_INFO; | |||
71 | 71 | ||
72 | /*--------------------- Static Functions --------------------------*/ | 72 | /*--------------------- Static Functions --------------------------*/ |
73 | static | 73 | static |
74 | VOID | 74 | void |
75 | s_nsInterruptUsbIoCompleteRead( | 75 | s_nsInterruptUsbIoCompleteRead( |
76 | IN struct urb *urb | 76 | struct urb *urb |
77 | ); | 77 | ); |
78 | 78 | ||
79 | 79 | ||
80 | static | 80 | static |
81 | VOID | 81 | void |
82 | s_nsBulkInUsbIoCompleteRead( | 82 | s_nsBulkInUsbIoCompleteRead( |
83 | IN struct urb *urb | 83 | struct urb *urb |
84 | ); | 84 | ); |
85 | 85 | ||
86 | 86 | ||
87 | static | 87 | static |
88 | VOID | 88 | void |
89 | s_nsBulkOutIoCompleteWrite( | 89 | s_nsBulkOutIoCompleteWrite( |
90 | IN struct urb *urb | 90 | struct urb *urb |
91 | ); | 91 | ); |
92 | 92 | ||
93 | 93 | ||
94 | static | 94 | static |
95 | VOID | 95 | void |
96 | s_nsControlInUsbIoCompleteRead( | 96 | s_nsControlInUsbIoCompleteRead( |
97 | IN struct urb *urb | 97 | struct urb *urb |
98 | ); | 98 | ); |
99 | 99 | ||
100 | static | 100 | static |
101 | VOID | 101 | void |
102 | s_nsControlInUsbIoCompleteWrite( | 102 | s_nsControlInUsbIoCompleteWrite( |
103 | IN struct urb *urb | 103 | struct urb *urb |
104 | ); | 104 | ); |
105 | 105 | ||
106 | /*--------------------- Export Variables --------------------------*/ | 106 | /*--------------------- Export Variables --------------------------*/ |
@@ -111,12 +111,12 @@ s_nsControlInUsbIoCompleteWrite( | |||
111 | 111 | ||
112 | NTSTATUS | 112 | NTSTATUS |
113 | PIPEnsControlOutAsyn( | 113 | PIPEnsControlOutAsyn( |
114 | IN PSDevice pDevice, | 114 | PSDevice pDevice, |
115 | IN BYTE byRequest, | 115 | BYTE byRequest, |
116 | IN WORD wValue, | 116 | WORD wValue, |
117 | IN WORD wIndex, | 117 | WORD wIndex, |
118 | IN WORD wLength, | 118 | WORD wLength, |
119 | IN PBYTE pbyBuffer | 119 | PBYTE pbyBuffer |
120 | ) | 120 | ) |
121 | { | 121 | { |
122 | NTSTATUS ntStatus; | 122 | NTSTATUS ntStatus; |
@@ -142,7 +142,7 @@ PIPEnsControlOutAsyn( | |||
142 | 0x40, // RequestType | 142 | 0x40, // RequestType |
143 | wValue, | 143 | wValue, |
144 | wIndex, | 144 | wIndex, |
145 | (PVOID) pbyBuffer, | 145 | (void *) pbyBuffer, |
146 | wLength, | 146 | wLength, |
147 | HZ | 147 | HZ |
148 | ); | 148 | ); |
@@ -162,12 +162,12 @@ PIPEnsControlOutAsyn( | |||
162 | 162 | ||
163 | NTSTATUS | 163 | NTSTATUS |
164 | PIPEnsControlOut( | 164 | PIPEnsControlOut( |
165 | IN PSDevice pDevice, | 165 | PSDevice pDevice, |
166 | IN BYTE byRequest, | 166 | BYTE byRequest, |
167 | IN WORD wValue, | 167 | WORD wValue, |
168 | IN WORD wIndex, | 168 | WORD wIndex, |
169 | IN WORD wLength, | 169 | WORD wLength, |
170 | IN PBYTE pbyBuffer | 170 | PBYTE pbyBuffer |
171 | ) | 171 | ) |
172 | { | 172 | { |
173 | NTSTATUS ntStatus = 0; | 173 | NTSTATUS ntStatus = 0; |
@@ -193,7 +193,8 @@ PIPEnsControlOut( | |||
193 | usb_sndctrlpipe(pDevice->usb , 0), (char *) &pDevice->sUsbCtlRequest, | 193 | usb_sndctrlpipe(pDevice->usb , 0), (char *) &pDevice->sUsbCtlRequest, |
194 | pbyBuffer, wLength, s_nsControlInUsbIoCompleteWrite, pDevice); | 194 | pbyBuffer, wLength, s_nsControlInUsbIoCompleteWrite, pDevice); |
195 | 195 | ||
196 | if ((ntStatus = usb_submit_urb(pDevice->pControlURB, GFP_ATOMIC)) != 0) { | 196 | ntStatus = usb_submit_urb(pDevice->pControlURB, GFP_ATOMIC); |
197 | if (ntStatus != 0) { | ||
197 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"control send request submission failed: %d\n", ntStatus); | 198 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"control send request submission failed: %d\n", ntStatus); |
198 | return STATUS_FAILURE; | 199 | return STATUS_FAILURE; |
199 | } | 200 | } |
@@ -223,12 +224,12 @@ PIPEnsControlOut( | |||
223 | 224 | ||
224 | NTSTATUS | 225 | NTSTATUS |
225 | PIPEnsControlIn( | 226 | PIPEnsControlIn( |
226 | IN PSDevice pDevice, | 227 | PSDevice pDevice, |
227 | IN BYTE byRequest, | 228 | BYTE byRequest, |
228 | IN WORD wValue, | 229 | WORD wValue, |
229 | IN WORD wIndex, | 230 | WORD wIndex, |
230 | IN WORD wLength, | 231 | WORD wLength, |
231 | IN OUT PBYTE pbyBuffer | 232 | PBYTE pbyBuffer |
232 | ) | 233 | ) |
233 | { | 234 | { |
234 | NTSTATUS ntStatus = 0; | 235 | NTSTATUS ntStatus = 0; |
@@ -251,7 +252,8 @@ PIPEnsControlIn( | |||
251 | usb_rcvctrlpipe(pDevice->usb , 0), (char *) &pDevice->sUsbCtlRequest, | 252 | usb_rcvctrlpipe(pDevice->usb , 0), (char *) &pDevice->sUsbCtlRequest, |
252 | pbyBuffer, wLength, s_nsControlInUsbIoCompleteRead, pDevice); | 253 | pbyBuffer, wLength, s_nsControlInUsbIoCompleteRead, pDevice); |
253 | 254 | ||
254 | if ((ntStatus = usb_submit_urb(pDevice->pControlURB, GFP_ATOMIC)) != 0) { | 255 | ntStatus = usb_submit_urb(pDevice->pControlURB, GFP_ATOMIC); |
256 | if (ntStatus != 0) { | ||
255 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"control request submission failed: %d\n", ntStatus); | 257 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"control request submission failed: %d\n", ntStatus); |
256 | }else { | 258 | }else { |
257 | MP_SET_FLAG(pDevice, fMP_CONTROL_READS); | 259 | MP_SET_FLAG(pDevice, fMP_CONTROL_READS); |
@@ -277,9 +279,9 @@ PIPEnsControlIn( | |||
277 | } | 279 | } |
278 | 280 | ||
279 | static | 281 | static |
280 | VOID | 282 | void |
281 | s_nsControlInUsbIoCompleteWrite( | 283 | s_nsControlInUsbIoCompleteWrite( |
282 | IN struct urb *urb | 284 | struct urb *urb |
283 | ) | 285 | ) |
284 | { | 286 | { |
285 | PSDevice pDevice; | 287 | PSDevice pDevice; |
@@ -318,9 +320,9 @@ s_nsControlInUsbIoCompleteWrite( | |||
318 | * | 320 | * |
319 | */ | 321 | */ |
320 | static | 322 | static |
321 | VOID | 323 | void |
322 | s_nsControlInUsbIoCompleteRead( | 324 | s_nsControlInUsbIoCompleteRead( |
323 | IN struct urb *urb | 325 | struct urb *urb |
324 | ) | 326 | ) |
325 | { | 327 | { |
326 | PSDevice pDevice; | 328 | PSDevice pDevice; |
@@ -360,7 +362,7 @@ s_nsControlInUsbIoCompleteRead( | |||
360 | */ | 362 | */ |
361 | NTSTATUS | 363 | NTSTATUS |
362 | PIPEnsInterruptRead( | 364 | PIPEnsInterruptRead( |
363 | IN PSDevice pDevice | 365 | PSDevice pDevice |
364 | ) | 366 | ) |
365 | { | 367 | { |
366 | NTSTATUS ntStatus = STATUS_FAILURE; | 368 | NTSTATUS ntStatus = STATUS_FAILURE; |
@@ -383,7 +385,7 @@ PIPEnsInterruptRead( | |||
383 | usb_fill_int_urb(pDevice->pInterruptURB, | 385 | usb_fill_int_urb(pDevice->pInterruptURB, |
384 | pDevice->usb, | 386 | pDevice->usb, |
385 | usb_rcvintpipe(pDevice->usb, 1), | 387 | usb_rcvintpipe(pDevice->usb, 1), |
386 | (PVOID) pDevice->intBuf.pDataBuf, | 388 | (void *) pDevice->intBuf.pDataBuf, |
387 | MAX_INTERRUPT_SIZE, | 389 | MAX_INTERRUPT_SIZE, |
388 | s_nsInterruptUsbIoCompleteRead, | 390 | s_nsInterruptUsbIoCompleteRead, |
389 | pDevice, | 391 | pDevice, |
@@ -394,7 +396,7 @@ PIPEnsInterruptRead( | |||
394 | usb_fill_int_urb(pDevice->pInterruptURB, | 396 | usb_fill_int_urb(pDevice->pInterruptURB, |
395 | pDevice->usb, | 397 | pDevice->usb, |
396 | usb_rcvintpipe(pDevice->usb, 1), | 398 | usb_rcvintpipe(pDevice->usb, 1), |
397 | (PVOID) pDevice->intBuf.pDataBuf, | 399 | (void *) pDevice->intBuf.pDataBuf, |
398 | MAX_INTERRUPT_SIZE, | 400 | MAX_INTERRUPT_SIZE, |
399 | s_nsInterruptUsbIoCompleteRead, | 401 | s_nsInterruptUsbIoCompleteRead, |
400 | pDevice, | 402 | pDevice, |
@@ -407,14 +409,15 @@ PIPEnsInterruptRead( | |||
407 | usb_fill_bulk_urb(pDevice->pInterruptURB, | 409 | usb_fill_bulk_urb(pDevice->pInterruptURB, |
408 | pDevice->usb, | 410 | pDevice->usb, |
409 | usb_rcvbulkpipe(pDevice->usb, 1), | 411 | usb_rcvbulkpipe(pDevice->usb, 1), |
410 | (PVOID) pDevice->intBuf.pDataBuf, | 412 | (void *) pDevice->intBuf.pDataBuf, |
411 | MAX_INTERRUPT_SIZE, | 413 | MAX_INTERRUPT_SIZE, |
412 | s_nsInterruptUsbIoCompleteRead, | 414 | s_nsInterruptUsbIoCompleteRead, |
413 | pDevice); | 415 | pDevice); |
414 | #endif | 416 | #endif |
415 | #endif | 417 | #endif |
416 | 418 | ||
417 | if ((ntStatus = usb_submit_urb(pDevice->pInterruptURB, GFP_ATOMIC)) != 0) { | 419 | ntStatus = usb_submit_urb(pDevice->pInterruptURB, GFP_ATOMIC); |
420 | if (ntStatus != 0) { | ||
418 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"Submit int URB failed %d\n", ntStatus); | 421 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"Submit int URB failed %d\n", ntStatus); |
419 | } | 422 | } |
420 | 423 | ||
@@ -438,9 +441,9 @@ usb_fill_bulk_urb(pDevice->pInterruptURB, | |||
438 | * | 441 | * |
439 | */ | 442 | */ |
440 | static | 443 | static |
441 | VOID | 444 | void |
442 | s_nsInterruptUsbIoCompleteRead( | 445 | s_nsInterruptUsbIoCompleteRead( |
443 | IN struct urb *urb | 446 | struct urb *urb |
444 | ) | 447 | ) |
445 | 448 | ||
446 | { | 449 | { |
@@ -481,12 +484,11 @@ s_nsInterruptUsbIoCompleteRead( | |||
481 | pDevice->fKillEventPollingThread = TRUE; | 484 | pDevice->fKillEventPollingThread = TRUE; |
482 | // } | 485 | // } |
483 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"IntUSBIoCompleteControl STATUS = %d\n", ntStatus ); | 486 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"IntUSBIoCompleteControl STATUS = %d\n", ntStatus ); |
484 | } | 487 | } else { |
485 | else { | 488 | pDevice->ulIntInBytesRead += (unsigned long) urb->actual_length; |
486 | pDevice->ulIntInBytesRead += (ULONG)urb->actual_length; | 489 | pDevice->ulIntInContCRCError = 0; |
487 | pDevice->ulIntInContCRCError = 0; | 490 | pDevice->bEventAvailable = TRUE; |
488 | pDevice->bEventAvailable = TRUE; | 491 | INTnsProcessData(pDevice); |
489 | INTnsProcessData(pDevice); | ||
490 | } | 492 | } |
491 | 493 | ||
492 | STAvUpdateUSBCounter(&pDevice->scStatistic.USB_InterruptStat, ntStatus); | 494 | STAvUpdateUSBCounter(&pDevice->scStatistic.USB_InterruptStat, ntStatus); |
@@ -494,7 +496,8 @@ s_nsInterruptUsbIoCompleteRead( | |||
494 | 496 | ||
495 | if (pDevice->fKillEventPollingThread != TRUE) { | 497 | if (pDevice->fKillEventPollingThread != TRUE) { |
496 | #if 0 //reserve int URB submit | 498 | #if 0 //reserve int URB submit |
497 | if ((ntStatus = usb_submit_urb(urb, GFP_ATOMIC)) != 0) { | 499 | ntStatus = usb_submit_urb(urb, GFP_ATOMIC); |
500 | if (ntStatus != 0) { | ||
498 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"Re-Submit int URB failed %d\n", ntStatus); | 501 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"Re-Submit int URB failed %d\n", ntStatus); |
499 | } | 502 | } |
500 | #else //replace int URB submit by bulk transfer | 503 | #else //replace int URB submit by bulk transfer |
@@ -502,12 +505,13 @@ s_nsInterruptUsbIoCompleteRead( | |||
502 | usb_fill_bulk_urb(pDevice->pInterruptURB, | 505 | usb_fill_bulk_urb(pDevice->pInterruptURB, |
503 | pDevice->usb, | 506 | pDevice->usb, |
504 | usb_rcvbulkpipe(pDevice->usb, 1), | 507 | usb_rcvbulkpipe(pDevice->usb, 1), |
505 | (PVOID) pDevice->intBuf.pDataBuf, | 508 | (void *) pDevice->intBuf.pDataBuf, |
506 | MAX_INTERRUPT_SIZE, | 509 | MAX_INTERRUPT_SIZE, |
507 | s_nsInterruptUsbIoCompleteRead, | 510 | s_nsInterruptUsbIoCompleteRead, |
508 | pDevice); | 511 | pDevice); |
509 | 512 | ||
510 | if ((ntStatus = usb_submit_urb(pDevice->pInterruptURB, GFP_ATOMIC)) != 0) { | 513 | ntStatus = usb_submit_urb(pDevice->pInterruptURB, GFP_ATOMIC); |
514 | if (ntStatus != 0) { | ||
511 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"Submit int URB failed %d\n", ntStatus); | 515 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"Submit int URB failed %d\n", ntStatus); |
512 | } | 516 | } |
513 | 517 | ||
@@ -538,8 +542,8 @@ s_nsInterruptUsbIoCompleteRead( | |||
538 | */ | 542 | */ |
539 | NTSTATUS | 543 | NTSTATUS |
540 | PIPEnsBulkInUsbRead( | 544 | PIPEnsBulkInUsbRead( |
541 | IN PSDevice pDevice, | 545 | PSDevice pDevice, |
542 | IN PRCB pRCB | 546 | PRCB pRCB |
543 | ) | 547 | ) |
544 | { | 548 | { |
545 | NTSTATUS ntStatus= 0; | 549 | NTSTATUS ntStatus= 0; |
@@ -567,12 +571,13 @@ PIPEnsBulkInUsbRead( | |||
567 | usb_fill_bulk_urb(pUrb, | 571 | usb_fill_bulk_urb(pUrb, |
568 | pDevice->usb, | 572 | pDevice->usb, |
569 | usb_rcvbulkpipe(pDevice->usb, 2), | 573 | usb_rcvbulkpipe(pDevice->usb, 2), |
570 | (PVOID) (pRCB->skb->data), | 574 | (void *) (pRCB->skb->data), |
571 | MAX_TOTAL_SIZE_WITH_ALL_HEADERS, | 575 | MAX_TOTAL_SIZE_WITH_ALL_HEADERS, |
572 | s_nsBulkInUsbIoCompleteRead, | 576 | s_nsBulkInUsbIoCompleteRead, |
573 | pRCB); | 577 | pRCB); |
574 | 578 | ||
575 | if((ntStatus = usb_submit_urb(pUrb, GFP_ATOMIC)) != 0){ | 579 | ntStatus = usb_submit_urb(pUrb, GFP_ATOMIC); |
580 | if (ntStatus != 0) { | ||
576 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"Submit Rx URB failed %d\n", ntStatus); | 581 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"Submit Rx URB failed %d\n", ntStatus); |
577 | return STATUS_FAILURE ; | 582 | return STATUS_FAILURE ; |
578 | } | 583 | } |
@@ -600,15 +605,15 @@ PIPEnsBulkInUsbRead( | |||
600 | * | 605 | * |
601 | */ | 606 | */ |
602 | static | 607 | static |
603 | VOID | 608 | void |
604 | s_nsBulkInUsbIoCompleteRead( | 609 | s_nsBulkInUsbIoCompleteRead( |
605 | IN struct urb *urb | 610 | struct urb *urb |
606 | ) | 611 | ) |
607 | 612 | ||
608 | { | 613 | { |
609 | PRCB pRCB = (PRCB)urb->context; | 614 | PRCB pRCB = (PRCB)urb->context; |
610 | PSDevice pDevice = (PSDevice)pRCB->pDevice; | 615 | PSDevice pDevice = (PSDevice)pRCB->pDevice; |
611 | ULONG bytesRead; | 616 | unsigned long bytesRead; |
612 | BOOL bIndicateReceive = FALSE; | 617 | BOOL bIndicateReceive = FALSE; |
613 | BOOL bReAllocSkb = FALSE; | 618 | BOOL bReAllocSkb = FALSE; |
614 | NTSTATUS status; | 619 | NTSTATUS status; |
@@ -681,8 +686,8 @@ s_nsBulkInUsbIoCompleteRead( | |||
681 | */ | 686 | */ |
682 | NDIS_STATUS | 687 | NDIS_STATUS |
683 | PIPEnsSendBulkOut( | 688 | PIPEnsSendBulkOut( |
684 | IN PSDevice pDevice, | 689 | PSDevice pDevice, |
685 | IN PUSB_SEND_CONTEXT pContext | 690 | PUSB_SEND_CONTEXT pContext |
686 | ) | 691 | ) |
687 | { | 692 | { |
688 | NTSTATUS status; | 693 | NTSTATUS status; |
@@ -712,13 +717,14 @@ PIPEnsSendBulkOut( | |||
712 | usb_fill_bulk_urb( | 717 | usb_fill_bulk_urb( |
713 | pUrb, | 718 | pUrb, |
714 | pDevice->usb, | 719 | pDevice->usb, |
715 | usb_sndbulkpipe(pDevice->usb, 3), | 720 | usb_sndbulkpipe(pDevice->usb, 3), |
716 | (PVOID) &(pContext->Data[0]), | 721 | (void *) &(pContext->Data[0]), |
717 | pContext->uBufLen, | 722 | pContext->uBufLen, |
718 | s_nsBulkOutIoCompleteWrite, | 723 | s_nsBulkOutIoCompleteWrite, |
719 | pContext); | 724 | pContext); |
720 | 725 | ||
721 | if((status = usb_submit_urb(pUrb, GFP_ATOMIC))!=0) | 726 | status = usb_submit_urb(pUrb, GFP_ATOMIC); |
727 | if (status != 0) | ||
722 | { | 728 | { |
723 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"Submit Tx URB failed %d\n", status); | 729 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"Submit Tx URB failed %d\n", status); |
724 | return STATUS_FAILURE; | 730 | return STATUS_FAILURE; |
@@ -759,15 +765,15 @@ PIPEnsSendBulkOut( | |||
759 | * | 765 | * |
760 | */ | 766 | */ |
761 | static | 767 | static |
762 | VOID | 768 | void |
763 | s_nsBulkOutIoCompleteWrite( | 769 | s_nsBulkOutIoCompleteWrite( |
764 | IN struct urb *urb | 770 | struct urb *urb |
765 | ) | 771 | ) |
766 | { | 772 | { |
767 | PSDevice pDevice; | 773 | PSDevice pDevice; |
768 | NTSTATUS status; | 774 | NTSTATUS status; |
769 | CONTEXT_TYPE ContextType; | 775 | CONTEXT_TYPE ContextType; |
770 | ULONG ulBufLen; | 776 | unsigned long ulBufLen; |
771 | PUSB_SEND_CONTEXT pContext; | 777 | PUSB_SEND_CONTEXT pContext; |
772 | 778 | ||
773 | 779 | ||
diff --git a/drivers/staging/vt6656/usbpipe.h b/drivers/staging/vt6656/usbpipe.h index c422d1d0873..f852b39027a 100644 --- a/drivers/staging/vt6656/usbpipe.h +++ b/drivers/staging/vt6656/usbpipe.h | |||
@@ -43,34 +43,34 @@ | |||
43 | 43 | ||
44 | NTSTATUS | 44 | NTSTATUS |
45 | PIPEnsControlOut( | 45 | PIPEnsControlOut( |
46 | IN PSDevice pDevice, | 46 | PSDevice pDevice, |
47 | IN BYTE byRequest, | 47 | BYTE byRequest, |
48 | IN WORD wValue, | 48 | WORD wValue, |
49 | IN WORD wIndex, | 49 | WORD wIndex, |
50 | IN WORD wLength, | 50 | WORD wLength, |
51 | IN PBYTE pbyBuffer | 51 | PBYTE pbyBuffer |
52 | ); | 52 | ); |
53 | 53 | ||
54 | 54 | ||
55 | 55 | ||
56 | NTSTATUS | 56 | NTSTATUS |
57 | PIPEnsControlOutAsyn( | 57 | PIPEnsControlOutAsyn( |
58 | IN PSDevice pDevice, | 58 | PSDevice pDevice, |
59 | IN BYTE byRequest, | 59 | BYTE byRequest, |
60 | IN WORD wValue, | 60 | WORD wValue, |
61 | IN WORD wIndex, | 61 | WORD wIndex, |
62 | IN WORD wLength, | 62 | WORD wLength, |
63 | IN PBYTE pbyBuffer | 63 | PBYTE pbyBuffer |
64 | ); | 64 | ); |
65 | 65 | ||
66 | NTSTATUS | 66 | NTSTATUS |
67 | PIPEnsControlIn( | 67 | PIPEnsControlIn( |
68 | IN PSDevice pDevice, | 68 | PSDevice pDevice, |
69 | IN BYTE byRequest, | 69 | BYTE byRequest, |
70 | IN WORD wValue, | 70 | WORD wValue, |
71 | IN WORD wIndex, | 71 | WORD wIndex, |
72 | IN WORD wLength, | 72 | WORD wLength, |
73 | IN OUT PBYTE pbyBuffer | 73 | PBYTE pbyBuffer |
74 | ); | 74 | ); |
75 | 75 | ||
76 | 76 | ||
@@ -78,22 +78,19 @@ PIPEnsControlIn( | |||
78 | 78 | ||
79 | NTSTATUS | 79 | NTSTATUS |
80 | PIPEnsInterruptRead( | 80 | PIPEnsInterruptRead( |
81 | IN PSDevice pDevice | 81 | PSDevice pDevice |
82 | ); | 82 | ); |
83 | 83 | ||
84 | NTSTATUS | 84 | NTSTATUS |
85 | PIPEnsBulkInUsbRead( | 85 | PIPEnsBulkInUsbRead( |
86 | IN PSDevice pDevice, | 86 | PSDevice pDevice, |
87 | IN PRCB pRCB | 87 | PRCB pRCB |
88 | ); | 88 | ); |
89 | 89 | ||
90 | NTSTATUS | 90 | NTSTATUS |
91 | PIPEnsSendBulkOut( | 91 | PIPEnsSendBulkOut( |
92 | IN PSDevice pDevice, | 92 | PSDevice pDevice, |
93 | IN PUSB_SEND_CONTEXT pContext | 93 | PUSB_SEND_CONTEXT pContext |
94 | ); | 94 | ); |
95 | 95 | ||
96 | #endif // __USBPIPE_H__ | 96 | #endif /* __USBPIPE_H__ */ |
97 | |||
98 | |||
99 | |||
diff --git a/drivers/staging/vt6656/wcmd.c b/drivers/staging/vt6656/wcmd.c index 51b2dcfbab9..72e21b6f0e8 100644 --- a/drivers/staging/vt6656/wcmd.c +++ b/drivers/staging/vt6656/wcmd.c | |||
@@ -69,21 +69,21 @@ static int msglevel =MSG_LEVEL_INFO; | |||
69 | /*--------------------- Static Functions --------------------------*/ | 69 | /*--------------------- Static Functions --------------------------*/ |
70 | 70 | ||
71 | static | 71 | static |
72 | VOID | 72 | void |
73 | s_vProbeChannel( | 73 | s_vProbeChannel( |
74 | IN PSDevice pDevice | 74 | PSDevice pDevice |
75 | ); | 75 | ); |
76 | 76 | ||
77 | 77 | ||
78 | static | 78 | static |
79 | PSTxMgmtPacket | 79 | PSTxMgmtPacket |
80 | s_MgrMakeProbeRequest( | 80 | s_MgrMakeProbeRequest( |
81 | IN PSDevice pDevice, | 81 | PSDevice pDevice, |
82 | IN PSMgmtObject pMgmt, | 82 | PSMgmtObject pMgmt, |
83 | IN PBYTE pScanBSSID, | 83 | PBYTE pScanBSSID, |
84 | IN PWLAN_IE_SSID pSSID, | 84 | PWLAN_IE_SSID pSSID, |
85 | IN PWLAN_IE_SUPP_RATES pCurrRates, | 85 | PWLAN_IE_SUPP_RATES pCurrRates, |
86 | IN PWLAN_IE_SUPP_RATES pCurrExtSuppRates | 86 | PWLAN_IE_SUPP_RATES pCurrExtSuppRates |
87 | ); | 87 | ); |
88 | 88 | ||
89 | 89 | ||
@@ -94,18 +94,12 @@ s_bCommandComplete ( | |||
94 | ); | 94 | ); |
95 | 95 | ||
96 | 96 | ||
97 | static | 97 | static BOOL s_bClearBSSID_SCAN(void *hDeviceContext); |
98 | BOOL s_bClearBSSID_SCAN ( | ||
99 | IN HANDLE hDeviceContext | ||
100 | ); | ||
101 | 98 | ||
102 | /*--------------------- Export Variables --------------------------*/ | 99 | /*--------------------- Export Variables --------------------------*/ |
103 | 100 | ||
104 | |||
105 | /*--------------------- Export Functions --------------------------*/ | 101 | /*--------------------- Export Functions --------------------------*/ |
106 | 102 | ||
107 | |||
108 | |||
109 | /* | 103 | /* |
110 | * Description: | 104 | * Description: |
111 | * Stop AdHoc beacon during scan process | 105 | * Stop AdHoc beacon during scan process |
@@ -119,6 +113,7 @@ BOOL s_bClearBSSID_SCAN ( | |||
119 | * Return Value: none | 113 | * Return Value: none |
120 | * | 114 | * |
121 | */ | 115 | */ |
116 | |||
122 | static | 117 | static |
123 | void | 118 | void |
124 | vAdHocBeaconStop(PSDevice pDevice) | 119 | vAdHocBeaconStop(PSDevice pDevice) |
@@ -210,9 +205,9 @@ vAdHocBeaconRestart(PSDevice pDevice) | |||
210 | -*/ | 205 | -*/ |
211 | 206 | ||
212 | static | 207 | static |
213 | VOID | 208 | void |
214 | s_vProbeChannel( | 209 | s_vProbeChannel( |
215 | IN PSDevice pDevice | 210 | PSDevice pDevice |
216 | ) | 211 | ) |
217 | { | 212 | { |
218 | //1M, 2M, 5M, 11M, 18M, 24M, 36M, 54M | 213 | //1M, 2M, 5M, 11M, 18M, 24M, 36M, 54M |
@@ -224,7 +219,7 @@ s_vProbeChannel( | |||
224 | PBYTE pbyRate; | 219 | PBYTE pbyRate; |
225 | PSTxMgmtPacket pTxPacket; | 220 | PSTxMgmtPacket pTxPacket; |
226 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); | 221 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); |
227 | UINT ii; | 222 | unsigned int ii; |
228 | 223 | ||
229 | 224 | ||
230 | if (pDevice->byBBType == BB_TYPE_11A) { | 225 | if (pDevice->byBBType == BB_TYPE_11A) { |
@@ -275,12 +270,12 @@ s_vProbeChannel( | |||
275 | 270 | ||
276 | PSTxMgmtPacket | 271 | PSTxMgmtPacket |
277 | s_MgrMakeProbeRequest( | 272 | s_MgrMakeProbeRequest( |
278 | IN PSDevice pDevice, | 273 | PSDevice pDevice, |
279 | IN PSMgmtObject pMgmt, | 274 | PSMgmtObject pMgmt, |
280 | IN PBYTE pScanBSSID, | 275 | PBYTE pScanBSSID, |
281 | IN PWLAN_IE_SSID pSSID, | 276 | PWLAN_IE_SSID pSSID, |
282 | IN PWLAN_IE_SUPP_RATES pCurrRates, | 277 | PWLAN_IE_SUPP_RATES pCurrRates, |
283 | IN PWLAN_IE_SUPP_RATES pCurrExtSuppRates | 278 | PWLAN_IE_SUPP_RATES pCurrExtSuppRates |
284 | 279 | ||
285 | ) | 280 | ) |
286 | { | 281 | { |
@@ -321,41 +316,27 @@ s_MgrMakeProbeRequest( | |||
321 | return pTxPacket; | 316 | return pTxPacket; |
322 | } | 317 | } |
323 | 318 | ||
324 | 319 | void vCommandTimerWait(void *hDeviceContext, unsigned int MSecond) | |
325 | |||
326 | |||
327 | |||
328 | VOID | ||
329 | vCommandTimerWait( | ||
330 | IN HANDLE hDeviceContext, | ||
331 | IN UINT MSecond | ||
332 | ) | ||
333 | { | 320 | { |
334 | PSDevice pDevice = (PSDevice)hDeviceContext; | 321 | PSDevice pDevice = (PSDevice)hDeviceContext; |
335 | 322 | ||
336 | init_timer(&pDevice->sTimerCommand); | 323 | init_timer(&pDevice->sTimerCommand); |
337 | pDevice->sTimerCommand.data = (ULONG)pDevice; | 324 | pDevice->sTimerCommand.data = (unsigned long)pDevice; |
338 | pDevice->sTimerCommand.function = (TimerFunction)vRunCommand; | 325 | pDevice->sTimerCommand.function = (TimerFunction)vRunCommand; |
339 | // RUN_AT :1 msec ~= (HZ/1024) | 326 | // RUN_AT :1 msec ~= (HZ/1024) |
340 | pDevice->sTimerCommand.expires = (UINT)RUN_AT((MSecond * HZ) >> 10); | 327 | pDevice->sTimerCommand.expires = (unsigned int)RUN_AT((MSecond * HZ) >> 10); |
341 | add_timer(&pDevice->sTimerCommand); | 328 | add_timer(&pDevice->sTimerCommand); |
342 | return; | 329 | return; |
343 | } | 330 | } |
344 | 331 | ||
345 | 332 | void vRunCommand(void *hDeviceContext) | |
346 | |||
347 | |||
348 | VOID | ||
349 | vRunCommand( | ||
350 | IN HANDLE hDeviceContext | ||
351 | ) | ||
352 | { | 333 | { |
353 | PSDevice pDevice = (PSDevice)hDeviceContext; | 334 | PSDevice pDevice = (PSDevice)hDeviceContext; |
354 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); | 335 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); |
355 | PWLAN_IE_SSID pItemSSID; | 336 | PWLAN_IE_SSID pItemSSID; |
356 | PWLAN_IE_SSID pItemSSIDCurr; | 337 | PWLAN_IE_SSID pItemSSIDCurr; |
357 | CMD_STATUS Status; | 338 | CMD_STATUS Status; |
358 | UINT ii; | 339 | unsigned int ii; |
359 | BYTE byMask[8] = {1, 2, 4, 8, 0x10, 0x20, 0x40, 0x80}; | 340 | BYTE byMask[8] = {1, 2, 4, 8, 0x10, 0x20, 0x40, 0x80}; |
360 | struct sk_buff *skb; | 341 | struct sk_buff *skb; |
361 | BYTE byData; | 342 | BYTE byData; |
@@ -435,7 +416,8 @@ vRunCommand( | |||
435 | pMgmt->abyScanBSSID[5] = 0xFF; | 416 | pMgmt->abyScanBSSID[5] = 0xFF; |
436 | pItemSSID->byElementID = WLAN_EID_SSID; | 417 | pItemSSID->byElementID = WLAN_EID_SSID; |
437 | // clear bssid list | 418 | // clear bssid list |
438 | // BSSvClearBSSList((HANDLE)pDevice, pDevice->bLinkPass); | 419 | /* BSSvClearBSSList((void *) pDevice, |
420 | pDevice->bLinkPass); */ | ||
439 | pMgmt->eScanState = WMAC_IS_SCANNING; | 421 | pMgmt->eScanState = WMAC_IS_SCANNING; |
440 | pDevice->byScanBBType = pDevice->byBBType; //lucas | 422 | pDevice->byScanBBType = pDevice->byBBType; //lucas |
441 | pDevice->bStopDataPkt = TRUE; | 423 | pDevice->bStopDataPkt = TRUE; |
@@ -480,11 +462,11 @@ vRunCommand( | |||
480 | (pMgmt->uScanChannel < CB_MAX_CHANNEL_24G)) { | 462 | (pMgmt->uScanChannel < CB_MAX_CHANNEL_24G)) { |
481 | s_vProbeChannel(pDevice); | 463 | s_vProbeChannel(pDevice); |
482 | spin_unlock_irq(&pDevice->lock); | 464 | spin_unlock_irq(&pDevice->lock); |
483 | vCommandTimerWait((HANDLE)pDevice, 100); | 465 | vCommandTimerWait((void *) pDevice, 100); |
484 | return; | 466 | return; |
485 | } else { | 467 | } else { |
486 | spin_unlock_irq(&pDevice->lock); | 468 | spin_unlock_irq(&pDevice->lock); |
487 | vCommandTimerWait((HANDLE)pDevice, WCMD_PASSIVE_SCAN_TIME); | 469 | vCommandTimerWait((void *) pDevice, WCMD_PASSIVE_SCAN_TIME); |
488 | return; | 470 | return; |
489 | } | 471 | } |
490 | 472 | ||
@@ -552,7 +534,11 @@ vRunCommand( | |||
552 | 534 | ||
553 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"Send Disassociation Packet..\n"); | 535 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"Send Disassociation Packet..\n"); |
554 | // reason = 8 : disassoc because sta has left | 536 | // reason = 8 : disassoc because sta has left |
555 | vMgrDisassocBeginSta((HANDLE)pDevice, pMgmt, pMgmt->abyCurrBSSID, (8), &Status); | 537 | vMgrDisassocBeginSta((void *) pDevice, |
538 | pMgmt, | ||
539 | pMgmt->abyCurrBSSID, | ||
540 | (8), | ||
541 | &Status); | ||
556 | pDevice->bLinkPass = FALSE; | 542 | pDevice->bLinkPass = FALSE; |
557 | ControlvMaskByte(pDevice,MESSAGE_REQUEST_MACREG,MAC_REG_PAPEDELAY,LEDSTS_STS,LEDSTS_SLOW); | 543 | ControlvMaskByte(pDevice,MESSAGE_REQUEST_MACREG,MAC_REG_PAPEDELAY,LEDSTS_STS,LEDSTS_SLOW); |
558 | // unlock command busy | 544 | // unlock command busy |
@@ -614,22 +600,26 @@ vRunCommand( | |||
614 | // set initial state | 600 | // set initial state |
615 | pMgmt->eCurrState = WMAC_STATE_IDLE; | 601 | pMgmt->eCurrState = WMAC_STATE_IDLE; |
616 | pMgmt->eCurrMode = WMAC_MODE_STANDBY; | 602 | pMgmt->eCurrMode = WMAC_MODE_STANDBY; |
617 | PSvDisablePowerSaving((HANDLE)pDevice); | 603 | PSvDisablePowerSaving((void *) pDevice); |
618 | BSSvClearNodeDBTable(pDevice, 0); | 604 | BSSvClearNodeDBTable(pDevice, 0); |
619 | vMgrJoinBSSBegin((HANDLE)pDevice, &Status); | 605 | vMgrJoinBSSBegin((void *) pDevice, &Status); |
620 | // if Infra mode | 606 | // if Infra mode |
621 | if ((pMgmt->eCurrMode == WMAC_MODE_ESS_STA) && (pMgmt->eCurrState == WMAC_STATE_JOINTED)) { | 607 | if ((pMgmt->eCurrMode == WMAC_MODE_ESS_STA) && (pMgmt->eCurrState == WMAC_STATE_JOINTED)) { |
622 | // Call mgr to begin the deauthentication | 608 | // Call mgr to begin the deauthentication |
623 | // reason = (3) beacuse sta has left ESS | 609 | // reason = (3) beacuse sta has left ESS |
624 | if (pMgmt->eCurrState>= WMAC_STATE_AUTH) { | 610 | if (pMgmt->eCurrState >= WMAC_STATE_AUTH) { |
625 | vMgrDeAuthenBeginSta((HANDLE)pDevice, pMgmt, pMgmt->abyCurrBSSID, (3), &Status); | 611 | vMgrDeAuthenBeginSta((void *)pDevice, |
626 | } | 612 | pMgmt, |
613 | pMgmt->abyCurrBSSID, | ||
614 | (3), | ||
615 | &Status); | ||
616 | } | ||
627 | // Call mgr to begin the authentication | 617 | // Call mgr to begin the authentication |
628 | vMgrAuthenBeginSta((HANDLE)pDevice, pMgmt, &Status); | 618 | vMgrAuthenBeginSta((void *) pDevice, pMgmt, &Status); |
629 | if (Status == CMD_STATUS_SUCCESS) { | 619 | if (Status == CMD_STATUS_SUCCESS) { |
630 | pDevice->byLinkWaitCount = 0; | 620 | pDevice->byLinkWaitCount = 0; |
631 | pDevice->eCommandState = WLAN_AUTHENTICATE_WAIT; | 621 | pDevice->eCommandState = WLAN_AUTHENTICATE_WAIT; |
632 | vCommandTimerWait((HANDLE)pDevice, AUTHENTICATE_TIMEOUT); | 622 | vCommandTimerWait((void *) pDevice, AUTHENTICATE_TIMEOUT); |
633 | spin_unlock_irq(&pDevice->lock); | 623 | spin_unlock_irq(&pDevice->lock); |
634 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO" Set eCommandState = WLAN_AUTHENTICATE_WAIT\n"); | 624 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO" Set eCommandState = WLAN_AUTHENTICATE_WAIT\n"); |
635 | return; | 625 | return; |
@@ -648,10 +638,12 @@ vRunCommand( | |||
648 | } | 638 | } |
649 | else { | 639 | else { |
650 | // start own IBSS | 640 | // start own IBSS |
651 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "CreateOwn IBSS by CurrMode = IBSS_STA \n"); | 641 | DBG_PRT(MSG_LEVEL_DEBUG, |
652 | vMgrCreateOwnIBSS((HANDLE)pDevice, &Status); | 642 | KERN_INFO "CreateOwn IBSS by CurrMode = IBSS_STA\n"); |
643 | vMgrCreateOwnIBSS((void *) pDevice, &Status); | ||
653 | if (Status != CMD_STATUS_SUCCESS){ | 644 | if (Status != CMD_STATUS_SUCCESS){ |
654 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO " WLAN_CMD_IBSS_CREATE fail ! \n"); | 645 | DBG_PRT(MSG_LEVEL_DEBUG, |
646 | KERN_INFO "WLAN_CMD_IBSS_CREATE fail!\n"); | ||
655 | }; | 647 | }; |
656 | BSSvAddMulticastNode(pDevice); | 648 | BSSvAddMulticastNode(pDevice); |
657 | } | 649 | } |
@@ -662,10 +654,12 @@ vRunCommand( | |||
662 | if (pMgmt->eConfigMode == WMAC_CONFIG_IBSS_STA || | 654 | if (pMgmt->eConfigMode == WMAC_CONFIG_IBSS_STA || |
663 | pMgmt->eConfigMode == WMAC_CONFIG_AUTO) { | 655 | pMgmt->eConfigMode == WMAC_CONFIG_AUTO) { |
664 | // start own IBSS | 656 | // start own IBSS |
665 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "CreateOwn IBSS by CurrMode = STANDBY \n"); | 657 | DBG_PRT(MSG_LEVEL_DEBUG, |
666 | vMgrCreateOwnIBSS((HANDLE)pDevice, &Status); | 658 | KERN_INFO "CreateOwn IBSS by CurrMode = STANDBY\n"); |
659 | vMgrCreateOwnIBSS((void *) pDevice, &Status); | ||
667 | if (Status != CMD_STATUS_SUCCESS){ | 660 | if (Status != CMD_STATUS_SUCCESS){ |
668 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO" WLAN_CMD_IBSS_CREATE fail ! \n"); | 661 | DBG_PRT(MSG_LEVEL_DEBUG, |
662 | KERN_INFO "WLAN_CMD_IBSS_CREATE fail!\n"); | ||
669 | }; | 663 | }; |
670 | BSSvAddMulticastNode(pDevice); | 664 | BSSvAddMulticastNode(pDevice); |
671 | s_bClearBSSID_SCAN(pDevice); | 665 | s_bClearBSSID_SCAN(pDevice); |
@@ -701,12 +695,12 @@ vRunCommand( | |||
701 | pDevice->byLinkWaitCount = 0; | 695 | pDevice->byLinkWaitCount = 0; |
702 | // Call mgr to begin the association | 696 | // Call mgr to begin the association |
703 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"eCurrState == WMAC_STATE_AUTH\n"); | 697 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"eCurrState == WMAC_STATE_AUTH\n"); |
704 | vMgrAssocBeginSta((HANDLE)pDevice, pMgmt, &Status); | 698 | vMgrAssocBeginSta((void *) pDevice, pMgmt, &Status); |
705 | if (Status == CMD_STATUS_SUCCESS) { | 699 | if (Status == CMD_STATUS_SUCCESS) { |
706 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"eCommandState = WLAN_ASSOCIATE_WAIT\n"); | 700 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"eCommandState = WLAN_ASSOCIATE_WAIT\n"); |
707 | pDevice->byLinkWaitCount = 0; | 701 | pDevice->byLinkWaitCount = 0; |
708 | pDevice->eCommandState = WLAN_ASSOCIATE_WAIT; | 702 | pDevice->eCommandState = WLAN_ASSOCIATE_WAIT; |
709 | vCommandTimerWait((HANDLE)pDevice, ASSOCIATE_TIMEOUT); | 703 | vCommandTimerWait((void *) pDevice, ASSOCIATE_TIMEOUT); |
710 | spin_unlock_irq(&pDevice->lock); | 704 | spin_unlock_irq(&pDevice->lock); |
711 | return; | 705 | return; |
712 | } | 706 | } |
@@ -718,7 +712,7 @@ vRunCommand( | |||
718 | pDevice->byLinkWaitCount ++; | 712 | pDevice->byLinkWaitCount ++; |
719 | printk("WLAN_AUTHENTICATE_WAIT:wait %d times!!\n",pDevice->byLinkWaitCount); | 713 | printk("WLAN_AUTHENTICATE_WAIT:wait %d times!!\n",pDevice->byLinkWaitCount); |
720 | spin_unlock_irq(&pDevice->lock); | 714 | spin_unlock_irq(&pDevice->lock); |
721 | vCommandTimerWait((HANDLE)pDevice, AUTHENTICATE_TIMEOUT/2); | 715 | vCommandTimerWait((void *) pDevice, AUTHENTICATE_TIMEOUT/2); |
722 | return; | 716 | return; |
723 | } | 717 | } |
724 | pDevice->byLinkWaitCount = 0; | 718 | pDevice->byLinkWaitCount = 0; |
@@ -742,7 +736,8 @@ vRunCommand( | |||
742 | if (pMgmt->eCurrState == WMAC_STATE_ASSOC) { | 736 | if (pMgmt->eCurrState == WMAC_STATE_ASSOC) { |
743 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"eCurrState == WMAC_STATE_ASSOC\n"); | 737 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"eCurrState == WMAC_STATE_ASSOC\n"); |
744 | if (pDevice->ePSMode != WMAC_POWER_CAM) { | 738 | if (pDevice->ePSMode != WMAC_POWER_CAM) { |
745 | PSvEnablePowerSaving((HANDLE)pDevice, pMgmt->wListenInterval); | 739 | PSvEnablePowerSaving((void *) pDevice, |
740 | pMgmt->wListenInterval); | ||
746 | } | 741 | } |
747 | /* | 742 | /* |
748 | if (pMgmt->eAuthenMode >= WMAC_AUTH_WPA) { | 743 | if (pMgmt->eAuthenMode >= WMAC_AUTH_WPA) { |
@@ -765,7 +760,7 @@ vRunCommand( | |||
765 | // printk("Re-initial TxDataTimer****\n"); | 760 | // printk("Re-initial TxDataTimer****\n"); |
766 | del_timer(&pDevice->sTimerTxData); | 761 | del_timer(&pDevice->sTimerTxData); |
767 | init_timer(&pDevice->sTimerTxData); | 762 | init_timer(&pDevice->sTimerTxData); |
768 | pDevice->sTimerTxData.data = (ULONG)pDevice; | 763 | pDevice->sTimerTxData.data = (unsigned long) pDevice; |
769 | pDevice->sTimerTxData.function = (TimerFunction)BSSvSecondTxData; | 764 | pDevice->sTimerTxData.function = (TimerFunction)BSSvSecondTxData; |
770 | pDevice->sTimerTxData.expires = RUN_AT(10*HZ); //10s callback | 765 | pDevice->sTimerTxData.expires = RUN_AT(10*HZ); //10s callback |
771 | pDevice->fTxDataInSleep = FALSE; | 766 | pDevice->fTxDataInSleep = FALSE; |
@@ -786,7 +781,7 @@ vRunCommand( | |||
786 | pDevice->byLinkWaitCount ++; | 781 | pDevice->byLinkWaitCount ++; |
787 | printk("WLAN_ASSOCIATE_WAIT:wait %d times!!\n",pDevice->byLinkWaitCount); | 782 | printk("WLAN_ASSOCIATE_WAIT:wait %d times!!\n",pDevice->byLinkWaitCount); |
788 | spin_unlock_irq(&pDevice->lock); | 783 | spin_unlock_irq(&pDevice->lock); |
789 | vCommandTimerWait((HANDLE)pDevice, ASSOCIATE_TIMEOUT/2); | 784 | vCommandTimerWait((void *) pDevice, ASSOCIATE_TIMEOUT/2); |
790 | return; | 785 | return; |
791 | } | 786 | } |
792 | pDevice->byLinkWaitCount = 0; | 787 | pDevice->byLinkWaitCount = 0; |
@@ -823,9 +818,10 @@ vRunCommand( | |||
823 | pMgmt->eCurrState = WMAC_STATE_IDLE; | 818 | pMgmt->eCurrState = WMAC_STATE_IDLE; |
824 | pDevice->bFixRate = FALSE; | 819 | pDevice->bFixRate = FALSE; |
825 | 820 | ||
826 | vMgrCreateOwnIBSS((HANDLE)pDevice, &Status); | 821 | vMgrCreateOwnIBSS((void *) pDevice, &Status); |
827 | if (Status != CMD_STATUS_SUCCESS){ | 822 | if (Status != CMD_STATUS_SUCCESS) { |
828 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO " vMgrCreateOwnIBSS fail ! \n"); | 823 | DBG_PRT(MSG_LEVEL_DEBUG, |
824 | KERN_INFO "vMgrCreateOwnIBSS fail!\n"); | ||
829 | }; | 825 | }; |
830 | // alway turn off unicast bit | 826 | // alway turn off unicast bit |
831 | MACvRegBitsOff(pDevice, MAC_REG_RCR, RCR_UNICAST); | 827 | MACvRegBitsOff(pDevice, MAC_REG_RCR, RCR_UNICAST); |
@@ -948,7 +944,11 @@ vRunCommand( | |||
948 | 944 | ||
949 | if (pDevice->bLinkPass == TRUE) { | 945 | if (pDevice->bLinkPass == TRUE) { |
950 | // reason = 8 : disassoc because sta has left | 946 | // reason = 8 : disassoc because sta has left |
951 | vMgrDisassocBeginSta((HANDLE)pDevice, pMgmt, pMgmt->abyCurrBSSID, (8), &Status); | 947 | vMgrDisassocBeginSta((void *) pDevice, |
948 | pMgmt, | ||
949 | pMgmt->abyCurrBSSID, | ||
950 | (8), | ||
951 | &Status); | ||
952 | pDevice->bLinkPass = FALSE; | 952 | pDevice->bLinkPass = FALSE; |
953 | // unlock command busy | 953 | // unlock command busy |
954 | pMgmt->eCurrState = WMAC_STATE_IDLE; | 954 | pMgmt->eCurrState = WMAC_STATE_IDLE; |
@@ -1185,18 +1185,15 @@ s_bCommandComplete ( | |||
1185 | break; | 1185 | break; |
1186 | 1186 | ||
1187 | } | 1187 | } |
1188 | 1188 | vCommandTimerWait((void *) pDevice, 0); | |
1189 | vCommandTimerWait((HANDLE)pDevice, 0); | ||
1190 | } | 1189 | } |
1191 | 1190 | ||
1192 | return TRUE; | 1191 | return TRUE; |
1193 | } | 1192 | } |
1194 | 1193 | ||
1195 | BOOL bScheduleCommand ( | 1194 | BOOL bScheduleCommand(void *hDeviceContext, |
1196 | IN HANDLE hDeviceContext, | 1195 | CMD_CODE eCommand, |
1197 | IN CMD_CODE eCommand, | 1196 | PBYTE pbyItem0) |
1198 | IN PBYTE pbyItem0 | ||
1199 | ) | ||
1200 | { | 1197 | { |
1201 | PSDevice pDevice = (PSDevice)hDeviceContext; | 1198 | PSDevice pDevice = (PSDevice)hDeviceContext; |
1202 | 1199 | ||
@@ -1264,14 +1261,11 @@ BOOL bScheduleCommand ( | |||
1264 | * Return Value: TRUE if success; otherwise FALSE | 1261 | * Return Value: TRUE if success; otherwise FALSE |
1265 | * | 1262 | * |
1266 | */ | 1263 | */ |
1267 | static | 1264 | static BOOL s_bClearBSSID_SCAN(void *hDeviceContext) |
1268 | BOOL s_bClearBSSID_SCAN ( | ||
1269 | IN HANDLE hDeviceContext | ||
1270 | ) | ||
1271 | { | 1265 | { |
1272 | PSDevice pDevice = (PSDevice)hDeviceContext; | 1266 | PSDevice pDevice = (PSDevice)hDeviceContext; |
1273 | UINT uCmdDequeueIdx = pDevice->uCmdDequeueIdx; | 1267 | unsigned int uCmdDequeueIdx = pDevice->uCmdDequeueIdx; |
1274 | UINT ii; | 1268 | unsigned int ii; |
1275 | 1269 | ||
1276 | if ((pDevice->cbFreeCmdQueue < CMD_Q_SIZE) && (uCmdDequeueIdx != pDevice->uCmdEnqueueIdx)) { | 1270 | if ((pDevice->cbFreeCmdQueue < CMD_Q_SIZE) && (uCmdDequeueIdx != pDevice->uCmdEnqueueIdx)) { |
1277 | for (ii = 0; ii < (CMD_Q_SIZE - pDevice->cbFreeCmdQueue); ii ++) { | 1271 | for (ii = 0; ii < (CMD_Q_SIZE - pDevice->cbFreeCmdQueue); ii ++) { |
@@ -1287,10 +1281,7 @@ BOOL s_bClearBSSID_SCAN ( | |||
1287 | 1281 | ||
1288 | 1282 | ||
1289 | //mike add:reset command timer | 1283 | //mike add:reset command timer |
1290 | VOID | 1284 | void vResetCommandTimer(void *hDeviceContext) |
1291 | vResetCommandTimer( | ||
1292 | IN HANDLE hDeviceContext | ||
1293 | ) | ||
1294 | { | 1285 | { |
1295 | PSDevice pDevice = (PSDevice)hDeviceContext; | 1286 | PSDevice pDevice = (PSDevice)hDeviceContext; |
1296 | 1287 | ||
@@ -1298,7 +1289,7 @@ vResetCommandTimer( | |||
1298 | del_timer(&pDevice->sTimerCommand); | 1289 | del_timer(&pDevice->sTimerCommand); |
1299 | //init timer | 1290 | //init timer |
1300 | init_timer(&pDevice->sTimerCommand); | 1291 | init_timer(&pDevice->sTimerCommand); |
1301 | pDevice->sTimerCommand.data = (ULONG)pDevice; | 1292 | pDevice->sTimerCommand.data = (unsigned long)pDevice; |
1302 | pDevice->sTimerCommand.function = (TimerFunction)vRunCommand; | 1293 | pDevice->sTimerCommand.function = (TimerFunction)vRunCommand; |
1303 | pDevice->sTimerCommand.expires = RUN_AT(HZ); | 1294 | pDevice->sTimerCommand.expires = RUN_AT(HZ); |
1304 | pDevice->cbFreeCmdQueue = CMD_Q_SIZE; | 1295 | pDevice->cbFreeCmdQueue = CMD_Q_SIZE; |
@@ -1311,10 +1302,7 @@ vResetCommandTimer( | |||
1311 | 1302 | ||
1312 | //2007-0115-08<Add>by MikeLiu | 1303 | //2007-0115-08<Add>by MikeLiu |
1313 | #ifdef TxInSleep | 1304 | #ifdef TxInSleep |
1314 | VOID | 1305 | void BSSvSecondTxData(void *hDeviceContext) |
1315 | BSSvSecondTxData( | ||
1316 | IN HANDLE hDeviceContext | ||
1317 | ) | ||
1318 | { | 1306 | { |
1319 | PSDevice pDevice = (PSDevice)hDeviceContext; | 1307 | PSDevice pDevice = (PSDevice)hDeviceContext; |
1320 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); | 1308 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); |
diff --git a/drivers/staging/vt6656/wcmd.h b/drivers/staging/vt6656/wcmd.h index 90d672b462b..09c4411c689 100644 --- a/drivers/staging/vt6656/wcmd.h +++ b/drivers/staging/vt6656/wcmd.h | |||
@@ -105,46 +105,32 @@ typedef enum tagCMD_STATE { | |||
105 | WLAN_CMD_IDLE | 105 | WLAN_CMD_IDLE |
106 | } CMD_STATE, *PCMD_STATE; | 106 | } CMD_STATE, *PCMD_STATE; |
107 | 107 | ||
108 | |||
109 | |||
110 | /*--------------------- Export Classes ----------------------------*/ | 108 | /*--------------------- Export Classes ----------------------------*/ |
111 | 109 | ||
112 | /*--------------------- Export Variables --------------------------*/ | 110 | /*--------------------- Export Variables --------------------------*/ |
113 | 111 | ||
114 | |||
115 | /*--------------------- Export Types ------------------------------*/ | 112 | /*--------------------- Export Types ------------------------------*/ |
116 | 113 | ||
117 | |||
118 | /*--------------------- Export Functions --------------------------*/ | 114 | /*--------------------- Export Functions --------------------------*/ |
119 | VOID | ||
120 | vResetCommandTimer( | ||
121 | IN HANDLE hDeviceContext | ||
122 | ); | ||
123 | 115 | ||
124 | BOOL | 116 | void vResetCommandTimer(void *hDeviceContext); |
125 | bScheduleCommand( | 117 | |
126 | IN HANDLE hDeviceContext, | 118 | BOOL bScheduleCommand(void *hDeviceContext, |
127 | IN CMD_CODE eCommand, | 119 | CMD_CODE eCommand, |
128 | IN PBYTE pbyItem0 | 120 | PBYTE pbyItem0); |
129 | ); | 121 | |
122 | void vRunCommand(void *hDeviceContext); | ||
130 | 123 | ||
131 | VOID | ||
132 | vRunCommand( | ||
133 | IN HANDLE hDeviceContext | ||
134 | ); | ||
135 | /* | 124 | /* |
136 | VOID | 125 | void |
137 | WCMDvCommandThread( | 126 | WCMDvCommandThread( |
138 | PVOID Context | 127 | void * Context |
139 | ); | 128 | ); |
140 | */ | 129 | */ |
141 | 130 | ||
142 | //2007-0115-09<Add>by MikeLiu | 131 | //2007-0115-09<Add>by MikeLiu |
143 | #ifdef TxInSleep | 132 | #ifdef TxInSleep |
144 | VOID | 133 | void BSSvSecondTxData(void *hDeviceContext); |
145 | BSSvSecondTxData( | ||
146 | IN HANDLE hDeviceContext | ||
147 | ); | ||
148 | #endif | 134 | #endif |
149 | 135 | ||
150 | #endif //__WCMD_H__ | 136 | #endif /* __WCMD_H__ */ |
diff --git a/drivers/staging/vt6656/wctl.c b/drivers/staging/vt6656/wctl.c index 40986da1e4a..857ce0bc00a 100644 --- a/drivers/staging/vt6656/wctl.c +++ b/drivers/staging/vt6656/wctl.c | |||
@@ -69,8 +69,8 @@ | |||
69 | 69 | ||
70 | BOOL WCTLbIsDuplicate (PSCache pCache, PS802_11Header pMACHeader) | 70 | BOOL WCTLbIsDuplicate (PSCache pCache, PS802_11Header pMACHeader) |
71 | { | 71 | { |
72 | UINT uIndex; | 72 | unsigned int uIndex; |
73 | UINT ii; | 73 | unsigned int ii; |
74 | PSCacheEntry pCacheEntry; | 74 | PSCacheEntry pCacheEntry; |
75 | 75 | ||
76 | if (IS_FC_RETRY(pMACHeader)) { | 76 | if (IS_FC_RETRY(pMACHeader)) { |
@@ -91,7 +91,7 @@ BOOL WCTLbIsDuplicate (PSCache pCache, PS802_11Header pMACHeader) | |||
91 | /* Not fount in cache - insert */ | 91 | /* Not fount in cache - insert */ |
92 | pCacheEntry = &pCache->asCacheEntry[pCache->uInPtr]; | 92 | pCacheEntry = &pCache->asCacheEntry[pCache->uInPtr]; |
93 | pCacheEntry->wFmSequence = pMACHeader->wSeqCtl; | 93 | pCacheEntry->wFmSequence = pMACHeader->wSeqCtl; |
94 | memcpy(&(pCacheEntry->abyAddr2[0]), &(pMACHeader->abyAddr2[0]), U_ETHER_ADDR_LEN); | 94 | memcpy(&(pCacheEntry->abyAddr2[0]), &(pMACHeader->abyAddr2[0]), ETH_ALEN); |
95 | pCacheEntry->wFrameCtl = pMACHeader->wFrameCtl; | 95 | pCacheEntry->wFrameCtl = pMACHeader->wFrameCtl; |
96 | ADD_ONE_WITH_WRAP_AROUND(pCache->uInPtr, DUPLICATE_RX_CACHE_LENGTH); | 96 | ADD_ONE_WITH_WRAP_AROUND(pCache->uInPtr, DUPLICATE_RX_CACHE_LENGTH); |
97 | return FALSE; | 97 | return FALSE; |
@@ -111,9 +111,9 @@ BOOL WCTLbIsDuplicate (PSCache pCache, PS802_11Header pMACHeader) | |||
111 | * Return Value: index number in Defragment Database | 111 | * Return Value: index number in Defragment Database |
112 | * | 112 | * |
113 | */ | 113 | */ |
114 | UINT WCTLuSearchDFCB (PSDevice pDevice, PS802_11Header pMACHeader) | 114 | unsigned int WCTLuSearchDFCB(PSDevice pDevice, PS802_11Header pMACHeader) |
115 | { | 115 | { |
116 | UINT ii; | 116 | unsigned int ii; |
117 | 117 | ||
118 | for(ii=0;ii<pDevice->cbDFCB;ii++) { | 118 | for(ii=0;ii<pDevice->cbDFCB;ii++) { |
119 | if ((pDevice->sRxDFCB[ii].bInUse == TRUE) && | 119 | if ((pDevice->sRxDFCB[ii].bInUse == TRUE) && |
@@ -141,9 +141,9 @@ UINT ii; | |||
141 | * Return Value: index number in Defragment Database | 141 | * Return Value: index number in Defragment Database |
142 | * | 142 | * |
143 | */ | 143 | */ |
144 | UINT WCTLuInsertDFCB (PSDevice pDevice, PS802_11Header pMACHeader) | 144 | unsigned int WCTLuInsertDFCB(PSDevice pDevice, PS802_11Header pMACHeader) |
145 | { | 145 | { |
146 | UINT ii; | 146 | unsigned int ii; |
147 | 147 | ||
148 | if (pDevice->cbFreeDFCB == 0) | 148 | if (pDevice->cbFreeDFCB == 0) |
149 | return(pDevice->cbDFCB); | 149 | return(pDevice->cbDFCB); |
@@ -154,7 +154,9 @@ UINT ii; | |||
154 | pDevice->sRxDFCB[ii].bInUse = TRUE; | 154 | pDevice->sRxDFCB[ii].bInUse = TRUE; |
155 | pDevice->sRxDFCB[ii].wSequence = (pMACHeader->wSeqCtl >> 4); | 155 | pDevice->sRxDFCB[ii].wSequence = (pMACHeader->wSeqCtl >> 4); |
156 | pDevice->sRxDFCB[ii].wFragNum = (pMACHeader->wSeqCtl & 0x000F); | 156 | pDevice->sRxDFCB[ii].wFragNum = (pMACHeader->wSeqCtl & 0x000F); |
157 | memcpy(&(pDevice->sRxDFCB[ii].abyAddr2[0]), &(pMACHeader->abyAddr2[0]), U_ETHER_ADDR_LEN); | 157 | memcpy(&(pDevice->sRxDFCB[ii].abyAddr2[0]), |
158 | &(pMACHeader->abyAddr2[0]), | ||
159 | ETH_ALEN); | ||
158 | return(ii); | 160 | return(ii); |
159 | } | 161 | } |
160 | } | 162 | } |
@@ -178,9 +180,10 @@ UINT ii; | |||
178 | * Return Value: TRUE if it is valid fragment packet and we have resource to defragment; otherwise FALSE | 180 | * Return Value: TRUE if it is valid fragment packet and we have resource to defragment; otherwise FALSE |
179 | * | 181 | * |
180 | */ | 182 | */ |
181 | BOOL WCTLbHandleFragment (PSDevice pDevice, PS802_11Header pMACHeader, UINT cbFrameLength, BOOL bWEP, BOOL bExtIV) | 183 | BOOL WCTLbHandleFragment(PSDevice pDevice, PS802_11Header pMACHeader, |
184 | unsigned int cbFrameLength, BOOL bWEP, BOOL bExtIV) | ||
182 | { | 185 | { |
183 | UINT uHeaderSize; | 186 | unsigned int uHeaderSize; |
184 | 187 | ||
185 | 188 | ||
186 | if (bWEP == TRUE) { | 189 | if (bWEP == TRUE) { |
diff --git a/drivers/staging/vt6656/wctl.h b/drivers/staging/vt6656/wctl.h index a1ac4791bfd..7270af68c89 100644 --- a/drivers/staging/vt6656/wctl.h +++ b/drivers/staging/vt6656/wctl.h | |||
@@ -90,7 +90,6 @@ | |||
90 | (uVar)++; \ | 90 | (uVar)++; \ |
91 | } | 91 | } |
92 | 92 | ||
93 | |||
94 | /*--------------------- Export Classes ----------------------------*/ | 93 | /*--------------------- Export Classes ----------------------------*/ |
95 | 94 | ||
96 | /*--------------------- Export Variables --------------------------*/ | 95 | /*--------------------- Export Variables --------------------------*/ |
@@ -98,11 +97,9 @@ | |||
98 | /*--------------------- Export Functions --------------------------*/ | 97 | /*--------------------- Export Functions --------------------------*/ |
99 | 98 | ||
100 | BOOL WCTLbIsDuplicate(PSCache pCache, PS802_11Header pMACHeader); | 99 | BOOL WCTLbIsDuplicate(PSCache pCache, PS802_11Header pMACHeader); |
101 | BOOL WCTLbHandleFragment(PSDevice pDevice, PS802_11Header pMACHeader, UINT cbFrameLength, BOOL bWEP, BOOL bExtIV); | 100 | BOOL WCTLbHandleFragment(PSDevice pDevice, PS802_11Header pMACHeader, |
102 | UINT WCTLuSearchDFCB(PSDevice pDevice, PS802_11Header pMACHeader); | 101 | unsigned int cbFrameLength, BOOL bWEP, BOOL bExtIV); |
103 | UINT WCTLuInsertDFCB(PSDevice pDevice, PS802_11Header pMACHeader); | 102 | unsigned int WCTLuSearchDFCB(PSDevice pDevice, PS802_11Header pMACHeader); |
104 | 103 | unsigned int WCTLuInsertDFCB(PSDevice pDevice, PS802_11Header pMACHeader); | |
105 | #endif // __WCTL_H__ | ||
106 | |||
107 | |||
108 | 104 | ||
105 | #endif /* __WCTL_H__ */ | ||
diff --git a/drivers/staging/vt6656/wmgr.c b/drivers/staging/vt6656/wmgr.c index 330aea69d23..93c15f0580f 100644 --- a/drivers/staging/vt6656/wmgr.c +++ b/drivers/staging/vt6656/wmgr.c | |||
@@ -94,160 +94,160 @@ static int msglevel =MSG_LEVEL_INFO; | |||
94 | /*--------------------- Static Functions --------------------------*/ | 94 | /*--------------------- Static Functions --------------------------*/ |
95 | //2008-0730-01<Add>by MikeLiu | 95 | //2008-0730-01<Add>by MikeLiu |
96 | static BOOL ChannelExceedZoneType( | 96 | static BOOL ChannelExceedZoneType( |
97 | IN PSDevice pDevice, | 97 | PSDevice pDevice, |
98 | IN BYTE byCurrChannel | 98 | BYTE byCurrChannel |
99 | ); | 99 | ); |
100 | 100 | ||
101 | // Association/diassociation functions | 101 | // Association/diassociation functions |
102 | static | 102 | static |
103 | PSTxMgmtPacket | 103 | PSTxMgmtPacket |
104 | s_MgrMakeAssocRequest( | 104 | s_MgrMakeAssocRequest( |
105 | IN PSDevice pDevice, | 105 | PSDevice pDevice, |
106 | IN PSMgmtObject pMgmt, | 106 | PSMgmtObject pMgmt, |
107 | IN PBYTE pDAddr, | 107 | PBYTE pDAddr, |
108 | IN WORD wCurrCapInfo, | 108 | WORD wCurrCapInfo, |
109 | IN WORD wListenInterval, | 109 | WORD wListenInterval, |
110 | IN PWLAN_IE_SSID pCurrSSID, | 110 | PWLAN_IE_SSID pCurrSSID, |
111 | IN PWLAN_IE_SUPP_RATES pCurrRates, | 111 | PWLAN_IE_SUPP_RATES pCurrRates, |
112 | IN PWLAN_IE_SUPP_RATES pCurrExtSuppRates | 112 | PWLAN_IE_SUPP_RATES pCurrExtSuppRates |
113 | ); | 113 | ); |
114 | 114 | ||
115 | static | 115 | static |
116 | VOID | 116 | void |
117 | s_vMgrRxAssocRequest( | 117 | s_vMgrRxAssocRequest( |
118 | IN PSDevice pDevice, | 118 | PSDevice pDevice, |
119 | IN PSMgmtObject pMgmt, | 119 | PSMgmtObject pMgmt, |
120 | IN PSRxMgmtPacket pRxPacket, | 120 | PSRxMgmtPacket pRxPacket, |
121 | IN UINT uNodeIndex | 121 | unsigned int uNodeIndex |
122 | ); | 122 | ); |
123 | 123 | ||
124 | static | 124 | static |
125 | PSTxMgmtPacket | 125 | PSTxMgmtPacket |
126 | s_MgrMakeReAssocRequest( | 126 | s_MgrMakeReAssocRequest( |
127 | IN PSDevice pDevice, | 127 | PSDevice pDevice, |
128 | IN PSMgmtObject pMgmt, | 128 | PSMgmtObject pMgmt, |
129 | IN PBYTE pDAddr, | 129 | PBYTE pDAddr, |
130 | IN WORD wCurrCapInfo, | 130 | WORD wCurrCapInfo, |
131 | IN WORD wListenInterval, | 131 | WORD wListenInterval, |
132 | IN PWLAN_IE_SSID pCurrSSID, | 132 | PWLAN_IE_SSID pCurrSSID, |
133 | IN PWLAN_IE_SUPP_RATES pCurrRates, | 133 | PWLAN_IE_SUPP_RATES pCurrRates, |
134 | IN PWLAN_IE_SUPP_RATES pCurrExtSuppRates | 134 | PWLAN_IE_SUPP_RATES pCurrExtSuppRates |
135 | ); | 135 | ); |
136 | 136 | ||
137 | static | 137 | static |
138 | VOID | 138 | void |
139 | s_vMgrRxAssocResponse( | 139 | s_vMgrRxAssocResponse( |
140 | IN PSDevice pDevice, | 140 | PSDevice pDevice, |
141 | IN PSMgmtObject pMgmt, | 141 | PSMgmtObject pMgmt, |
142 | IN PSRxMgmtPacket pRxPacket, | 142 | PSRxMgmtPacket pRxPacket, |
143 | IN BOOL bReAssocType | 143 | BOOL bReAssocType |
144 | ); | 144 | ); |
145 | 145 | ||
146 | static | 146 | static |
147 | VOID | 147 | void |
148 | s_vMgrRxDisassociation( | 148 | s_vMgrRxDisassociation( |
149 | IN PSDevice pDevice, | 149 | PSDevice pDevice, |
150 | IN PSMgmtObject pMgmt, | 150 | PSMgmtObject pMgmt, |
151 | IN PSRxMgmtPacket pRxPacket | 151 | PSRxMgmtPacket pRxPacket |
152 | ); | 152 | ); |
153 | 153 | ||
154 | // Authentication/deauthen functions | 154 | // Authentication/deauthen functions |
155 | static | 155 | static |
156 | VOID | 156 | void |
157 | s_vMgrRxAuthenSequence_1( | 157 | s_vMgrRxAuthenSequence_1( |
158 | IN PSDevice pDevice, | 158 | PSDevice pDevice, |
159 | IN PSMgmtObject pMgmt, | 159 | PSMgmtObject pMgmt, |
160 | IN PWLAN_FR_AUTHEN pFrame | 160 | PWLAN_FR_AUTHEN pFrame |
161 | ); | 161 | ); |
162 | 162 | ||
163 | static | 163 | static |
164 | VOID | 164 | void |
165 | s_vMgrRxAuthenSequence_2( | 165 | s_vMgrRxAuthenSequence_2( |
166 | IN PSDevice pDevice, | 166 | PSDevice pDevice, |
167 | IN PSMgmtObject pMgmt, | 167 | PSMgmtObject pMgmt, |
168 | IN PWLAN_FR_AUTHEN pFrame | 168 | PWLAN_FR_AUTHEN pFrame |
169 | ); | 169 | ); |
170 | 170 | ||
171 | static | 171 | static |
172 | VOID | 172 | void |
173 | s_vMgrRxAuthenSequence_3( | 173 | s_vMgrRxAuthenSequence_3( |
174 | IN PSDevice pDevice, | 174 | PSDevice pDevice, |
175 | IN PSMgmtObject pMgmt, | 175 | PSMgmtObject pMgmt, |
176 | IN PWLAN_FR_AUTHEN pFrame | 176 | PWLAN_FR_AUTHEN pFrame |
177 | ); | 177 | ); |
178 | 178 | ||
179 | static | 179 | static |
180 | VOID | 180 | void |
181 | s_vMgrRxAuthenSequence_4( | 181 | s_vMgrRxAuthenSequence_4( |
182 | IN PSDevice pDevice, | 182 | PSDevice pDevice, |
183 | IN PSMgmtObject pMgmt, | 183 | PSMgmtObject pMgmt, |
184 | IN PWLAN_FR_AUTHEN pFrame | 184 | PWLAN_FR_AUTHEN pFrame |
185 | ); | 185 | ); |
186 | 186 | ||
187 | static | 187 | static |
188 | VOID | 188 | void |
189 | s_vMgrRxAuthentication( | 189 | s_vMgrRxAuthentication( |
190 | IN PSDevice pDevice, | 190 | PSDevice pDevice, |
191 | IN PSMgmtObject pMgmt, | 191 | PSMgmtObject pMgmt, |
192 | IN PSRxMgmtPacket pRxPacket | 192 | PSRxMgmtPacket pRxPacket |
193 | ); | 193 | ); |
194 | 194 | ||
195 | static | 195 | static |
196 | VOID | 196 | void |
197 | s_vMgrRxDeauthentication( | 197 | s_vMgrRxDeauthentication( |
198 | IN PSDevice pDevice, | 198 | PSDevice pDevice, |
199 | IN PSMgmtObject pMgmt, | 199 | PSMgmtObject pMgmt, |
200 | IN PSRxMgmtPacket pRxPacket | 200 | PSRxMgmtPacket pRxPacket |
201 | ); | 201 | ); |
202 | 202 | ||
203 | // Scan functions | 203 | // Scan functions |
204 | // probe request/response functions | 204 | // probe request/response functions |
205 | static | 205 | static |
206 | VOID | 206 | void |
207 | s_vMgrRxProbeRequest( | 207 | s_vMgrRxProbeRequest( |
208 | IN PSDevice pDevice, | 208 | PSDevice pDevice, |
209 | IN PSMgmtObject pMgmt, | 209 | PSMgmtObject pMgmt, |
210 | IN PSRxMgmtPacket pRxPacket | 210 | PSRxMgmtPacket pRxPacket |
211 | ); | 211 | ); |
212 | 212 | ||
213 | static | 213 | static |
214 | VOID | 214 | void |
215 | s_vMgrRxProbeResponse( | 215 | s_vMgrRxProbeResponse( |
216 | IN PSDevice pDevice, | 216 | PSDevice pDevice, |
217 | IN PSMgmtObject pMgmt, | 217 | PSMgmtObject pMgmt, |
218 | IN PSRxMgmtPacket pRxPacket | 218 | PSRxMgmtPacket pRxPacket |
219 | ); | 219 | ); |
220 | 220 | ||
221 | // beacon functions | 221 | // beacon functions |
222 | static | 222 | static |
223 | VOID | 223 | void |
224 | s_vMgrRxBeacon( | 224 | s_vMgrRxBeacon( |
225 | IN PSDevice pDevice, | 225 | PSDevice pDevice, |
226 | IN PSMgmtObject pMgmt, | 226 | PSMgmtObject pMgmt, |
227 | IN PSRxMgmtPacket pRxPacket, | 227 | PSRxMgmtPacket pRxPacket, |
228 | IN BOOL bInScan | 228 | BOOL bInScan |
229 | ); | 229 | ); |
230 | 230 | ||
231 | static | 231 | static |
232 | VOID | 232 | void |
233 | s_vMgrFormatTIM( | 233 | s_vMgrFormatTIM( |
234 | IN PSMgmtObject pMgmt, | 234 | PSMgmtObject pMgmt, |
235 | IN PWLAN_IE_TIM pTIM | 235 | PWLAN_IE_TIM pTIM |
236 | ); | 236 | ); |
237 | 237 | ||
238 | static | 238 | static |
239 | PSTxMgmtPacket | 239 | PSTxMgmtPacket |
240 | s_MgrMakeBeacon( | 240 | s_MgrMakeBeacon( |
241 | IN PSDevice pDevice, | 241 | PSDevice pDevice, |
242 | IN PSMgmtObject pMgmt, | 242 | PSMgmtObject pMgmt, |
243 | IN WORD wCurrCapInfo, | 243 | WORD wCurrCapInfo, |
244 | IN WORD wCurrBeaconPeriod, | 244 | WORD wCurrBeaconPeriod, |
245 | IN UINT uCurrChannel, | 245 | unsigned int uCurrChannel, |
246 | IN WORD wCurrATIMWinodw, | 246 | WORD wCurrATIMWinodw, |
247 | IN PWLAN_IE_SSID pCurrSSID, | 247 | PWLAN_IE_SSID pCurrSSID, |
248 | IN PBYTE pCurrBSSID, | 248 | PBYTE pCurrBSSID, |
249 | IN PWLAN_IE_SUPP_RATES pCurrSuppRates, | 249 | PWLAN_IE_SUPP_RATES pCurrSuppRates, |
250 | IN PWLAN_IE_SUPP_RATES pCurrExtSuppRates | 250 | PWLAN_IE_SUPP_RATES pCurrExtSuppRates |
251 | ); | 251 | ); |
252 | 252 | ||
253 | 253 | ||
@@ -255,88 +255,84 @@ s_MgrMakeBeacon( | |||
255 | static | 255 | static |
256 | PSTxMgmtPacket | 256 | PSTxMgmtPacket |
257 | s_MgrMakeAssocResponse( | 257 | s_MgrMakeAssocResponse( |
258 | IN PSDevice pDevice, | 258 | PSDevice pDevice, |
259 | IN PSMgmtObject pMgmt, | 259 | PSMgmtObject pMgmt, |
260 | IN WORD wCurrCapInfo, | 260 | WORD wCurrCapInfo, |
261 | IN WORD wAssocStatus, | 261 | WORD wAssocStatus, |
262 | IN WORD wAssocAID, | 262 | WORD wAssocAID, |
263 | IN PBYTE pDstAddr, | 263 | PBYTE pDstAddr, |
264 | IN PWLAN_IE_SUPP_RATES pCurrSuppRates, | 264 | PWLAN_IE_SUPP_RATES pCurrSuppRates, |
265 | IN PWLAN_IE_SUPP_RATES pCurrExtSuppRates | 265 | PWLAN_IE_SUPP_RATES pCurrExtSuppRates |
266 | ); | 266 | ); |
267 | 267 | ||
268 | // ReAssociation response | 268 | // ReAssociation response |
269 | static | 269 | static |
270 | PSTxMgmtPacket | 270 | PSTxMgmtPacket |
271 | s_MgrMakeReAssocResponse( | 271 | s_MgrMakeReAssocResponse( |
272 | IN PSDevice pDevice, | 272 | PSDevice pDevice, |
273 | IN PSMgmtObject pMgmt, | 273 | PSMgmtObject pMgmt, |
274 | IN WORD wCurrCapInfo, | 274 | WORD wCurrCapInfo, |
275 | IN WORD wAssocStatus, | 275 | WORD wAssocStatus, |
276 | IN WORD wAssocAID, | 276 | WORD wAssocAID, |
277 | IN PBYTE pDstAddr, | 277 | PBYTE pDstAddr, |
278 | IN PWLAN_IE_SUPP_RATES pCurrSuppRates, | 278 | PWLAN_IE_SUPP_RATES pCurrSuppRates, |
279 | IN PWLAN_IE_SUPP_RATES pCurrExtSuppRates | 279 | PWLAN_IE_SUPP_RATES pCurrExtSuppRates |
280 | ); | 280 | ); |
281 | 281 | ||
282 | // Probe response | 282 | // Probe response |
283 | static | 283 | static |
284 | PSTxMgmtPacket | 284 | PSTxMgmtPacket |
285 | s_MgrMakeProbeResponse( | 285 | s_MgrMakeProbeResponse( |
286 | IN PSDevice pDevice, | 286 | PSDevice pDevice, |
287 | IN PSMgmtObject pMgmt, | 287 | PSMgmtObject pMgmt, |
288 | IN WORD wCurrCapInfo, | 288 | WORD wCurrCapInfo, |
289 | IN WORD wCurrBeaconPeriod, | 289 | WORD wCurrBeaconPeriod, |
290 | IN UINT uCurrChannel, | 290 | unsigned int uCurrChannel, |
291 | IN WORD wCurrATIMWinodw, | 291 | WORD wCurrATIMWinodw, |
292 | IN PBYTE pDstAddr, | 292 | PBYTE pDstAddr, |
293 | IN PWLAN_IE_SSID pCurrSSID, | 293 | PWLAN_IE_SSID pCurrSSID, |
294 | IN PBYTE pCurrBSSID, | 294 | PBYTE pCurrBSSID, |
295 | IN PWLAN_IE_SUPP_RATES pCurrSuppRates, | 295 | PWLAN_IE_SUPP_RATES pCurrSuppRates, |
296 | IN PWLAN_IE_SUPP_RATES pCurrExtSuppRates, | 296 | PWLAN_IE_SUPP_RATES pCurrExtSuppRates, |
297 | IN BYTE byPHYType | 297 | BYTE byPHYType |
298 | ); | 298 | ); |
299 | 299 | ||
300 | // received status | 300 | // received status |
301 | static | 301 | static |
302 | VOID | 302 | void |
303 | s_vMgrLogStatus( | 303 | s_vMgrLogStatus( |
304 | IN PSMgmtObject pMgmt, | 304 | PSMgmtObject pMgmt, |
305 | IN WORD wStatus | 305 | WORD wStatus |
306 | ); | 306 | ); |
307 | 307 | ||
308 | 308 | ||
309 | static | 309 | static |
310 | VOID | 310 | void |
311 | s_vMgrSynchBSS ( | 311 | s_vMgrSynchBSS ( |
312 | IN PSDevice pDevice, | 312 | PSDevice pDevice, |
313 | IN UINT uBSSMode, | 313 | unsigned int uBSSMode, |
314 | IN PKnownBSS pCurr, | 314 | PKnownBSS pCurr, |
315 | OUT PCMD_STATUS pStatus | 315 | PCMD_STATUS pStatus |
316 | ); | 316 | ); |
317 | 317 | ||
318 | 318 | ||
319 | static BOOL | 319 | static BOOL |
320 | s_bCipherMatch ( | 320 | s_bCipherMatch ( |
321 | IN PKnownBSS pBSSNode, | 321 | PKnownBSS pBSSNode, |
322 | IN NDIS_802_11_ENCRYPTION_STATUS EncStatus, | 322 | NDIS_802_11_ENCRYPTION_STATUS EncStatus, |
323 | OUT PBYTE pbyCCSPK, | 323 | PBYTE pbyCCSPK, |
324 | OUT PBYTE pbyCCSGK | 324 | PBYTE pbyCCSGK |
325 | ); | 325 | ); |
326 | 326 | ||
327 | static VOID Encyption_Rebuild( | 327 | static void Encyption_Rebuild( |
328 | IN PSDevice pDevice, | 328 | PSDevice pDevice, |
329 | IN PKnownBSS pCurr | 329 | PKnownBSS pCurr |
330 | ); | 330 | ); |
331 | 331 | ||
332 | |||
333 | |||
334 | /*--------------------- Export Variables --------------------------*/ | 332 | /*--------------------- Export Variables --------------------------*/ |
335 | 333 | ||
336 | |||
337 | /*--------------------- Export Functions --------------------------*/ | 334 | /*--------------------- Export Functions --------------------------*/ |
338 | 335 | ||
339 | |||
340 | /*+ | 336 | /*+ |
341 | * | 337 | * |
342 | * Routine Description: | 338 | * Routine Description: |
@@ -347,10 +343,7 @@ s_bCipherMatch ( | |||
347 | * | 343 | * |
348 | -*/ | 344 | -*/ |
349 | 345 | ||
350 | VOID | 346 | void vMgrObjectInit(void *hDeviceContext) |
351 | vMgrObjectInit( | ||
352 | IN HANDLE hDeviceContext | ||
353 | ) | ||
354 | { | 347 | { |
355 | PSDevice pDevice = (PSDevice)hDeviceContext; | 348 | PSDevice pDevice = (PSDevice)hDeviceContext; |
356 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); | 349 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); |
@@ -368,22 +361,22 @@ vMgrObjectInit( | |||
368 | pMgmt->byCSSPK = KEY_CTL_NONE; | 361 | pMgmt->byCSSPK = KEY_CTL_NONE; |
369 | pMgmt->byCSSGK = KEY_CTL_NONE; | 362 | pMgmt->byCSSGK = KEY_CTL_NONE; |
370 | pMgmt->wIBSSBeaconPeriod = DEFAULT_IBSS_BI; | 363 | pMgmt->wIBSSBeaconPeriod = DEFAULT_IBSS_BI; |
371 | BSSvClearBSSList((HANDLE)pDevice, FALSE); | 364 | BSSvClearBSSList((void *) pDevice, FALSE); |
372 | 365 | ||
373 | init_timer(&pMgmt->sTimerSecondCallback); | 366 | init_timer(&pMgmt->sTimerSecondCallback); |
374 | pMgmt->sTimerSecondCallback.data = (ULONG)pDevice; | 367 | pMgmt->sTimerSecondCallback.data = (unsigned long)pDevice; |
375 | pMgmt->sTimerSecondCallback.function = (TimerFunction)BSSvSecondCallBack; | 368 | pMgmt->sTimerSecondCallback.function = (TimerFunction)BSSvSecondCallBack; |
376 | pMgmt->sTimerSecondCallback.expires = RUN_AT(HZ); | 369 | pMgmt->sTimerSecondCallback.expires = RUN_AT(HZ); |
377 | 370 | ||
378 | init_timer(&pDevice->sTimerCommand); | 371 | init_timer(&pDevice->sTimerCommand); |
379 | pDevice->sTimerCommand.data = (ULONG)pDevice; | 372 | pDevice->sTimerCommand.data = (unsigned long)pDevice; |
380 | pDevice->sTimerCommand.function = (TimerFunction)vRunCommand; | 373 | pDevice->sTimerCommand.function = (TimerFunction)vRunCommand; |
381 | pDevice->sTimerCommand.expires = RUN_AT(HZ); | 374 | pDevice->sTimerCommand.expires = RUN_AT(HZ); |
382 | 375 | ||
383 | //2007-0115-10<Add>by MikeLiu | 376 | //2007-0115-10<Add>by MikeLiu |
384 | #ifdef TxInSleep | 377 | #ifdef TxInSleep |
385 | init_timer(&pDevice->sTimerTxData); | 378 | init_timer(&pDevice->sTimerTxData); |
386 | pDevice->sTimerTxData.data = (ULONG)pDevice; | 379 | pDevice->sTimerTxData.data = (unsigned long)pDevice; |
387 | pDevice->sTimerTxData.function = (TimerFunction)BSSvSecondTxData; | 380 | pDevice->sTimerTxData.function = (TimerFunction)BSSvSecondTxData; |
388 | pDevice->sTimerTxData.expires = RUN_AT(10*HZ); //10s callback | 381 | pDevice->sTimerTxData.expires = RUN_AT(10*HZ); //10s callback |
389 | pDevice->fTxDataInSleep = FALSE; | 382 | pDevice->fTxDataInSleep = FALSE; |
@@ -401,8 +394,6 @@ vMgrObjectInit( | |||
401 | return; | 394 | return; |
402 | } | 395 | } |
403 | 396 | ||
404 | |||
405 | |||
406 | /*+ | 397 | /*+ |
407 | * | 398 | * |
408 | * Routine Description: | 399 | * Routine Description: |
@@ -414,13 +405,9 @@ vMgrObjectInit( | |||
414 | * | 405 | * |
415 | -*/ | 406 | -*/ |
416 | 407 | ||
417 | 408 | void vMgrAssocBeginSta(void *hDeviceContext, | |
418 | VOID | 409 | PSMgmtObject pMgmt, |
419 | vMgrAssocBeginSta( | 410 | PCMD_STATUS pStatus) |
420 | IN HANDLE hDeviceContext, | ||
421 | IN PSMgmtObject pMgmt, | ||
422 | OUT PCMD_STATUS pStatus | ||
423 | ) | ||
424 | { | 411 | { |
425 | PSDevice pDevice = (PSDevice)hDeviceContext; | 412 | PSDevice pDevice = (PSDevice)hDeviceContext; |
426 | PSTxMgmtPacket pTxPacket; | 413 | PSTxMgmtPacket pTxPacket; |
@@ -491,12 +478,9 @@ vMgrAssocBeginSta( | |||
491 | * | 478 | * |
492 | -*/ | 479 | -*/ |
493 | 480 | ||
494 | VOID | 481 | void vMgrReAssocBeginSta(void *hDeviceContext, |
495 | vMgrReAssocBeginSta( | 482 | PSMgmtObject pMgmt, |
496 | IN HANDLE hDeviceContext, | 483 | PCMD_STATUS pStatus) |
497 | IN PSMgmtObject pMgmt, | ||
498 | OUT PCMD_STATUS pStatus | ||
499 | ) | ||
500 | { | 484 | { |
501 | PSDevice pDevice = (PSDevice)hDeviceContext; | 485 | PSDevice pDevice = (PSDevice)hDeviceContext; |
502 | PSTxMgmtPacket pTxPacket; | 486 | PSTxMgmtPacket pTxPacket; |
@@ -570,14 +554,11 @@ vMgrReAssocBeginSta( | |||
570 | * | 554 | * |
571 | -*/ | 555 | -*/ |
572 | 556 | ||
573 | VOID | 557 | void vMgrDisassocBeginSta(void *hDeviceContext, |
574 | vMgrDisassocBeginSta( | 558 | PSMgmtObject pMgmt, |
575 | IN HANDLE hDeviceContext, | 559 | PBYTE abyDestAddress, |
576 | IN PSMgmtObject pMgmt, | 560 | WORD wReason, |
577 | IN PBYTE abyDestAddress, | 561 | PCMD_STATUS pStatus) |
578 | IN WORD wReason, | ||
579 | OUT PCMD_STATUS pStatus | ||
580 | ) | ||
581 | { | 562 | { |
582 | PSDevice pDevice = (PSDevice)hDeviceContext; | 563 | PSDevice pDevice = (PSDevice)hDeviceContext; |
583 | PSTxMgmtPacket pTxPacket = NULL; | 564 | PSTxMgmtPacket pTxPacket = NULL; |
@@ -633,12 +614,12 @@ vMgrDisassocBeginSta( | |||
633 | -*/ | 614 | -*/ |
634 | 615 | ||
635 | static | 616 | static |
636 | VOID | 617 | void |
637 | s_vMgrRxAssocRequest( | 618 | s_vMgrRxAssocRequest( |
638 | IN PSDevice pDevice, | 619 | PSDevice pDevice, |
639 | IN PSMgmtObject pMgmt, | 620 | PSMgmtObject pMgmt, |
640 | IN PSRxMgmtPacket pRxPacket, | 621 | PSRxMgmtPacket pRxPacket, |
641 | IN UINT uNodeIndex | 622 | unsigned int uNodeIndex |
642 | ) | 623 | ) |
643 | { | 624 | { |
644 | WLAN_FR_ASSOCREQ sFrame; | 625 | WLAN_FR_ASSOCREQ sFrame; |
@@ -646,7 +627,7 @@ s_vMgrRxAssocRequest( | |||
646 | PSTxMgmtPacket pTxPacket; | 627 | PSTxMgmtPacket pTxPacket; |
647 | WORD wAssocStatus = 0; | 628 | WORD wAssocStatus = 0; |
648 | WORD wAssocAID = 0; | 629 | WORD wAssocAID = 0; |
649 | UINT uRateLen = WLAN_RATES_MAXLEN; | 630 | unsigned int uRateLen = WLAN_RATES_MAXLEN; |
650 | BYTE abyCurrSuppRates[WLAN_IEHDR_LEN + WLAN_RATES_MAXLEN + 1]; | 631 | BYTE abyCurrSuppRates[WLAN_IEHDR_LEN + WLAN_RATES_MAXLEN + 1]; |
651 | BYTE abyCurrExtSuppRates[WLAN_IEHDR_LEN + WLAN_RATES_MAXLEN + 1]; | 632 | BYTE abyCurrExtSuppRates[WLAN_IEHDR_LEN + WLAN_RATES_MAXLEN + 1]; |
652 | 633 | ||
@@ -691,7 +672,7 @@ s_vMgrRxAssocRequest( | |||
691 | } | 672 | } |
692 | 673 | ||
693 | 674 | ||
694 | RATEvParseMaxRate((PVOID)pDevice, | 675 | RATEvParseMaxRate((void *)pDevice, |
695 | (PWLAN_IE_SUPP_RATES)abyCurrSuppRates, | 676 | (PWLAN_IE_SUPP_RATES)abyCurrSuppRates, |
696 | (PWLAN_IE_SUPP_RATES)abyCurrExtSuppRates, | 677 | (PWLAN_IE_SUPP_RATES)abyCurrExtSuppRates, |
697 | FALSE, // do not change our basic rate | 678 | FALSE, // do not change our basic rate |
@@ -789,12 +770,12 @@ s_vMgrRxAssocRequest( | |||
789 | -*/ | 770 | -*/ |
790 | 771 | ||
791 | static | 772 | static |
792 | VOID | 773 | void |
793 | s_vMgrRxReAssocRequest( | 774 | s_vMgrRxReAssocRequest( |
794 | IN PSDevice pDevice, | 775 | PSDevice pDevice, |
795 | IN PSMgmtObject pMgmt, | 776 | PSMgmtObject pMgmt, |
796 | IN PSRxMgmtPacket pRxPacket, | 777 | PSRxMgmtPacket pRxPacket, |
797 | IN UINT uNodeIndex | 778 | unsigned int uNodeIndex |
798 | ) | 779 | ) |
799 | { | 780 | { |
800 | WLAN_FR_REASSOCREQ sFrame; | 781 | WLAN_FR_REASSOCREQ sFrame; |
@@ -802,7 +783,7 @@ s_vMgrRxReAssocRequest( | |||
802 | PSTxMgmtPacket pTxPacket; | 783 | PSTxMgmtPacket pTxPacket; |
803 | WORD wAssocStatus = 0; | 784 | WORD wAssocStatus = 0; |
804 | WORD wAssocAID = 0; | 785 | WORD wAssocAID = 0; |
805 | UINT uRateLen = WLAN_RATES_MAXLEN; | 786 | unsigned int uRateLen = WLAN_RATES_MAXLEN; |
806 | BYTE abyCurrSuppRates[WLAN_IEHDR_LEN + WLAN_RATES_MAXLEN + 1]; | 787 | BYTE abyCurrSuppRates[WLAN_IEHDR_LEN + WLAN_RATES_MAXLEN + 1]; |
807 | BYTE abyCurrExtSuppRates[WLAN_IEHDR_LEN + WLAN_RATES_MAXLEN + 1]; | 788 | BYTE abyCurrExtSuppRates[WLAN_IEHDR_LEN + WLAN_RATES_MAXLEN + 1]; |
808 | 789 | ||
@@ -844,7 +825,7 @@ s_vMgrRxReAssocRequest( | |||
844 | } | 825 | } |
845 | 826 | ||
846 | 827 | ||
847 | RATEvParseMaxRate((PVOID)pDevice, | 828 | RATEvParseMaxRate((void *)pDevice, |
848 | (PWLAN_IE_SUPP_RATES)abyCurrSuppRates, | 829 | (PWLAN_IE_SUPP_RATES)abyCurrSuppRates, |
849 | (PWLAN_IE_SUPP_RATES)abyCurrExtSuppRates, | 830 | (PWLAN_IE_SUPP_RATES)abyCurrExtSuppRates, |
850 | FALSE, // do not change our basic rate | 831 | FALSE, // do not change our basic rate |
@@ -936,12 +917,12 @@ s_vMgrRxReAssocRequest( | |||
936 | -*/ | 917 | -*/ |
937 | 918 | ||
938 | static | 919 | static |
939 | VOID | 920 | void |
940 | s_vMgrRxAssocResponse( | 921 | s_vMgrRxAssocResponse( |
941 | IN PSDevice pDevice, | 922 | PSDevice pDevice, |
942 | IN PSMgmtObject pMgmt, | 923 | PSMgmtObject pMgmt, |
943 | IN PSRxMgmtPacket pRxPacket, | 924 | PSRxMgmtPacket pRxPacket, |
944 | IN BOOL bReAssocType | 925 | BOOL bReAssocType |
945 | ) | 926 | ) |
946 | { | 927 | { |
947 | WLAN_FR_ASSOCRESP sFrame; | 928 | WLAN_FR_ASSOCRESP sFrame; |
@@ -958,12 +939,12 @@ s_vMgrRxAssocResponse( | |||
958 | sFrame.pBuf = (PBYTE)pRxPacket->p80211Header; | 939 | sFrame.pBuf = (PBYTE)pRxPacket->p80211Header; |
959 | // decode the frame | 940 | // decode the frame |
960 | vMgrDecodeAssocResponse(&sFrame); | 941 | vMgrDecodeAssocResponse(&sFrame); |
961 | if ((sFrame.pwCapInfo == 0) || | 942 | if ((sFrame.pwCapInfo == NULL) |
962 | (sFrame.pwStatus == 0) || | 943 | || (sFrame.pwStatus == NULL) |
963 | (sFrame.pwAid == 0) || | 944 | || (sFrame.pwAid == NULL) |
964 | (sFrame.pSuppRates == 0)){ | 945 | || (sFrame.pSuppRates == NULL)) { |
965 | DBG_PORT80(0xCC); | 946 | DBG_PORT80(0xCC); |
966 | return; | 947 | return; |
967 | }; | 948 | }; |
968 | 949 | ||
969 | pMgmt->sAssocInfo.AssocInfo.ResponseFixedIEs.Capabilities = *(sFrame.pwCapInfo); | 950 | pMgmt->sAssocInfo.AssocInfo.ResponseFixedIEs.Capabilities = *(sFrame.pwCapInfo); |
@@ -987,7 +968,10 @@ s_vMgrRxAssocResponse( | |||
987 | }; | 968 | }; |
988 | DBG_PRT(MSG_LEVEL_INFO, KERN_INFO "Association Successful, AID=%d.\n", pMgmt->wCurrAID & ~(BIT14|BIT15)); | 969 | DBG_PRT(MSG_LEVEL_INFO, KERN_INFO "Association Successful, AID=%d.\n", pMgmt->wCurrAID & ~(BIT14|BIT15)); |
989 | pMgmt->eCurrState = WMAC_STATE_ASSOC; | 970 | pMgmt->eCurrState = WMAC_STATE_ASSOC; |
990 | BSSvUpdateAPNode((HANDLE)pDevice, sFrame.pwCapInfo, sFrame.pSuppRates, sFrame.pExtSuppRates); | 971 | BSSvUpdateAPNode((void *) pDevice, |
972 | sFrame.pwCapInfo, | ||
973 | sFrame.pSuppRates, | ||
974 | sFrame.pExtSuppRates); | ||
991 | pItemSSID = (PWLAN_IE_SSID)pMgmt->abyCurrSSID; | 975 | pItemSSID = (PWLAN_IE_SSID)pMgmt->abyCurrSSID; |
992 | DBG_PRT(MSG_LEVEL_INFO, KERN_INFO "Link with AP(SSID): %s\n", pItemSSID->abySSID); | 976 | DBG_PRT(MSG_LEVEL_INFO, KERN_INFO "Link with AP(SSID): %s\n", pItemSSID->abySSID); |
993 | pDevice->bLinkPass = TRUE; | 977 | pDevice->bLinkPass = TRUE; |
@@ -1089,8 +1073,6 @@ if(pMgmt->eCurrState == WMAC_STATE_ASSOC) | |||
1089 | return; | 1073 | return; |
1090 | } | 1074 | } |
1091 | 1075 | ||
1092 | |||
1093 | |||
1094 | /*+ | 1076 | /*+ |
1095 | * | 1077 | * |
1096 | * Routine Description: | 1078 | * Routine Description: |
@@ -1102,12 +1084,9 @@ if(pMgmt->eCurrState == WMAC_STATE_ASSOC) | |||
1102 | * | 1084 | * |
1103 | -*/ | 1085 | -*/ |
1104 | 1086 | ||
1105 | VOID | 1087 | void vMgrAuthenBeginSta(void *hDeviceContext, |
1106 | vMgrAuthenBeginSta( | 1088 | PSMgmtObject pMgmt, |
1107 | IN HANDLE hDeviceContext, | 1089 | PCMD_STATUS pStatus) |
1108 | IN PSMgmtObject pMgmt, | ||
1109 | OUT PCMD_STATUS pStatus | ||
1110 | ) | ||
1111 | { | 1090 | { |
1112 | PSDevice pDevice = (PSDevice)hDeviceContext; | 1091 | PSDevice pDevice = (PSDevice)hDeviceContext; |
1113 | WLAN_FR_AUTHEN sFrame; | 1092 | WLAN_FR_AUTHEN sFrame; |
@@ -1147,8 +1126,6 @@ vMgrAuthenBeginSta( | |||
1147 | return ; | 1126 | return ; |
1148 | } | 1127 | } |
1149 | 1128 | ||
1150 | |||
1151 | |||
1152 | /*+ | 1129 | /*+ |
1153 | * | 1130 | * |
1154 | * Routine Description: | 1131 | * Routine Description: |
@@ -1160,14 +1137,11 @@ vMgrAuthenBeginSta( | |||
1160 | * | 1137 | * |
1161 | -*/ | 1138 | -*/ |
1162 | 1139 | ||
1163 | VOID | 1140 | void vMgrDeAuthenBeginSta(void *hDeviceContext, |
1164 | vMgrDeAuthenBeginSta( | 1141 | PSMgmtObject pMgmt, |
1165 | IN HANDLE hDeviceContext, | 1142 | PBYTE abyDestAddress, |
1166 | IN PSMgmtObject pMgmt, | 1143 | WORD wReason, |
1167 | IN PBYTE abyDestAddress, | 1144 | PCMD_STATUS pStatus) |
1168 | IN WORD wReason, | ||
1169 | OUT PCMD_STATUS pStatus | ||
1170 | ) | ||
1171 | { | 1145 | { |
1172 | PSDevice pDevice = (PSDevice)hDeviceContext; | 1146 | PSDevice pDevice = (PSDevice)hDeviceContext; |
1173 | WLAN_FR_DEAUTHEN sFrame; | 1147 | WLAN_FR_DEAUTHEN sFrame; |
@@ -1217,11 +1191,11 @@ vMgrDeAuthenBeginSta( | |||
1217 | -*/ | 1191 | -*/ |
1218 | 1192 | ||
1219 | static | 1193 | static |
1220 | VOID | 1194 | void |
1221 | s_vMgrRxAuthentication( | 1195 | s_vMgrRxAuthentication( |
1222 | IN PSDevice pDevice, | 1196 | PSDevice pDevice, |
1223 | IN PSMgmtObject pMgmt, | 1197 | PSMgmtObject pMgmt, |
1224 | IN PSRxMgmtPacket pRxPacket | 1198 | PSRxMgmtPacket pRxPacket |
1225 | ) | 1199 | ) |
1226 | { | 1200 | { |
1227 | WLAN_FR_AUTHEN sFrame; | 1201 | WLAN_FR_AUTHEN sFrame; |
@@ -1275,15 +1249,15 @@ s_vMgrRxAuthentication( | |||
1275 | 1249 | ||
1276 | 1250 | ||
1277 | static | 1251 | static |
1278 | VOID | 1252 | void |
1279 | s_vMgrRxAuthenSequence_1( | 1253 | s_vMgrRxAuthenSequence_1( |
1280 | IN PSDevice pDevice, | 1254 | PSDevice pDevice, |
1281 | IN PSMgmtObject pMgmt, | 1255 | PSMgmtObject pMgmt, |
1282 | IN PWLAN_FR_AUTHEN pFrame | 1256 | PWLAN_FR_AUTHEN pFrame |
1283 | ) | 1257 | ) |
1284 | { | 1258 | { |
1285 | PSTxMgmtPacket pTxPacket = NULL; | 1259 | PSTxMgmtPacket pTxPacket = NULL; |
1286 | UINT uNodeIndex; | 1260 | unsigned int uNodeIndex; |
1287 | WLAN_FR_AUTHEN sFrame; | 1261 | WLAN_FR_AUTHEN sFrame; |
1288 | PSKeyItem pTransmitKey; | 1262 | PSKeyItem pTransmitKey; |
1289 | 1263 | ||
@@ -1381,11 +1355,11 @@ s_vMgrRxAuthenSequence_1( | |||
1381 | -*/ | 1355 | -*/ |
1382 | 1356 | ||
1383 | static | 1357 | static |
1384 | VOID | 1358 | void |
1385 | s_vMgrRxAuthenSequence_2( | 1359 | s_vMgrRxAuthenSequence_2( |
1386 | IN PSDevice pDevice, | 1360 | PSDevice pDevice, |
1387 | IN PSMgmtObject pMgmt, | 1361 | PSMgmtObject pMgmt, |
1388 | IN PWLAN_FR_AUTHEN pFrame | 1362 | PWLAN_FR_AUTHEN pFrame |
1389 | ) | 1363 | ) |
1390 | { | 1364 | { |
1391 | WLAN_FR_AUTHEN sFrame; | 1365 | WLAN_FR_AUTHEN sFrame; |
@@ -1405,12 +1379,11 @@ s_vMgrRxAuthenSequence_2( | |||
1405 | s_vMgrLogStatus(pMgmt, cpu_to_le16((*(pFrame->pwStatus)))); | 1379 | s_vMgrLogStatus(pMgmt, cpu_to_le16((*(pFrame->pwStatus)))); |
1406 | pMgmt->eCurrState = WMAC_STATE_IDLE; | 1380 | pMgmt->eCurrState = WMAC_STATE_IDLE; |
1407 | } | 1381 | } |
1408 | if (pDevice->eCommandState == WLAN_AUTHENTICATE_WAIT ) { | 1382 | if (pDevice->eCommandState == WLAN_AUTHENTICATE_WAIT) { |
1409 | // spin_unlock_irq(&pDevice->lock); | 1383 | /* spin_unlock_irq(&pDevice->lock); |
1410 | // vCommandTimerWait((HANDLE)pDevice, 0); | 1384 | vCommandTimerWait((void *) pDevice, 0); |
1411 | // spin_lock_irq(&pDevice->lock); | 1385 | spin_lock_irq(&pDevice->lock); */ |
1412 | } | 1386 | } |
1413 | |||
1414 | break; | 1387 | break; |
1415 | 1388 | ||
1416 | case WLAN_AUTH_ALG_SHAREDKEY: | 1389 | case WLAN_AUTH_ALG_SHAREDKEY: |
@@ -1453,9 +1426,9 @@ s_vMgrRxAuthenSequence_2( | |||
1453 | else { | 1426 | else { |
1454 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "Mgt:rx Auth_reply sequence_2 status error ...\n"); | 1427 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "Mgt:rx Auth_reply sequence_2 status error ...\n"); |
1455 | if ( pDevice->eCommandState == WLAN_AUTHENTICATE_WAIT ) { | 1428 | if ( pDevice->eCommandState == WLAN_AUTHENTICATE_WAIT ) { |
1456 | // spin_unlock_irq(&pDevice->lock); | 1429 | /* spin_unlock_irq(&pDevice->lock); |
1457 | // vCommandTimerWait((HANDLE)pDevice, 0); | 1430 | vCommandTimerWait((void *) pDevice, 0); |
1458 | // spin_lock_irq(&pDevice->lock); | 1431 | spin_lock_irq(&pDevice->lock); */ |
1459 | } | 1432 | } |
1460 | s_vMgrLogStatus(pMgmt, cpu_to_le16((*(pFrame->pwStatus)))); | 1433 | s_vMgrLogStatus(pMgmt, cpu_to_le16((*(pFrame->pwStatus)))); |
1461 | } | 1434 | } |
@@ -1483,16 +1456,16 @@ s_vMgrRxAuthenSequence_2( | |||
1483 | -*/ | 1456 | -*/ |
1484 | 1457 | ||
1485 | static | 1458 | static |
1486 | VOID | 1459 | void |
1487 | s_vMgrRxAuthenSequence_3( | 1460 | s_vMgrRxAuthenSequence_3( |
1488 | IN PSDevice pDevice, | 1461 | PSDevice pDevice, |
1489 | IN PSMgmtObject pMgmt, | 1462 | PSMgmtObject pMgmt, |
1490 | IN PWLAN_FR_AUTHEN pFrame | 1463 | PWLAN_FR_AUTHEN pFrame |
1491 | ) | 1464 | ) |
1492 | { | 1465 | { |
1493 | PSTxMgmtPacket pTxPacket = NULL; | 1466 | PSTxMgmtPacket pTxPacket = NULL; |
1494 | UINT uStatusCode = 0 ; | 1467 | unsigned int uStatusCode = 0 ; |
1495 | UINT uNodeIndex = 0; | 1468 | unsigned int uNodeIndex = 0; |
1496 | WLAN_FR_AUTHEN sFrame; | 1469 | WLAN_FR_AUTHEN sFrame; |
1497 | 1470 | ||
1498 | if (!WLAN_GET_FC_ISWEP(pFrame->pHdr->sA3.wFrameCtl)) { | 1471 | if (!WLAN_GET_FC_ISWEP(pFrame->pHdr->sA3.wFrameCtl)) { |
@@ -1571,11 +1544,11 @@ reply: | |||
1571 | * | 1544 | * |
1572 | -*/ | 1545 | -*/ |
1573 | static | 1546 | static |
1574 | VOID | 1547 | void |
1575 | s_vMgrRxAuthenSequence_4( | 1548 | s_vMgrRxAuthenSequence_4( |
1576 | IN PSDevice pDevice, | 1549 | PSDevice pDevice, |
1577 | IN PSMgmtObject pMgmt, | 1550 | PSMgmtObject pMgmt, |
1578 | IN PWLAN_FR_AUTHEN pFrame | 1551 | PWLAN_FR_AUTHEN pFrame |
1579 | ) | 1552 | ) |
1580 | { | 1553 | { |
1581 | 1554 | ||
@@ -1591,11 +1564,10 @@ s_vMgrRxAuthenSequence_4( | |||
1591 | } | 1564 | } |
1592 | 1565 | ||
1593 | if ( pDevice->eCommandState == WLAN_AUTHENTICATE_WAIT ) { | 1566 | if ( pDevice->eCommandState == WLAN_AUTHENTICATE_WAIT ) { |
1594 | // spin_unlock_irq(&pDevice->lock); | 1567 | /* spin_unlock_irq(&pDevice->lock); |
1595 | // vCommandTimerWait((HANDLE)pDevice, 0); | 1568 | vCommandTimerWait((void *) pDevice, 0); |
1596 | // spin_lock_irq(&pDevice->lock); | 1569 | spin_lock_irq(&pDevice->lock); */ |
1597 | } | 1570 | } |
1598 | |||
1599 | } | 1571 | } |
1600 | 1572 | ||
1601 | /*+ | 1573 | /*+ |
@@ -1610,15 +1582,15 @@ s_vMgrRxAuthenSequence_4( | |||
1610 | -*/ | 1582 | -*/ |
1611 | 1583 | ||
1612 | static | 1584 | static |
1613 | VOID | 1585 | void |
1614 | s_vMgrRxDisassociation( | 1586 | s_vMgrRxDisassociation( |
1615 | IN PSDevice pDevice, | 1587 | PSDevice pDevice, |
1616 | IN PSMgmtObject pMgmt, | 1588 | PSMgmtObject pMgmt, |
1617 | IN PSRxMgmtPacket pRxPacket | 1589 | PSRxMgmtPacket pRxPacket |
1618 | ) | 1590 | ) |
1619 | { | 1591 | { |
1620 | WLAN_FR_DISASSOC sFrame; | 1592 | WLAN_FR_DISASSOC sFrame; |
1621 | UINT uNodeIndex = 0; | 1593 | unsigned int uNodeIndex = 0; |
1622 | CMD_STATUS CmdStatus; | 1594 | CMD_STATUS CmdStatus; |
1623 | viawget_wpa_header *wpahdr; | 1595 | viawget_wpa_header *wpahdr; |
1624 | 1596 | ||
@@ -1700,15 +1672,15 @@ s_vMgrRxDisassociation( | |||
1700 | -*/ | 1672 | -*/ |
1701 | 1673 | ||
1702 | static | 1674 | static |
1703 | VOID | 1675 | void |
1704 | s_vMgrRxDeauthentication( | 1676 | s_vMgrRxDeauthentication( |
1705 | IN PSDevice pDevice, | 1677 | PSDevice pDevice, |
1706 | IN PSMgmtObject pMgmt, | 1678 | PSMgmtObject pMgmt, |
1707 | IN PSRxMgmtPacket pRxPacket | 1679 | PSRxMgmtPacket pRxPacket |
1708 | ) | 1680 | ) |
1709 | { | 1681 | { |
1710 | WLAN_FR_DEAUTHEN sFrame; | 1682 | WLAN_FR_DEAUTHEN sFrame; |
1711 | UINT uNodeIndex = 0; | 1683 | unsigned int uNodeIndex = 0; |
1712 | viawget_wpa_header *wpahdr; | 1684 | viawget_wpa_header *wpahdr; |
1713 | 1685 | ||
1714 | 1686 | ||
@@ -1791,8 +1763,8 @@ s_vMgrRxDeauthentication( | |||
1791 | -*/ | 1763 | -*/ |
1792 | static BOOL | 1764 | static BOOL |
1793 | ChannelExceedZoneType( | 1765 | ChannelExceedZoneType( |
1794 | IN PSDevice pDevice, | 1766 | PSDevice pDevice, |
1795 | IN BYTE byCurrChannel | 1767 | BYTE byCurrChannel |
1796 | ) | 1768 | ) |
1797 | { | 1769 | { |
1798 | BOOL exceed=FALSE; | 1770 | BOOL exceed=FALSE; |
@@ -1826,12 +1798,12 @@ ChannelExceedZoneType( | |||
1826 | -*/ | 1798 | -*/ |
1827 | 1799 | ||
1828 | static | 1800 | static |
1829 | VOID | 1801 | void |
1830 | s_vMgrRxBeacon( | 1802 | s_vMgrRxBeacon( |
1831 | IN PSDevice pDevice, | 1803 | PSDevice pDevice, |
1832 | IN PSMgmtObject pMgmt, | 1804 | PSMgmtObject pMgmt, |
1833 | IN PSRxMgmtPacket pRxPacket, | 1805 | PSRxMgmtPacket pRxPacket, |
1834 | IN BOOL bInScan | 1806 | BOOL bInScan |
1835 | ) | 1807 | ) |
1836 | { | 1808 | { |
1837 | 1809 | ||
@@ -1845,17 +1817,17 @@ s_vMgrRxBeacon( | |||
1845 | BOOL bUpdateTSF = FALSE; | 1817 | BOOL bUpdateTSF = FALSE; |
1846 | BOOL bIsAPBeacon = FALSE; | 1818 | BOOL bIsAPBeacon = FALSE; |
1847 | BOOL bIsChannelEqual = FALSE; | 1819 | BOOL bIsChannelEqual = FALSE; |
1848 | UINT uLocateByteIndex; | 1820 | unsigned int uLocateByteIndex; |
1849 | BYTE byTIMBitOn = 0; | 1821 | BYTE byTIMBitOn = 0; |
1850 | WORD wAIDNumber = 0; | 1822 | WORD wAIDNumber = 0; |
1851 | UINT uNodeIndex; | 1823 | unsigned int uNodeIndex; |
1852 | QWORD qwTimestamp, qwLocalTSF; | 1824 | QWORD qwTimestamp, qwLocalTSF; |
1853 | QWORD qwCurrTSF; | 1825 | QWORD qwCurrTSF; |
1854 | WORD wStartIndex = 0; | 1826 | WORD wStartIndex = 0; |
1855 | WORD wAIDIndex = 0; | 1827 | WORD wAIDIndex = 0; |
1856 | BYTE byCurrChannel = pRxPacket->byRxChannel; | 1828 | BYTE byCurrChannel = pRxPacket->byRxChannel; |
1857 | ERPObject sERP; | 1829 | ERPObject sERP; |
1858 | UINT uRateLen = WLAN_RATES_MAXLEN; | 1830 | unsigned int uRateLen = WLAN_RATES_MAXLEN; |
1859 | BOOL bChannelHit = FALSE; | 1831 | BOOL bChannelHit = FALSE; |
1860 | BYTE byOldPreambleType; | 1832 | BYTE byOldPreambleType; |
1861 | 1833 | ||
@@ -1871,14 +1843,14 @@ s_vMgrRxBeacon( | |||
1871 | // decode the beacon frame | 1843 | // decode the beacon frame |
1872 | vMgrDecodeBeacon(&sFrame); | 1844 | vMgrDecodeBeacon(&sFrame); |
1873 | 1845 | ||
1874 | if ((sFrame.pwBeaconInterval == 0) || | 1846 | if ((sFrame.pwBeaconInterval == NULL) |
1875 | (sFrame.pwCapInfo == 0) || | 1847 | || (sFrame.pwCapInfo == NULL) |
1876 | (sFrame.pSSID == 0) || | 1848 | || (sFrame.pSSID == NULL) |
1877 | (sFrame.pSuppRates == 0) ) { | 1849 | || (sFrame.pSuppRates == NULL)) { |
1878 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "Rx beacon frame error\n"); | ||
1879 | return; | ||
1880 | }; | ||
1881 | 1850 | ||
1851 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "Rx beacon frame error\n"); | ||
1852 | return; | ||
1853 | }; | ||
1882 | 1854 | ||
1883 | if( byCurrChannel > CB_MAX_CHANNEL_24G ) | 1855 | if( byCurrChannel > CB_MAX_CHANNEL_24G ) |
1884 | { | 1856 | { |
@@ -1913,10 +1885,12 @@ if(ChannelExceedZoneType(pDevice,byCurrChannel)==TRUE) | |||
1913 | sERP.byERP = 0; | 1885 | sERP.byERP = 0; |
1914 | } | 1886 | } |
1915 | 1887 | ||
1916 | pBSSList = BSSpAddrIsInBSSList((HANDLE)pDevice, sFrame.pHdr->sA3.abyAddr3, sFrame.pSSID); | 1888 | pBSSList = BSSpAddrIsInBSSList((void *) pDevice, |
1889 | sFrame.pHdr->sA3.abyAddr3, | ||
1890 | sFrame.pSSID); | ||
1917 | if (pBSSList == NULL) { | 1891 | if (pBSSList == NULL) { |
1918 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"Beacon/insert: RxChannel = : %d\n", byCurrChannel); | 1892 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"Beacon/insert: RxChannel = : %d\n", byCurrChannel); |
1919 | BSSbInsertToBSSList((HANDLE)pDevice, | 1893 | BSSbInsertToBSSList((void *) pDevice, |
1920 | sFrame.pHdr->sA3.abyAddr3, | 1894 | sFrame.pHdr->sA3.abyAddr3, |
1921 | *sFrame.pqwTimestamp, | 1895 | *sFrame.pqwTimestamp, |
1922 | *sFrame.pwBeaconInterval, | 1896 | *sFrame.pwBeaconInterval, |
@@ -1932,12 +1906,11 @@ if(ChannelExceedZoneType(pDevice,byCurrChannel)==TRUE) | |||
1932 | sFrame.pIE_Quiet, | 1906 | sFrame.pIE_Quiet, |
1933 | sFrame.len - WLAN_HDR_ADDR3_LEN, | 1907 | sFrame.len - WLAN_HDR_ADDR3_LEN, |
1934 | sFrame.pHdr->sA4.abyAddr4, // payload of beacon | 1908 | sFrame.pHdr->sA4.abyAddr4, // payload of beacon |
1935 | (HANDLE)pRxPacket | 1909 | (void *) pRxPacket); |
1936 | ); | ||
1937 | } | 1910 | } |
1938 | else { | 1911 | else { |
1939 | // DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"update bcn: RxChannel = : %d\n", byCurrChannel); | 1912 | // DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"update bcn: RxChannel = : %d\n", byCurrChannel); |
1940 | BSSbUpdateToBSSList((HANDLE)pDevice, | 1913 | BSSbUpdateToBSSList((void *) pDevice, |
1941 | *sFrame.pqwTimestamp, | 1914 | *sFrame.pqwTimestamp, |
1942 | *sFrame.pwBeaconInterval, | 1915 | *sFrame.pwBeaconInterval, |
1943 | *sFrame.pwCapInfo, | 1916 | *sFrame.pwCapInfo, |
@@ -1954,8 +1927,7 @@ if(ChannelExceedZoneType(pDevice,byCurrChannel)==TRUE) | |||
1954 | pBSSList, | 1927 | pBSSList, |
1955 | sFrame.len - WLAN_HDR_ADDR3_LEN, | 1928 | sFrame.len - WLAN_HDR_ADDR3_LEN, |
1956 | sFrame.pHdr->sA4.abyAddr4, // payload of probresponse | 1929 | sFrame.pHdr->sA4.abyAddr4, // payload of probresponse |
1957 | (HANDLE)pRxPacket | 1930 | (void *) pRxPacket); |
1958 | ); | ||
1959 | 1931 | ||
1960 | } | 1932 | } |
1961 | 1933 | ||
@@ -2089,7 +2061,7 @@ if(ChannelExceedZoneType(pDevice,byCurrChannel)==TRUE) | |||
2089 | pMgmt->abyCurrExtSuppRates[1] = RATEuSetIE((PWLAN_IE_SUPP_RATES)pBSSList->abyExtSuppRates, | 2061 | pMgmt->abyCurrExtSuppRates[1] = RATEuSetIE((PWLAN_IE_SUPP_RATES)pBSSList->abyExtSuppRates, |
2090 | (PWLAN_IE_SUPP_RATES)pMgmt->abyCurrExtSuppRates, | 2062 | (PWLAN_IE_SUPP_RATES)pMgmt->abyCurrExtSuppRates, |
2091 | uRateLen); | 2063 | uRateLen); |
2092 | RATEvParseMaxRate( (PVOID)pDevice, | 2064 | RATEvParseMaxRate((void *)pDevice, |
2093 | (PWLAN_IE_SUPP_RATES)pMgmt->abyCurrSuppRates, | 2065 | (PWLAN_IE_SUPP_RATES)pMgmt->abyCurrSuppRates, |
2094 | (PWLAN_IE_SUPP_RATES)pMgmt->abyCurrExtSuppRates, | 2066 | (PWLAN_IE_SUPP_RATES)pMgmt->abyCurrExtSuppRates, |
2095 | TRUE, | 2067 | TRUE, |
@@ -2152,9 +2124,9 @@ if(ChannelExceedZoneType(pDevice,byCurrChannel)==TRUE) | |||
2152 | if (bTSFLargeDiff) | 2124 | if (bTSFLargeDiff) |
2153 | bUpdateTSF = TRUE; | 2125 | bUpdateTSF = TRUE; |
2154 | 2126 | ||
2155 | if ((pDevice->bEnablePSMode == TRUE) &&(sFrame.pTIM != 0)) { | 2127 | if ((pDevice->bEnablePSMode == TRUE) && (sFrame.pTIM)) { |
2156 | 2128 | ||
2157 | // deal with DTIM, analysis TIM | 2129 | /* deal with DTIM, analysis TIM */ |
2158 | pMgmt->bMulticastTIM = WLAN_MGMT_IS_MULTICAST_TIM(sFrame.pTIM->byBitMapCtl) ? TRUE : FALSE ; | 2130 | pMgmt->bMulticastTIM = WLAN_MGMT_IS_MULTICAST_TIM(sFrame.pTIM->byBitMapCtl) ? TRUE : FALSE ; |
2159 | pMgmt->byDTIMCount = sFrame.pTIM->byDTIMCount; | 2131 | pMgmt->byDTIMCount = sFrame.pTIM->byDTIMCount; |
2160 | pMgmt->byDTIMPeriod = sFrame.pTIM->byDTIMPeriod; | 2132 | pMgmt->byDTIMPeriod = sFrame.pTIM->byDTIMPeriod; |
@@ -2227,7 +2199,7 @@ if(ChannelExceedZoneType(pDevice,byCurrChannel)==TRUE) | |||
2227 | pMgmt->abyCurrSuppRates[1] = RATEuSetIE((PWLAN_IE_SUPP_RATES)sFrame.pSuppRates, | 2199 | pMgmt->abyCurrSuppRates[1] = RATEuSetIE((PWLAN_IE_SUPP_RATES)sFrame.pSuppRates, |
2228 | (PWLAN_IE_SUPP_RATES)pMgmt->abyCurrSuppRates, | 2200 | (PWLAN_IE_SUPP_RATES)pMgmt->abyCurrSuppRates, |
2229 | WLAN_RATES_MAXLEN_11B); | 2201 | WLAN_RATES_MAXLEN_11B); |
2230 | RATEvParseMaxRate( (PVOID)pDevice, | 2202 | RATEvParseMaxRate((void *)pDevice, |
2231 | (PWLAN_IE_SUPP_RATES)pMgmt->abyCurrSuppRates, | 2203 | (PWLAN_IE_SUPP_RATES)pMgmt->abyCurrSuppRates, |
2232 | NULL, | 2204 | NULL, |
2233 | TRUE, | 2205 | TRUE, |
@@ -2248,7 +2220,7 @@ if(ChannelExceedZoneType(pDevice,byCurrChannel)==TRUE) | |||
2248 | pMgmt->abyCurrSuppRates[1] = RATEuSetIE((PWLAN_IE_SUPP_RATES)sFrame.pSuppRates, | 2220 | pMgmt->abyCurrSuppRates[1] = RATEuSetIE((PWLAN_IE_SUPP_RATES)sFrame.pSuppRates, |
2249 | (PWLAN_IE_SUPP_RATES)pMgmt->abyCurrSuppRates, | 2221 | (PWLAN_IE_SUPP_RATES)pMgmt->abyCurrSuppRates, |
2250 | WLAN_RATES_MAXLEN_11B); | 2222 | WLAN_RATES_MAXLEN_11B); |
2251 | RATEvParseMaxRate( (PVOID)pDevice, | 2223 | RATEvParseMaxRate((void *)pDevice, |
2252 | (PWLAN_IE_SUPP_RATES)pMgmt->abyCurrSuppRates, | 2224 | (PWLAN_IE_SUPP_RATES)pMgmt->abyCurrSuppRates, |
2253 | NULL, | 2225 | NULL, |
2254 | TRUE, | 2226 | TRUE, |
@@ -2324,7 +2296,7 @@ if(ChannelExceedZoneType(pDevice,byCurrChannel)==TRUE) | |||
2324 | // set highest basic rate | 2296 | // set highest basic rate |
2325 | // s_vSetHighestBasicRate(pDevice, (PWLAN_IE_SUPP_RATES)pMgmt->abyCurrSuppRates); | 2297 | // s_vSetHighestBasicRate(pDevice, (PWLAN_IE_SUPP_RATES)pMgmt->abyCurrSuppRates); |
2326 | // Prepare beacon frame | 2298 | // Prepare beacon frame |
2327 | bMgrPrepareBeaconToSend((HANDLE)pDevice, pMgmt); | 2299 | bMgrPrepareBeaconToSend((void *) pDevice, pMgmt); |
2328 | // } | 2300 | // } |
2329 | }; | 2301 | }; |
2330 | } | 2302 | } |
@@ -2341,8 +2313,6 @@ if(ChannelExceedZoneType(pDevice,byCurrChannel)==TRUE) | |||
2341 | return; | 2313 | return; |
2342 | } | 2314 | } |
2343 | 2315 | ||
2344 | |||
2345 | |||
2346 | /*+ | 2316 | /*+ |
2347 | * | 2317 | * |
2348 | * Routine Description: | 2318 | * Routine Description: |
@@ -2355,11 +2325,9 @@ if(ChannelExceedZoneType(pDevice,byCurrChannel)==TRUE) | |||
2355 | * CMD_STATUS | 2325 | * CMD_STATUS |
2356 | * | 2326 | * |
2357 | -*/ | 2327 | -*/ |
2358 | VOID | 2328 | |
2359 | vMgrCreateOwnIBSS( | 2329 | void vMgrCreateOwnIBSS(void *hDeviceContext, |
2360 | IN HANDLE hDeviceContext, | 2330 | PCMD_STATUS pStatus) |
2361 | OUT PCMD_STATUS pStatus | ||
2362 | ) | ||
2363 | { | 2331 | { |
2364 | PSDevice pDevice = (PSDevice)hDeviceContext; | 2332 | PSDevice pDevice = (PSDevice)hDeviceContext; |
2365 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); | 2333 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); |
@@ -2368,7 +2336,7 @@ vMgrCreateOwnIBSS( | |||
2368 | BYTE byTopCCKBasicRate; | 2336 | BYTE byTopCCKBasicRate; |
2369 | BYTE byTopOFDMBasicRate; | 2337 | BYTE byTopOFDMBasicRate; |
2370 | QWORD qwCurrTSF; | 2338 | QWORD qwCurrTSF; |
2371 | UINT ii; | 2339 | unsigned int ii; |
2372 | BYTE abyRATE[] = {0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, 0x0C, 0x12, 0x18, 0x60}; | 2340 | BYTE abyRATE[] = {0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, 0x0C, 0x12, 0x18, 0x60}; |
2373 | BYTE abyCCK_RATE[] = {0x82, 0x84, 0x8B, 0x96}; | 2341 | BYTE abyCCK_RATE[] = {0x82, 0x84, 0x8B, 0x96}; |
2374 | BYTE abyOFDM_RATE[] = {0x0C, 0x12, 0x18, 0x24, 0x30, 0x48, 0x60, 0x6C}; | 2342 | BYTE abyOFDM_RATE[] = {0x0C, 0x12, 0x18, 0x24, 0x30, 0x48, 0x60, 0x6C}; |
@@ -2466,7 +2434,8 @@ vMgrCreateOwnIBSS( | |||
2466 | 2434 | ||
2467 | // set basic rate | 2435 | // set basic rate |
2468 | 2436 | ||
2469 | RATEvParseMaxRate((PVOID)pDevice, (PWLAN_IE_SUPP_RATES)pMgmt->abyCurrSuppRates, | 2437 | RATEvParseMaxRate((void *)pDevice, |
2438 | (PWLAN_IE_SUPP_RATES)pMgmt->abyCurrSuppRates, | ||
2470 | (PWLAN_IE_SUPP_RATES)pMgmt->abyCurrExtSuppRates, TRUE, | 2439 | (PWLAN_IE_SUPP_RATES)pMgmt->abyCurrExtSuppRates, TRUE, |
2471 | &wMaxBasicRate, &wMaxSuppRate, &wSuppRate, | 2440 | &wMaxBasicRate, &wMaxSuppRate, &wSuppRate, |
2472 | &byTopCCKBasicRate, &byTopOFDMBasicRate); | 2441 | &byTopCCKBasicRate, &byTopOFDMBasicRate); |
@@ -2608,13 +2577,11 @@ vMgrCreateOwnIBSS( | |||
2608 | 2577 | ||
2609 | pMgmt->eCurrState = WMAC_STATE_STARTED; | 2578 | pMgmt->eCurrState = WMAC_STATE_STARTED; |
2610 | // Prepare beacon to send | 2579 | // Prepare beacon to send |
2611 | if (bMgrPrepareBeaconToSend((HANDLE)pDevice, pMgmt)) { | 2580 | if (bMgrPrepareBeaconToSend((void *) pDevice, pMgmt)) |
2612 | *pStatus = CMD_STATUS_SUCCESS; | 2581 | *pStatus = CMD_STATUS_SUCCESS; |
2613 | } | ||
2614 | return ; | ||
2615 | } | ||
2616 | |||
2617 | 2582 | ||
2583 | return; | ||
2584 | } | ||
2618 | 2585 | ||
2619 | /*+ | 2586 | /*+ |
2620 | * | 2587 | * |
@@ -2629,21 +2596,16 @@ vMgrCreateOwnIBSS( | |||
2629 | * | 2596 | * |
2630 | -*/ | 2597 | -*/ |
2631 | 2598 | ||
2632 | VOID | 2599 | void vMgrJoinBSSBegin(void *hDeviceContext, PCMD_STATUS pStatus) |
2633 | vMgrJoinBSSBegin( | ||
2634 | IN HANDLE hDeviceContext, | ||
2635 | OUT PCMD_STATUS pStatus | ||
2636 | ) | ||
2637 | { | 2600 | { |
2638 | |||
2639 | PSDevice pDevice = (PSDevice)hDeviceContext; | 2601 | PSDevice pDevice = (PSDevice)hDeviceContext; |
2640 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); | 2602 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); |
2641 | PKnownBSS pCurr = NULL; | 2603 | PKnownBSS pCurr = NULL; |
2642 | UINT ii, uu; | 2604 | unsigned int ii, uu; |
2643 | PWLAN_IE_SUPP_RATES pItemRates = NULL; | 2605 | PWLAN_IE_SUPP_RATES pItemRates = NULL; |
2644 | PWLAN_IE_SUPP_RATES pItemExtRates = NULL; | 2606 | PWLAN_IE_SUPP_RATES pItemExtRates = NULL; |
2645 | PWLAN_IE_SSID pItemSSID; | 2607 | PWLAN_IE_SSID pItemSSID; |
2646 | UINT uRateLen = WLAN_RATES_MAXLEN; | 2608 | unsigned int uRateLen = WLAN_RATES_MAXLEN; |
2647 | WORD wMaxBasicRate = RATE_1M; | 2609 | WORD wMaxBasicRate = RATE_1M; |
2648 | WORD wMaxSuppRate = RATE_1M; | 2610 | WORD wMaxSuppRate = RATE_1M; |
2649 | WORD wSuppRate; | 2611 | WORD wSuppRate; |
@@ -2743,9 +2705,10 @@ vMgrJoinBSSBegin( | |||
2743 | uRateLen); | 2705 | uRateLen); |
2744 | // Stuffing Rate IE | 2706 | // Stuffing Rate IE |
2745 | if ((pItemExtRates->len > 0) && (pItemRates->len < 8)) { | 2707 | if ((pItemExtRates->len > 0) && (pItemRates->len < 8)) { |
2746 | for (ii = 0; ii < (UINT)(8 - pItemRates->len); ) { | 2708 | for (ii = 0; ii < (unsigned int) (8 - pItemRates->len); ) { |
2747 | pItemRates->abyRates[pItemRates->len + ii] = pItemExtRates->abyRates[ii]; | 2709 | pItemRates->abyRates[pItemRates->len + ii] = |
2748 | ii ++; | 2710 | pItemExtRates->abyRates[ii]; |
2711 | ii++; | ||
2749 | if (pItemExtRates->len <= ii) | 2712 | if (pItemExtRates->len <= ii) |
2750 | break; | 2713 | break; |
2751 | } | 2714 | } |
@@ -2760,7 +2723,7 @@ vMgrJoinBSSBegin( | |||
2760 | } | 2723 | } |
2761 | } | 2724 | } |
2762 | 2725 | ||
2763 | RATEvParseMaxRate((PVOID)pDevice, pItemRates, pItemExtRates, TRUE, | 2726 | RATEvParseMaxRate((void *)pDevice, pItemRates, pItemExtRates, TRUE, |
2764 | &wMaxBasicRate, &wMaxSuppRate, &wSuppRate, | 2727 | &wMaxBasicRate, &wMaxSuppRate, &wSuppRate, |
2765 | &byTopCCKBasicRate, &byTopOFDMBasicRate); | 2728 | &byTopCCKBasicRate, &byTopOFDMBasicRate); |
2766 | vUpdateIFS(pDevice); | 2729 | vUpdateIFS(pDevice); |
@@ -2781,12 +2744,17 @@ vMgrJoinBSSBegin( | |||
2781 | // Add current BSS to Candidate list | 2744 | // Add current BSS to Candidate list |
2782 | // This should only works for WPA2 BSS, and WPA2 BSS check must be done before. | 2745 | // This should only works for WPA2 BSS, and WPA2 BSS check must be done before. |
2783 | if (pMgmt->eAuthenMode == WMAC_AUTH_WPA2) { | 2746 | if (pMgmt->eAuthenMode == WMAC_AUTH_WPA2) { |
2784 | BOOL bResult = bAdd_PMKID_Candidate((HANDLE)pDevice, pMgmt->abyCurrBSSID, &pCurr->sRSNCapObj); | 2747 | BOOL bResult = bAdd_PMKID_Candidate((void *) pDevice, |
2748 | pMgmt->abyCurrBSSID, | ||
2749 | &pCurr->sRSNCapObj); | ||
2785 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"bAdd_PMKID_Candidate: 1(%d)\n", bResult); | 2750 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"bAdd_PMKID_Candidate: 1(%d)\n", bResult); |
2786 | if (bResult == FALSE) { | 2751 | if (bResult == FALSE) { |
2787 | vFlush_PMKID_Candidate((HANDLE)pDevice); | 2752 | vFlush_PMKID_Candidate((void *) pDevice); |
2788 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"vFlush_PMKID_Candidate: 4\n"); | 2753 | DBG_PRT(MSG_LEVEL_DEBUG, |
2789 | bAdd_PMKID_Candidate((HANDLE)pDevice, pMgmt->abyCurrBSSID, &pCurr->sRSNCapObj); | 2754 | KERN_INFO "vFlush_PMKID_Candidate: 4\n"); |
2755 | bAdd_PMKID_Candidate((void *) pDevice, | ||
2756 | pMgmt->abyCurrBSSID, | ||
2757 | &pCurr->sRSNCapObj); | ||
2790 | } | 2758 | } |
2791 | } | 2759 | } |
2792 | 2760 | ||
@@ -2899,7 +2867,8 @@ vMgrJoinBSSBegin( | |||
2899 | (PWLAN_IE_SUPP_RATES)pMgmt->abyCurrSuppRates, | 2867 | (PWLAN_IE_SUPP_RATES)pMgmt->abyCurrSuppRates, |
2900 | WLAN_RATES_MAXLEN_11B); | 2868 | WLAN_RATES_MAXLEN_11B); |
2901 | // set basic rate | 2869 | // set basic rate |
2902 | RATEvParseMaxRate((PVOID)pDevice, (PWLAN_IE_SUPP_RATES)pMgmt->abyCurrSuppRates, | 2870 | RATEvParseMaxRate((void *)pDevice, |
2871 | (PWLAN_IE_SUPP_RATES)pMgmt->abyCurrSuppRates, | ||
2903 | NULL, TRUE, &wMaxBasicRate, &wMaxSuppRate, &wSuppRate, | 2872 | NULL, TRUE, &wMaxBasicRate, &wMaxSuppRate, &wSuppRate, |
2904 | &byTopCCKBasicRate, &byTopOFDMBasicRate); | 2873 | &byTopCCKBasicRate, &byTopOFDMBasicRate); |
2905 | vUpdateIFS(pDevice); | 2874 | vUpdateIFS(pDevice); |
@@ -2938,7 +2907,7 @@ vMgrJoinBSSBegin( | |||
2938 | CARDvSetRSPINF(pDevice, (BYTE)pDevice->byBBType); | 2907 | CARDvSetRSPINF(pDevice, (BYTE)pDevice->byBBType); |
2939 | 2908 | ||
2940 | // Prepare beacon | 2909 | // Prepare beacon |
2941 | bMgrPrepareBeaconToSend((HANDLE)pDevice, pMgmt); | 2910 | bMgrPrepareBeaconToSend((void *) pDevice, pMgmt); |
2942 | } | 2911 | } |
2943 | else { | 2912 | else { |
2944 | pMgmt->eCurrState = WMAC_STATE_IDLE; | 2913 | pMgmt->eCurrState = WMAC_STATE_IDLE; |
@@ -2960,12 +2929,12 @@ vMgrJoinBSSBegin( | |||
2960 | * | 2929 | * |
2961 | -*/ | 2930 | -*/ |
2962 | static | 2931 | static |
2963 | VOID | 2932 | void |
2964 | s_vMgrSynchBSS ( | 2933 | s_vMgrSynchBSS ( |
2965 | IN PSDevice pDevice, | 2934 | PSDevice pDevice, |
2966 | IN UINT uBSSMode, | 2935 | unsigned int uBSSMode, |
2967 | IN PKnownBSS pCurr, | 2936 | PKnownBSS pCurr, |
2968 | OUT PCMD_STATUS pStatus | 2937 | PCMD_STATUS pStatus |
2969 | ) | 2938 | ) |
2970 | { | 2939 | { |
2971 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); | 2940 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); |
@@ -3004,7 +2973,7 @@ s_vMgrSynchBSS ( | |||
3004 | pDevice->byPreambleType = 0; | 2973 | pDevice->byPreambleType = 0; |
3005 | pDevice->wBasicRate = 0; | 2974 | pDevice->wBasicRate = 0; |
3006 | // Set Basic Rate | 2975 | // Set Basic Rate |
3007 | CARDbAddBasicRate((PVOID)pDevice, RATE_1M); | 2976 | CARDbAddBasicRate((void *)pDevice, RATE_1M); |
3008 | 2977 | ||
3009 | // calculate TSF offset | 2978 | // calculate TSF offset |
3010 | // TSF Offset = Received Timestamp TSF - Marked Local's TSF | 2979 | // TSF Offset = Received Timestamp TSF - Marked Local's TSF |
@@ -3122,13 +3091,13 @@ s_vMgrSynchBSS ( | |||
3122 | 3091 | ||
3123 | //mike add: fix NetworkManager 0.7.0 hidden ssid mode in WPA encryption | 3092 | //mike add: fix NetworkManager 0.7.0 hidden ssid mode in WPA encryption |
3124 | // ,need reset eAuthenMode and eEncryptionStatus | 3093 | // ,need reset eAuthenMode and eEncryptionStatus |
3125 | static VOID Encyption_Rebuild( | 3094 | static void Encyption_Rebuild( |
3126 | IN PSDevice pDevice, | 3095 | PSDevice pDevice, |
3127 | IN PKnownBSS pCurr | 3096 | PKnownBSS pCurr |
3128 | ) | 3097 | ) |
3129 | { | 3098 | { |
3130 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); | 3099 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); |
3131 | // UINT ii , uSameBssidNum=0; | 3100 | /* unsigned int ii, uSameBssidNum=0; */ |
3132 | 3101 | ||
3133 | // for (ii = 0; ii < MAX_BSS_NUM; ii++) { | 3102 | // for (ii = 0; ii < MAX_BSS_NUM; ii++) { |
3134 | // if (pMgmt->sBSSList[ii].bActive && | 3103 | // if (pMgmt->sBSSList[ii].bActive && |
@@ -3174,20 +3143,20 @@ s_vMgrSynchBSS ( | |||
3174 | * | 3143 | * |
3175 | * | 3144 | * |
3176 | * Return Value: | 3145 | * Return Value: |
3177 | * VOID | 3146 | * void |
3178 | * | 3147 | * |
3179 | -*/ | 3148 | -*/ |
3180 | 3149 | ||
3181 | static | 3150 | static |
3182 | VOID | 3151 | void |
3183 | s_vMgrFormatTIM( | 3152 | s_vMgrFormatTIM( |
3184 | IN PSMgmtObject pMgmt, | 3153 | PSMgmtObject pMgmt, |
3185 | IN PWLAN_IE_TIM pTIM | 3154 | PWLAN_IE_TIM pTIM |
3186 | ) | 3155 | ) |
3187 | { | 3156 | { |
3188 | BYTE byMask[8] = {1, 2, 4, 8, 0x10, 0x20, 0x40, 0x80}; | 3157 | BYTE byMask[8] = {1, 2, 4, 8, 0x10, 0x20, 0x40, 0x80}; |
3189 | BYTE byMap; | 3158 | BYTE byMap; |
3190 | UINT ii, jj; | 3159 | unsigned int ii, jj; |
3191 | BOOL bStartFound = FALSE; | 3160 | BOOL bStartFound = FALSE; |
3192 | BOOL bMulticast = FALSE; | 3161 | BOOL bMulticast = FALSE; |
3193 | WORD wStartIndex = 0; | 3162 | WORD wStartIndex = 0; |
@@ -3256,16 +3225,16 @@ s_vMgrFormatTIM( | |||
3256 | static | 3225 | static |
3257 | PSTxMgmtPacket | 3226 | PSTxMgmtPacket |
3258 | s_MgrMakeBeacon( | 3227 | s_MgrMakeBeacon( |
3259 | IN PSDevice pDevice, | 3228 | PSDevice pDevice, |
3260 | IN PSMgmtObject pMgmt, | 3229 | PSMgmtObject pMgmt, |
3261 | IN WORD wCurrCapInfo, | 3230 | WORD wCurrCapInfo, |
3262 | IN WORD wCurrBeaconPeriod, | 3231 | WORD wCurrBeaconPeriod, |
3263 | IN UINT uCurrChannel, | 3232 | unsigned int uCurrChannel, |
3264 | IN WORD wCurrATIMWinodw, | 3233 | WORD wCurrATIMWinodw, |
3265 | IN PWLAN_IE_SSID pCurrSSID, | 3234 | PWLAN_IE_SSID pCurrSSID, |
3266 | IN PBYTE pCurrBSSID, | 3235 | PBYTE pCurrBSSID, |
3267 | IN PWLAN_IE_SUPP_RATES pCurrSuppRates, | 3236 | PWLAN_IE_SUPP_RATES pCurrSuppRates, |
3268 | IN PWLAN_IE_SUPP_RATES pCurrExtSuppRates | 3237 | PWLAN_IE_SUPP_RATES pCurrExtSuppRates |
3269 | ) | 3238 | ) |
3270 | { | 3239 | { |
3271 | PSTxMgmtPacket pTxPacket = NULL; | 3240 | PSTxMgmtPacket pTxPacket = NULL; |
@@ -3430,18 +3399,18 @@ s_MgrMakeBeacon( | |||
3430 | 3399 | ||
3431 | PSTxMgmtPacket | 3400 | PSTxMgmtPacket |
3432 | s_MgrMakeProbeResponse( | 3401 | s_MgrMakeProbeResponse( |
3433 | IN PSDevice pDevice, | 3402 | PSDevice pDevice, |
3434 | IN PSMgmtObject pMgmt, | 3403 | PSMgmtObject pMgmt, |
3435 | IN WORD wCurrCapInfo, | 3404 | WORD wCurrCapInfo, |
3436 | IN WORD wCurrBeaconPeriod, | 3405 | WORD wCurrBeaconPeriod, |
3437 | IN UINT uCurrChannel, | 3406 | unsigned int uCurrChannel, |
3438 | IN WORD wCurrATIMWinodw, | 3407 | WORD wCurrATIMWinodw, |
3439 | IN PBYTE pDstAddr, | 3408 | PBYTE pDstAddr, |
3440 | IN PWLAN_IE_SSID pCurrSSID, | 3409 | PWLAN_IE_SSID pCurrSSID, |
3441 | IN PBYTE pCurrBSSID, | 3410 | PBYTE pCurrBSSID, |
3442 | IN PWLAN_IE_SUPP_RATES pCurrSuppRates, | 3411 | PWLAN_IE_SUPP_RATES pCurrSuppRates, |
3443 | IN PWLAN_IE_SUPP_RATES pCurrExtSuppRates, | 3412 | PWLAN_IE_SUPP_RATES pCurrExtSuppRates, |
3444 | IN BYTE byPHYType | 3413 | BYTE byPHYType |
3445 | ) | 3414 | ) |
3446 | { | 3415 | { |
3447 | PSTxMgmtPacket pTxPacket = NULL; | 3416 | PSTxMgmtPacket pTxPacket = NULL; |
@@ -3562,14 +3531,14 @@ s_MgrMakeProbeResponse( | |||
3562 | 3531 | ||
3563 | PSTxMgmtPacket | 3532 | PSTxMgmtPacket |
3564 | s_MgrMakeAssocRequest( | 3533 | s_MgrMakeAssocRequest( |
3565 | IN PSDevice pDevice, | 3534 | PSDevice pDevice, |
3566 | IN PSMgmtObject pMgmt, | 3535 | PSMgmtObject pMgmt, |
3567 | IN PBYTE pDAddr, | 3536 | PBYTE pDAddr, |
3568 | IN WORD wCurrCapInfo, | 3537 | WORD wCurrCapInfo, |
3569 | IN WORD wListenInterval, | 3538 | WORD wListenInterval, |
3570 | IN PWLAN_IE_SSID pCurrSSID, | 3539 | PWLAN_IE_SSID pCurrSSID, |
3571 | IN PWLAN_IE_SUPP_RATES pCurrRates, | 3540 | PWLAN_IE_SUPP_RATES pCurrRates, |
3572 | IN PWLAN_IE_SUPP_RATES pCurrExtSuppRates | 3541 | PWLAN_IE_SUPP_RATES pCurrExtSuppRates |
3573 | ) | 3542 | ) |
3574 | { | 3543 | { |
3575 | PSTxMgmtPacket pTxPacket = NULL; | 3544 | PSTxMgmtPacket pTxPacket = NULL; |
@@ -3704,7 +3673,7 @@ s_MgrMakeAssocRequest( | |||
3704 | } else if (((pMgmt->eAuthenMode == WMAC_AUTH_WPA2) || | 3673 | } else if (((pMgmt->eAuthenMode == WMAC_AUTH_WPA2) || |
3705 | (pMgmt->eAuthenMode == WMAC_AUTH_WPA2PSK)) && | 3674 | (pMgmt->eAuthenMode == WMAC_AUTH_WPA2PSK)) && |
3706 | (pMgmt->pCurrBSS != NULL)) { | 3675 | (pMgmt->pCurrBSS != NULL)) { |
3707 | UINT ii; | 3676 | unsigned int ii; |
3708 | PWORD pwPMKID; | 3677 | PWORD pwPMKID; |
3709 | 3678 | ||
3710 | // WPA IE | 3679 | // WPA IE |
@@ -3773,13 +3742,17 @@ s_MgrMakeAssocRequest( | |||
3773 | pwPMKID = (PWORD)pbyRSN; // Point to PMKID count | 3742 | pwPMKID = (PWORD)pbyRSN; // Point to PMKID count |
3774 | *pwPMKID = 0; // Initialize PMKID count | 3743 | *pwPMKID = 0; // Initialize PMKID count |
3775 | pbyRSN += 2; // Point to PMKID list | 3744 | pbyRSN += 2; // Point to PMKID list |
3776 | for (ii = 0; ii < pDevice->gsPMKID.BSSIDInfoCount; ii++) { | 3745 | for (ii = 0; ii < pDevice->gsPMKID.BSSIDInfoCount; ii++) { |
3777 | if ( !memcmp(&pDevice->gsPMKID.BSSIDInfo[ii].BSSID[0], pMgmt->abyCurrBSSID, U_ETHER_ADDR_LEN)) { | 3746 | if (!memcmp(&pDevice->gsPMKID.BSSIDInfo[ii].BSSID[0], |
3778 | (*pwPMKID) ++; | 3747 | pMgmt->abyCurrBSSID, |
3779 | memcpy(pbyRSN, pDevice->gsPMKID.BSSIDInfo[ii].PMKID, 16); | 3748 | ETH_ALEN)) { |
3780 | pbyRSN += 16; | 3749 | (*pwPMKID)++; |
3781 | } | 3750 | memcpy(pbyRSN, |
3782 | } | 3751 | pDevice->gsPMKID.BSSIDInfo[ii].PMKID, |
3752 | 16); | ||
3753 | pbyRSN += 16; | ||
3754 | } | ||
3755 | } | ||
3783 | if (*pwPMKID != 0) { | 3756 | if (*pwPMKID != 0) { |
3784 | sFrame.pRSN->len += (2 + (*pwPMKID)*16); | 3757 | sFrame.pRSN->len += (2 + (*pwPMKID)*16); |
3785 | } | 3758 | } |
@@ -3820,14 +3793,14 @@ s_MgrMakeAssocRequest( | |||
3820 | 3793 | ||
3821 | PSTxMgmtPacket | 3794 | PSTxMgmtPacket |
3822 | s_MgrMakeReAssocRequest( | 3795 | s_MgrMakeReAssocRequest( |
3823 | IN PSDevice pDevice, | 3796 | PSDevice pDevice, |
3824 | IN PSMgmtObject pMgmt, | 3797 | PSMgmtObject pMgmt, |
3825 | IN PBYTE pDAddr, | 3798 | PBYTE pDAddr, |
3826 | IN WORD wCurrCapInfo, | 3799 | WORD wCurrCapInfo, |
3827 | IN WORD wListenInterval, | 3800 | WORD wListenInterval, |
3828 | IN PWLAN_IE_SSID pCurrSSID, | 3801 | PWLAN_IE_SSID pCurrSSID, |
3829 | IN PWLAN_IE_SUPP_RATES pCurrRates, | 3802 | PWLAN_IE_SUPP_RATES pCurrRates, |
3830 | IN PWLAN_IE_SUPP_RATES pCurrExtSuppRates | 3803 | PWLAN_IE_SUPP_RATES pCurrExtSuppRates |
3831 | ) | 3804 | ) |
3832 | { | 3805 | { |
3833 | PSTxMgmtPacket pTxPacket = NULL; | 3806 | PSTxMgmtPacket pTxPacket = NULL; |
@@ -3960,7 +3933,7 @@ s_MgrMakeReAssocRequest( | |||
3960 | } else if (((pMgmt->eAuthenMode == WMAC_AUTH_WPA2) || | 3933 | } else if (((pMgmt->eAuthenMode == WMAC_AUTH_WPA2) || |
3961 | (pMgmt->eAuthenMode == WMAC_AUTH_WPA2PSK)) && | 3934 | (pMgmt->eAuthenMode == WMAC_AUTH_WPA2PSK)) && |
3962 | (pMgmt->pCurrBSS != NULL)) { | 3935 | (pMgmt->pCurrBSS != NULL)) { |
3963 | UINT ii; | 3936 | unsigned int ii; |
3964 | PWORD pwPMKID; | 3937 | PWORD pwPMKID; |
3965 | 3938 | ||
3966 | /* WPA IE */ | 3939 | /* WPA IE */ |
@@ -4030,10 +4003,14 @@ s_MgrMakeReAssocRequest( | |||
4030 | *pwPMKID = 0; // Initialize PMKID count | 4003 | *pwPMKID = 0; // Initialize PMKID count |
4031 | pbyRSN += 2; // Point to PMKID list | 4004 | pbyRSN += 2; // Point to PMKID list |
4032 | for (ii = 0; ii < pDevice->gsPMKID.BSSIDInfoCount; ii++) { | 4005 | for (ii = 0; ii < pDevice->gsPMKID.BSSIDInfoCount; ii++) { |
4033 | if ( !memcmp(&pDevice->gsPMKID.BSSIDInfo[ii].BSSID[0], pMgmt->abyCurrBSSID, U_ETHER_ADDR_LEN)) { | 4006 | if (!memcmp(&pDevice->gsPMKID.BSSIDInfo[ii].BSSID[0], |
4034 | (*pwPMKID) ++; | 4007 | pMgmt->abyCurrBSSID, |
4035 | memcpy(pbyRSN, pDevice->gsPMKID.BSSIDInfo[ii].PMKID, 16); | 4008 | ETH_ALEN)) { |
4036 | pbyRSN += 16; | 4009 | (*pwPMKID)++; |
4010 | memcpy(pbyRSN, | ||
4011 | pDevice->gsPMKID.BSSIDInfo[ii].PMKID, | ||
4012 | 16); | ||
4013 | pbyRSN += 16; | ||
4037 | } | 4014 | } |
4038 | } | 4015 | } |
4039 | if (*pwPMKID != 0) { | 4016 | if (*pwPMKID != 0) { |
@@ -4057,8 +4034,6 @@ s_MgrMakeReAssocRequest( | |||
4057 | return pTxPacket; | 4034 | return pTxPacket; |
4058 | } | 4035 | } |
4059 | 4036 | ||
4060 | |||
4061 | |||
4062 | /*+ | 4037 | /*+ |
4063 | * | 4038 | * |
4064 | * Routine Description: | 4039 | * Routine Description: |
@@ -4070,17 +4045,16 @@ s_MgrMakeReAssocRequest( | |||
4070 | * | 4045 | * |
4071 | -*/ | 4046 | -*/ |
4072 | 4047 | ||
4073 | |||
4074 | PSTxMgmtPacket | 4048 | PSTxMgmtPacket |
4075 | s_MgrMakeAssocResponse( | 4049 | s_MgrMakeAssocResponse( |
4076 | IN PSDevice pDevice, | 4050 | PSDevice pDevice, |
4077 | IN PSMgmtObject pMgmt, | 4051 | PSMgmtObject pMgmt, |
4078 | IN WORD wCurrCapInfo, | 4052 | WORD wCurrCapInfo, |
4079 | IN WORD wAssocStatus, | 4053 | WORD wAssocStatus, |
4080 | IN WORD wAssocAID, | 4054 | WORD wAssocAID, |
4081 | IN PBYTE pDstAddr, | 4055 | PBYTE pDstAddr, |
4082 | IN PWLAN_IE_SUPP_RATES pCurrSuppRates, | 4056 | PWLAN_IE_SUPP_RATES pCurrSuppRates, |
4083 | IN PWLAN_IE_SUPP_RATES pCurrExtSuppRates | 4057 | PWLAN_IE_SUPP_RATES pCurrExtSuppRates |
4084 | ) | 4058 | ) |
4085 | { | 4059 | { |
4086 | PSTxMgmtPacket pTxPacket = NULL; | 4060 | PSTxMgmtPacket pTxPacket = NULL; |
@@ -4147,14 +4121,14 @@ s_MgrMakeAssocResponse( | |||
4147 | 4121 | ||
4148 | PSTxMgmtPacket | 4122 | PSTxMgmtPacket |
4149 | s_MgrMakeReAssocResponse( | 4123 | s_MgrMakeReAssocResponse( |
4150 | IN PSDevice pDevice, | 4124 | PSDevice pDevice, |
4151 | IN PSMgmtObject pMgmt, | 4125 | PSMgmtObject pMgmt, |
4152 | IN WORD wCurrCapInfo, | 4126 | WORD wCurrCapInfo, |
4153 | IN WORD wAssocStatus, | 4127 | WORD wAssocStatus, |
4154 | IN WORD wAssocAID, | 4128 | WORD wAssocAID, |
4155 | IN PBYTE pDstAddr, | 4129 | PBYTE pDstAddr, |
4156 | IN PWLAN_IE_SUPP_RATES pCurrSuppRates, | 4130 | PWLAN_IE_SUPP_RATES pCurrSuppRates, |
4157 | IN PWLAN_IE_SUPP_RATES pCurrExtSuppRates | 4131 | PWLAN_IE_SUPP_RATES pCurrExtSuppRates |
4158 | ) | 4132 | ) |
4159 | { | 4133 | { |
4160 | PSTxMgmtPacket pTxPacket = NULL; | 4134 | PSTxMgmtPacket pTxPacket = NULL; |
@@ -4219,11 +4193,11 @@ s_MgrMakeReAssocResponse( | |||
4219 | -*/ | 4193 | -*/ |
4220 | 4194 | ||
4221 | static | 4195 | static |
4222 | VOID | 4196 | void |
4223 | s_vMgrRxProbeResponse( | 4197 | s_vMgrRxProbeResponse( |
4224 | IN PSDevice pDevice, | 4198 | PSDevice pDevice, |
4225 | IN PSMgmtObject pMgmt, | 4199 | PSMgmtObject pMgmt, |
4226 | IN PSRxMgmtPacket pRxPacket | 4200 | PSRxMgmtPacket pRxPacket |
4227 | ) | 4201 | ) |
4228 | { | 4202 | { |
4229 | PKnownBSS pBSSList = NULL; | 4203 | PKnownBSS pBSSList = NULL; |
@@ -4239,14 +4213,16 @@ s_vMgrRxProbeResponse( | |||
4239 | sFrame.pBuf = (PBYTE)pRxPacket->p80211Header; | 4213 | sFrame.pBuf = (PBYTE)pRxPacket->p80211Header; |
4240 | vMgrDecodeProbeResponse(&sFrame); | 4214 | vMgrDecodeProbeResponse(&sFrame); |
4241 | 4215 | ||
4242 | if ((sFrame.pqwTimestamp == 0) || | 4216 | if ((sFrame.pqwTimestamp == NULL) |
4243 | (sFrame.pwBeaconInterval == 0) || | 4217 | || (sFrame.pwBeaconInterval == NULL) |
4244 | (sFrame.pwCapInfo == 0) || | 4218 | || (sFrame.pwCapInfo == NULL) |
4245 | (sFrame.pSSID == 0) || | 4219 | || (sFrame.pSSID == NULL) |
4246 | (sFrame.pSuppRates == 0)) { | 4220 | || (sFrame.pSuppRates == NULL)) { |
4247 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "Probe resp:Fail addr:[%p] \n", pRxPacket->p80211Header); | 4221 | |
4248 | DBG_PORT80(0xCC); | 4222 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "Probe resp:Fail addr:[%p]\n", |
4249 | return; | 4223 | pRxPacket->p80211Header); |
4224 | DBG_PORT80(0xCC); | ||
4225 | return; | ||
4250 | }; | 4226 | }; |
4251 | 4227 | ||
4252 | if(sFrame.pSSID->len == 0) | 4228 | if(sFrame.pSSID->len == 0) |
@@ -4256,22 +4232,23 @@ s_vMgrRxProbeResponse( | |||
4256 | //{{ RobertYu:20050201, 11a byCurrChannel != sFrame.pDSParms->byCurrChannel mapping | 4232 | //{{ RobertYu:20050201, 11a byCurrChannel != sFrame.pDSParms->byCurrChannel mapping |
4257 | if( byCurrChannel > CB_MAX_CHANNEL_24G ) | 4233 | if( byCurrChannel > CB_MAX_CHANNEL_24G ) |
4258 | { | 4234 | { |
4259 | if (sFrame.pDSParms != 0) { | 4235 | if (sFrame.pDSParms) { |
4260 | if (byCurrChannel == RFaby11aChannelIndex[sFrame.pDSParms->byCurrChannel-1]) | 4236 | if (byCurrChannel == |
4261 | bChannelHit = TRUE; | 4237 | RFaby11aChannelIndex[sFrame.pDSParms->byCurrChannel-1]) |
4262 | byCurrChannel = RFaby11aChannelIndex[sFrame.pDSParms->byCurrChannel-1]; | 4238 | bChannelHit = TRUE; |
4239 | byCurrChannel = | ||
4240 | RFaby11aChannelIndex[sFrame.pDSParms->byCurrChannel-1]; | ||
4263 | } else { | 4241 | } else { |
4264 | bChannelHit = TRUE; | 4242 | bChannelHit = TRUE; |
4265 | } | 4243 | } |
4266 | |||
4267 | } else { | 4244 | } else { |
4268 | if (sFrame.pDSParms != 0) { | 4245 | if (sFrame.pDSParms) { |
4269 | if (byCurrChannel == sFrame.pDSParms->byCurrChannel) | 4246 | if (byCurrChannel == sFrame.pDSParms->byCurrChannel) |
4270 | bChannelHit = TRUE; | 4247 | bChannelHit = TRUE; |
4271 | byCurrChannel = sFrame.pDSParms->byCurrChannel; | 4248 | byCurrChannel = sFrame.pDSParms->byCurrChannel; |
4272 | } else { | 4249 | } else { |
4273 | bChannelHit = TRUE; | 4250 | bChannelHit = TRUE; |
4274 | } | 4251 | } |
4275 | } | 4252 | } |
4276 | //RobertYu:20050201 | 4253 | //RobertYu:20050201 |
4277 | 4254 | ||
@@ -4279,7 +4256,7 @@ s_vMgrRxProbeResponse( | |||
4279 | if(ChannelExceedZoneType(pDevice,byCurrChannel)==TRUE) | 4256 | if(ChannelExceedZoneType(pDevice,byCurrChannel)==TRUE) |
4280 | return; | 4257 | return; |
4281 | 4258 | ||
4282 | if (sFrame.pERP != NULL) { | 4259 | if (sFrame.pERP) { |
4283 | sERP.byERP = sFrame.pERP->byContext; | 4260 | sERP.byERP = sFrame.pERP->byContext; |
4284 | sERP.bERPExist = TRUE; | 4261 | sERP.bERPExist = TRUE; |
4285 | } else { | 4262 | } else { |
@@ -4289,31 +4266,32 @@ if(ChannelExceedZoneType(pDevice,byCurrChannel)==TRUE) | |||
4289 | 4266 | ||
4290 | 4267 | ||
4291 | // update or insert the bss | 4268 | // update or insert the bss |
4292 | pBSSList = BSSpAddrIsInBSSList((HANDLE)pDevice, sFrame.pHdr->sA3.abyAddr3, sFrame.pSSID); | 4269 | pBSSList = BSSpAddrIsInBSSList((void *) pDevice, |
4270 | sFrame.pHdr->sA3.abyAddr3, | ||
4271 | sFrame.pSSID); | ||
4293 | if (pBSSList) { | 4272 | if (pBSSList) { |
4294 | BSSbUpdateToBSSList((HANDLE)pDevice, | 4273 | BSSbUpdateToBSSList((void *) pDevice, |
4295 | *sFrame.pqwTimestamp, | 4274 | *sFrame.pqwTimestamp, |
4296 | *sFrame.pwBeaconInterval, | 4275 | *sFrame.pwBeaconInterval, |
4297 | *sFrame.pwCapInfo, | 4276 | *sFrame.pwCapInfo, |
4298 | byCurrChannel, | 4277 | byCurrChannel, |
4299 | bChannelHit, | 4278 | bChannelHit, |
4300 | sFrame.pSSID, | 4279 | sFrame.pSSID, |
4301 | sFrame.pSuppRates, | 4280 | sFrame.pSuppRates, |
4302 | sFrame.pExtSuppRates, | 4281 | sFrame.pExtSuppRates, |
4303 | &sERP, | 4282 | &sERP, |
4304 | sFrame.pRSN, | 4283 | sFrame.pRSN, |
4305 | sFrame.pRSNWPA, | 4284 | sFrame.pRSNWPA, |
4306 | sFrame.pIE_Country, | 4285 | sFrame.pIE_Country, |
4307 | sFrame.pIE_Quiet, | 4286 | sFrame.pIE_Quiet, |
4308 | pBSSList, | 4287 | pBSSList, |
4309 | sFrame.len - WLAN_HDR_ADDR3_LEN, | 4288 | sFrame.len - WLAN_HDR_ADDR3_LEN, |
4310 | sFrame.pHdr->sA4.abyAddr4, // payload of probresponse | 4289 | /* payload of probresponse */ |
4311 | (HANDLE)pRxPacket | 4290 | sFrame.pHdr->sA4.abyAddr4, |
4312 | ); | 4291 | (void *) pRxPacket); |
4313 | } | 4292 | } else { |
4314 | else { | ||
4315 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"Probe resp/insert: RxChannel = : %d\n", byCurrChannel); | 4293 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"Probe resp/insert: RxChannel = : %d\n", byCurrChannel); |
4316 | BSSbInsertToBSSList((HANDLE)pDevice, | 4294 | BSSbInsertToBSSList((void *) pDevice, |
4317 | sFrame.pHdr->sA3.abyAddr3, | 4295 | sFrame.pHdr->sA3.abyAddr3, |
4318 | *sFrame.pqwTimestamp, | 4296 | *sFrame.pqwTimestamp, |
4319 | *sFrame.pwBeaconInterval, | 4297 | *sFrame.pwBeaconInterval, |
@@ -4328,9 +4306,8 @@ if(ChannelExceedZoneType(pDevice,byCurrChannel)==TRUE) | |||
4328 | sFrame.pIE_Country, | 4306 | sFrame.pIE_Country, |
4329 | sFrame.pIE_Quiet, | 4307 | sFrame.pIE_Quiet, |
4330 | sFrame.len - WLAN_HDR_ADDR3_LEN, | 4308 | sFrame.len - WLAN_HDR_ADDR3_LEN, |
4331 | sFrame.pHdr->sA4.abyAddr4, // payload of beacon | 4309 | sFrame.pHdr->sA4.abyAddr4, /* payload of beacon */ |
4332 | (HANDLE)pRxPacket | 4310 | (void *) pRxPacket); |
4333 | ); | ||
4334 | } | 4311 | } |
4335 | return; | 4312 | return; |
4336 | 4313 | ||
@@ -4349,11 +4326,11 @@ if(ChannelExceedZoneType(pDevice,byCurrChannel)==TRUE) | |||
4349 | 4326 | ||
4350 | 4327 | ||
4351 | static | 4328 | static |
4352 | VOID | 4329 | void |
4353 | s_vMgrRxProbeRequest( | 4330 | s_vMgrRxProbeRequest( |
4354 | IN PSDevice pDevice, | 4331 | PSDevice pDevice, |
4355 | IN PSMgmtObject pMgmt, | 4332 | PSMgmtObject pMgmt, |
4356 | IN PSRxMgmtPacket pRxPacket | 4333 | PSRxMgmtPacket pRxPacket |
4357 | ) | 4334 | ) |
4358 | { | 4335 | { |
4359 | WLAN_FR_PROBEREQ sFrame; | 4336 | WLAN_FR_PROBEREQ sFrame; |
@@ -4426,10 +4403,6 @@ s_vMgrRxProbeRequest( | |||
4426 | return; | 4403 | return; |
4427 | } | 4404 | } |
4428 | 4405 | ||
4429 | |||
4430 | |||
4431 | |||
4432 | |||
4433 | /*+ | 4406 | /*+ |
4434 | * | 4407 | * |
4435 | * Routine Description: | 4408 | * Routine Description: |
@@ -4444,17 +4417,13 @@ s_vMgrRxProbeRequest( | |||
4444 | * | 4417 | * |
4445 | -*/ | 4418 | -*/ |
4446 | 4419 | ||
4447 | 4420 | void vMgrRxManagePacket(void *hDeviceContext, | |
4448 | VOID | 4421 | PSMgmtObject pMgmt, |
4449 | vMgrRxManagePacket( | 4422 | PSRxMgmtPacket pRxPacket) |
4450 | IN HANDLE hDeviceContext, | ||
4451 | IN PSMgmtObject pMgmt, | ||
4452 | IN PSRxMgmtPacket pRxPacket | ||
4453 | ) | ||
4454 | { | 4423 | { |
4455 | PSDevice pDevice = (PSDevice)hDeviceContext; | 4424 | PSDevice pDevice = (PSDevice)hDeviceContext; |
4456 | BOOL bInScan = FALSE; | 4425 | BOOL bInScan = FALSE; |
4457 | UINT uNodeIndex = 0; | 4426 | unsigned int uNodeIndex = 0; |
4458 | NODE_STATE eNodeState = 0; | 4427 | NODE_STATE eNodeState = 0; |
4459 | CMD_STATUS Status; | 4428 | CMD_STATUS Status; |
4460 | 4429 | ||
@@ -4583,9 +4552,6 @@ vMgrRxManagePacket( | |||
4583 | return; | 4552 | return; |
4584 | } | 4553 | } |
4585 | 4554 | ||
4586 | |||
4587 | |||
4588 | |||
4589 | /*+ | 4555 | /*+ |
4590 | * | 4556 | * |
4591 | * Routine Description: | 4557 | * Routine Description: |
@@ -4597,11 +4563,7 @@ vMgrRxManagePacket( | |||
4597 | * TRUE if success; FALSE if failed. | 4563 | * TRUE if success; FALSE if failed. |
4598 | * | 4564 | * |
4599 | -*/ | 4565 | -*/ |
4600 | BOOL | 4566 | BOOL bMgrPrepareBeaconToSend(void *hDeviceContext, PSMgmtObject pMgmt) |
4601 | bMgrPrepareBeaconToSend( | ||
4602 | IN HANDLE hDeviceContext, | ||
4603 | IN PSMgmtObject pMgmt | ||
4604 | ) | ||
4605 | { | 4567 | { |
4606 | PSDevice pDevice = (PSDevice)hDeviceContext; | 4568 | PSDevice pDevice = (PSDevice)hDeviceContext; |
4607 | PSTxMgmtPacket pTxPacket; | 4569 | PSTxMgmtPacket pTxPacket; |
@@ -4653,10 +4615,10 @@ bMgrPrepareBeaconToSend( | |||
4653 | * | 4615 | * |
4654 | -*/ | 4616 | -*/ |
4655 | static | 4617 | static |
4656 | VOID | 4618 | void |
4657 | s_vMgrLogStatus( | 4619 | s_vMgrLogStatus( |
4658 | IN PSMgmtObject pMgmt, | 4620 | PSMgmtObject pMgmt, |
4659 | IN WORD wStatus | 4621 | WORD wStatus |
4660 | ) | 4622 | ) |
4661 | { | 4623 | { |
4662 | switch( wStatus ){ | 4624 | switch( wStatus ){ |
@@ -4705,7 +4667,6 @@ s_vMgrLogStatus( | |||
4705 | } | 4667 | } |
4706 | } | 4668 | } |
4707 | 4669 | ||
4708 | |||
4709 | /* | 4670 | /* |
4710 | * | 4671 | * |
4711 | * Description: | 4672 | * Description: |
@@ -4722,16 +4683,14 @@ s_vMgrLogStatus( | |||
4722 | * Return Value: none. | 4683 | * Return Value: none. |
4723 | * | 4684 | * |
4724 | -*/ | 4685 | -*/ |
4725 | BOOL | 4686 | |
4726 | bAdd_PMKID_Candidate ( | 4687 | BOOL bAdd_PMKID_Candidate(void *hDeviceContext, |
4727 | IN HANDLE hDeviceContext, | 4688 | PBYTE pbyBSSID, |
4728 | IN PBYTE pbyBSSID, | 4689 | PSRSNCapObject psRSNCapObj) |
4729 | IN PSRSNCapObject psRSNCapObj | ||
4730 | ) | ||
4731 | { | 4690 | { |
4732 | PSDevice pDevice = (PSDevice)hDeviceContext; | 4691 | PSDevice pDevice = (PSDevice)hDeviceContext; |
4733 | PPMKID_CANDIDATE pCandidateList; | 4692 | PPMKID_CANDIDATE pCandidateList; |
4734 | UINT ii = 0; | 4693 | unsigned int ii = 0; |
4735 | 4694 | ||
4736 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"bAdd_PMKID_Candidate START: (%d)\n", (int)pDevice->gsPMKIDCandidate.NumCandidates); | 4695 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"bAdd_PMKID_Candidate START: (%d)\n", (int)pDevice->gsPMKIDCandidate.NumCandidates); |
4737 | 4696 | ||
@@ -4745,13 +4704,16 @@ bAdd_PMKID_Candidate ( | |||
4745 | 4704 | ||
4746 | // Update Old Candidate | 4705 | // Update Old Candidate |
4747 | for (ii = 0; ii < pDevice->gsPMKIDCandidate.NumCandidates; ii++) { | 4706 | for (ii = 0; ii < pDevice->gsPMKIDCandidate.NumCandidates; ii++) { |
4748 | pCandidateList = &pDevice->gsPMKIDCandidate.CandidateList[ii]; | 4707 | pCandidateList = &pDevice->gsPMKIDCandidate.CandidateList[ii]; |
4749 | if ( !memcmp(pCandidateList->BSSID, pbyBSSID, U_ETHER_ADDR_LEN)) { | 4708 | if (!memcmp(pCandidateList->BSSID, pbyBSSID, ETH_ALEN)) { |
4750 | if ((psRSNCapObj->bRSNCapExist == TRUE) && (psRSNCapObj->wRSNCap & BIT0)) { | 4709 | if ((psRSNCapObj->bRSNCapExist == TRUE) |
4751 | pCandidateList->Flags |= NDIS_802_11_PMKID_CANDIDATE_PREAUTH_ENABLED; | 4710 | && (psRSNCapObj->wRSNCap & BIT0)) { |
4752 | } else { | 4711 | pCandidateList->Flags |= |
4753 | pCandidateList->Flags &= ~(NDIS_802_11_PMKID_CANDIDATE_PREAUTH_ENABLED); | 4712 | NDIS_802_11_PMKID_CANDIDATE_PREAUTH_ENABLED; |
4754 | } | 4713 | } else { |
4714 | pCandidateList->Flags &= | ||
4715 | ~(NDIS_802_11_PMKID_CANDIDATE_PREAUTH_ENABLED); | ||
4716 | } | ||
4755 | return TRUE; | 4717 | return TRUE; |
4756 | } | 4718 | } |
4757 | } | 4719 | } |
@@ -4763,7 +4725,7 @@ bAdd_PMKID_Candidate ( | |||
4763 | } else { | 4725 | } else { |
4764 | pCandidateList->Flags &= ~(NDIS_802_11_PMKID_CANDIDATE_PREAUTH_ENABLED); | 4726 | pCandidateList->Flags &= ~(NDIS_802_11_PMKID_CANDIDATE_PREAUTH_ENABLED); |
4765 | } | 4727 | } |
4766 | memcpy(pCandidateList->BSSID, pbyBSSID, U_ETHER_ADDR_LEN); | 4728 | memcpy(pCandidateList->BSSID, pbyBSSID, ETH_ALEN); |
4767 | pDevice->gsPMKIDCandidate.NumCandidates++; | 4729 | pDevice->gsPMKIDCandidate.NumCandidates++; |
4768 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"NumCandidates:%d\n", (int)pDevice->gsPMKIDCandidate.NumCandidates); | 4730 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"NumCandidates:%d\n", (int)pDevice->gsPMKIDCandidate.NumCandidates); |
4769 | return TRUE; | 4731 | return TRUE; |
@@ -4783,10 +4745,8 @@ bAdd_PMKID_Candidate ( | |||
4783 | * Return Value: none. | 4745 | * Return Value: none. |
4784 | * | 4746 | * |
4785 | -*/ | 4747 | -*/ |
4786 | VOID | 4748 | |
4787 | vFlush_PMKID_Candidate ( | 4749 | void vFlush_PMKID_Candidate(void *hDeviceContext) |
4788 | IN HANDLE hDeviceContext | ||
4789 | ) | ||
4790 | { | 4750 | { |
4791 | PSDevice pDevice = (PSDevice)hDeviceContext; | 4751 | PSDevice pDevice = (PSDevice)hDeviceContext; |
4792 | 4752 | ||
@@ -4798,10 +4758,10 @@ vFlush_PMKID_Candidate ( | |||
4798 | 4758 | ||
4799 | static BOOL | 4759 | static BOOL |
4800 | s_bCipherMatch ( | 4760 | s_bCipherMatch ( |
4801 | IN PKnownBSS pBSSNode, | 4761 | PKnownBSS pBSSNode, |
4802 | IN NDIS_802_11_ENCRYPTION_STATUS EncStatus, | 4762 | NDIS_802_11_ENCRYPTION_STATUS EncStatus, |
4803 | OUT PBYTE pbyCCSPK, | 4763 | PBYTE pbyCCSPK, |
4804 | OUT PBYTE pbyCCSGK | 4764 | PBYTE pbyCCSGK |
4805 | ) | 4765 | ) |
4806 | { | 4766 | { |
4807 | BYTE byMulticastCipher = KEY_CTL_INVALID; | 4767 | BYTE byMulticastCipher = KEY_CTL_INVALID; |
diff --git a/drivers/staging/vt6656/wmgr.h b/drivers/staging/vt6656/wmgr.h index c682a7fcbef..1e5b916aea1 100644 --- a/drivers/staging/vt6656/wmgr.h +++ b/drivers/staging/vt6656/wmgr.h | |||
@@ -84,37 +84,37 @@ | |||
84 | //mike define: make timer to expire after desired times | 84 | //mike define: make timer to expire after desired times |
85 | #define timer_expire(timer,next_tick) mod_timer(&timer, RUN_AT(next_tick)) | 85 | #define timer_expire(timer,next_tick) mod_timer(&timer, RUN_AT(next_tick)) |
86 | 86 | ||
87 | typedef void (*TimerFunction)(ULONG); | 87 | typedef void (*TimerFunction)(unsigned long); |
88 | 88 | ||
89 | 89 | ||
90 | //+++ NDIS related | 90 | //+++ NDIS related |
91 | 91 | ||
92 | typedef UCHAR NDIS_802_11_MAC_ADDRESS[6]; | 92 | typedef unsigned char NDIS_802_11_MAC_ADDRESS[ETH_ALEN]; |
93 | typedef struct _NDIS_802_11_AI_REQFI | 93 | typedef struct _NDIS_802_11_AI_REQFI |
94 | { | 94 | { |
95 | USHORT Capabilities; | 95 | unsigned short Capabilities; |
96 | USHORT ListenInterval; | 96 | unsigned short ListenInterval; |
97 | NDIS_802_11_MAC_ADDRESS CurrentAPAddress; | 97 | NDIS_802_11_MAC_ADDRESS CurrentAPAddress; |
98 | } NDIS_802_11_AI_REQFI, *PNDIS_802_11_AI_REQFI; | 98 | } NDIS_802_11_AI_REQFI, *PNDIS_802_11_AI_REQFI; |
99 | 99 | ||
100 | typedef struct _NDIS_802_11_AI_RESFI | 100 | typedef struct _NDIS_802_11_AI_RESFI |
101 | { | 101 | { |
102 | USHORT Capabilities; | 102 | unsigned short Capabilities; |
103 | USHORT StatusCode; | 103 | unsigned short StatusCode; |
104 | USHORT AssociationId; | 104 | unsigned short AssociationId; |
105 | } NDIS_802_11_AI_RESFI, *PNDIS_802_11_AI_RESFI; | 105 | } NDIS_802_11_AI_RESFI, *PNDIS_802_11_AI_RESFI; |
106 | 106 | ||
107 | typedef struct _NDIS_802_11_ASSOCIATION_INFORMATION | 107 | typedef struct _NDIS_802_11_ASSOCIATION_INFORMATION |
108 | { | 108 | { |
109 | ULONG Length; | 109 | unsigned long Length; |
110 | USHORT AvailableRequestFixedIEs; | 110 | unsigned short AvailableRequestFixedIEs; |
111 | NDIS_802_11_AI_REQFI RequestFixedIEs; | 111 | NDIS_802_11_AI_REQFI RequestFixedIEs; |
112 | ULONG RequestIELength; | 112 | unsigned long RequestIELength; |
113 | ULONG OffsetRequestIEs; | 113 | unsigned long OffsetRequestIEs; |
114 | USHORT AvailableResponseFixedIEs; | 114 | unsigned short AvailableResponseFixedIEs; |
115 | NDIS_802_11_AI_RESFI ResponseFixedIEs; | 115 | NDIS_802_11_AI_RESFI ResponseFixedIEs; |
116 | ULONG ResponseIELength; | 116 | unsigned long ResponseIELength; |
117 | ULONG OffsetResponseIEs; | 117 | unsigned long OffsetResponseIEs; |
118 | } NDIS_802_11_ASSOCIATION_INFORMATION, *PNDIS_802_11_ASSOCIATION_INFORMATION; | 118 | } NDIS_802_11_ASSOCIATION_INFORMATION, *PNDIS_802_11_ASSOCIATION_INFORMATION; |
119 | 119 | ||
120 | 120 | ||
@@ -123,7 +123,7 @@ typedef struct tagSAssocInfo { | |||
123 | NDIS_802_11_ASSOCIATION_INFORMATION AssocInfo; | 123 | NDIS_802_11_ASSOCIATION_INFORMATION AssocInfo; |
124 | BYTE abyIEs[WLAN_BEACON_FR_MAXLEN+WLAN_BEACON_FR_MAXLEN]; | 124 | BYTE abyIEs[WLAN_BEACON_FR_MAXLEN+WLAN_BEACON_FR_MAXLEN]; |
125 | // store ReqIEs set by OID_802_11_ASSOCIATION_INFORMATION | 125 | // store ReqIEs set by OID_802_11_ASSOCIATION_INFORMATION |
126 | ULONG RequestIELength; | 126 | unsigned long RequestIELength; |
127 | BYTE abyReqIEs[WLAN_BEACON_FR_MAXLEN]; | 127 | BYTE abyReqIEs[WLAN_BEACON_FR_MAXLEN]; |
128 | } SAssocInfo, *PSAssocInfo; | 128 | } SAssocInfo, *PSAssocInfo; |
129 | //--- | 129 | //--- |
@@ -222,8 +222,8 @@ typedef enum tagWMAC_POWER_MODE { | |||
222 | typedef struct tagSTxMgmtPacket { | 222 | typedef struct tagSTxMgmtPacket { |
223 | 223 | ||
224 | PUWLAN_80211HDR p80211Header; | 224 | PUWLAN_80211HDR p80211Header; |
225 | UINT cbMPDULen; | 225 | unsigned int cbMPDULen; |
226 | UINT cbPayloadLen; | 226 | unsigned int cbPayloadLen; |
227 | 227 | ||
228 | } STxMgmtPacket, *PSTxMgmtPacket; | 228 | } STxMgmtPacket, *PSTxMgmtPacket; |
229 | 229 | ||
@@ -233,9 +233,9 @@ typedef struct tagSRxMgmtPacket { | |||
233 | 233 | ||
234 | PUWLAN_80211HDR p80211Header; | 234 | PUWLAN_80211HDR p80211Header; |
235 | QWORD qwLocalTSF; | 235 | QWORD qwLocalTSF; |
236 | UINT cbMPDULen; | 236 | unsigned int cbMPDULen; |
237 | UINT cbPayloadLen; | 237 | unsigned int cbPayloadLen; |
238 | UINT uRSSI; | 238 | unsigned int uRSSI; |
239 | BYTE bySQ; | 239 | BYTE bySQ; |
240 | BYTE byRxRate; | 240 | BYTE byRxRate; |
241 | BYTE byRxChannel; | 241 | BYTE byRxChannel; |
@@ -246,8 +246,7 @@ typedef struct tagSRxMgmtPacket { | |||
246 | 246 | ||
247 | typedef struct tagSMgmtObject | 247 | typedef struct tagSMgmtObject |
248 | { | 248 | { |
249 | 249 | void *pAdapter; | |
250 | PVOID pAdapter; | ||
251 | // MAC address | 250 | // MAC address |
252 | BYTE abyMACAddr[WLAN_ADDR_LEN]; | 251 | BYTE abyMACAddr[WLAN_ADDR_LEN]; |
253 | 252 | ||
@@ -273,21 +272,21 @@ typedef struct tagSMgmtObject | |||
273 | BOOL bCurrBSSIDFilterOn; | 272 | BOOL bCurrBSSIDFilterOn; |
274 | 273 | ||
275 | // Current state vars | 274 | // Current state vars |
276 | UINT uCurrChannel; | 275 | unsigned int uCurrChannel; |
277 | BYTE abyCurrSuppRates[WLAN_IEHDR_LEN + WLAN_RATES_MAXLEN + 1]; | 276 | BYTE abyCurrSuppRates[WLAN_IEHDR_LEN + WLAN_RATES_MAXLEN + 1]; |
278 | BYTE abyCurrExtSuppRates[WLAN_IEHDR_LEN + WLAN_RATES_MAXLEN + 1]; | 277 | BYTE abyCurrExtSuppRates[WLAN_IEHDR_LEN + WLAN_RATES_MAXLEN + 1]; |
279 | BYTE abyCurrSSID[WLAN_IEHDR_LEN + WLAN_SSID_MAXLEN + 1]; | 278 | BYTE abyCurrSSID[WLAN_IEHDR_LEN + WLAN_SSID_MAXLEN + 1]; |
280 | BYTE abyCurrBSSID[WLAN_BSSID_LEN]; | 279 | BYTE abyCurrBSSID[WLAN_BSSID_LEN]; |
281 | WORD wCurrCapInfo; | 280 | WORD wCurrCapInfo; |
282 | WORD wCurrAID; | 281 | WORD wCurrAID; |
283 | UINT uRSSITrigger; | 282 | unsigned int uRSSITrigger; |
284 | WORD wCurrATIMWindow; | 283 | WORD wCurrATIMWindow; |
285 | WORD wCurrBeaconPeriod; | 284 | WORD wCurrBeaconPeriod; |
286 | BOOL bIsDS; | 285 | BOOL bIsDS; |
287 | BYTE byERPContext; | 286 | BYTE byERPContext; |
288 | 287 | ||
289 | CMD_STATE eCommandState; | 288 | CMD_STATE eCommandState; |
290 | UINT uScanChannel; | 289 | unsigned int uScanChannel; |
291 | 290 | ||
292 | // Desire joinning BSS vars | 291 | // Desire joinning BSS vars |
293 | BYTE abyDesireSSID[WLAN_IEHDR_LEN + WLAN_SSID_MAXLEN + 1]; | 292 | BYTE abyDesireSSID[WLAN_IEHDR_LEN + WLAN_SSID_MAXLEN + 1]; |
@@ -302,22 +301,22 @@ typedef struct tagSMgmtObject | |||
302 | // Adhoc or AP configuration vars | 301 | // Adhoc or AP configuration vars |
303 | WORD wIBSSBeaconPeriod; | 302 | WORD wIBSSBeaconPeriod; |
304 | WORD wIBSSATIMWindow; | 303 | WORD wIBSSATIMWindow; |
305 | UINT uIBSSChannel; | 304 | unsigned int uIBSSChannel; |
306 | BYTE abyIBSSSuppRates[WLAN_IEHDR_LEN + WLAN_RATES_MAXLEN + 1]; | 305 | BYTE abyIBSSSuppRates[WLAN_IEHDR_LEN + WLAN_RATES_MAXLEN + 1]; |
307 | BYTE byAPBBType; | 306 | BYTE byAPBBType; |
308 | BYTE abyWPAIE[MAX_WPA_IE_LEN]; | 307 | BYTE abyWPAIE[MAX_WPA_IE_LEN]; |
309 | WORD wWPAIELen; | 308 | WORD wWPAIELen; |
310 | 309 | ||
311 | UINT uAssocCount; | 310 | unsigned int uAssocCount; |
312 | BOOL bMoreData; | 311 | BOOL bMoreData; |
313 | 312 | ||
314 | // Scan state vars | 313 | // Scan state vars |
315 | WMAC_SCAN_STATE eScanState; | 314 | WMAC_SCAN_STATE eScanState; |
316 | WMAC_SCAN_TYPE eScanType; | 315 | WMAC_SCAN_TYPE eScanType; |
317 | UINT uScanStartCh; | 316 | unsigned int uScanStartCh; |
318 | UINT uScanEndCh; | 317 | unsigned int uScanEndCh; |
319 | WORD wScanSteps; | 318 | WORD wScanSteps; |
320 | UINT uScanBSSType; | 319 | unsigned int uScanBSSType; |
321 | // Desire scannig vars | 320 | // Desire scannig vars |
322 | BYTE abyScanSSID[WLAN_IEHDR_LEN + WLAN_SSID_MAXLEN + 1]; | 321 | BYTE abyScanSSID[WLAN_IEHDR_LEN + WLAN_SSID_MAXLEN + 1]; |
323 | BYTE abyScanBSSID[WLAN_BSSID_LEN]; | 322 | BYTE abyScanBSSID[WLAN_BSSID_LEN]; |
@@ -345,8 +344,8 @@ typedef struct tagSMgmtObject | |||
345 | BYTE abyPSTxMap[MAX_NODE_NUM + 1]; | 344 | BYTE abyPSTxMap[MAX_NODE_NUM + 1]; |
346 | 345 | ||
347 | // managment command related | 346 | // managment command related |
348 | UINT uCmdBusy; | 347 | unsigned int uCmdBusy; |
349 | UINT uCmdHostAPBusy; | 348 | unsigned int uCmdHostAPBusy; |
350 | 349 | ||
351 | // managment packet pool | 350 | // managment packet pool |
352 | PBYTE pbyMgmtPacketPool; | 351 | PBYTE pbyMgmtPacketPool; |
@@ -390,7 +389,7 @@ typedef struct tagSMgmtObject | |||
390 | BOOL bSwitchChannel; | 389 | BOOL bSwitchChannel; |
391 | BYTE byNewChannel; | 390 | BYTE byNewChannel; |
392 | PWLAN_IE_MEASURE_REP pCurrMeasureEIDRep; | 391 | PWLAN_IE_MEASURE_REP pCurrMeasureEIDRep; |
393 | UINT uLengthOfRepEIDs; | 392 | unsigned int uLengthOfRepEIDs; |
394 | BYTE abyCurrentMSRReq[sizeof(STxMgmtPacket) + WLAN_A3FR_MAXLEN]; | 393 | BYTE abyCurrentMSRReq[sizeof(STxMgmtPacket) + WLAN_A3FR_MAXLEN]; |
395 | BYTE abyCurrentMSRRep[sizeof(STxMgmtPacket) + WLAN_A3FR_MAXLEN]; | 394 | BYTE abyCurrentMSRRep[sizeof(STxMgmtPacket) + WLAN_A3FR_MAXLEN]; |
396 | BYTE abyIECountry[WLAN_A3FR_MAXLEN]; | 395 | BYTE abyIECountry[WLAN_A3FR_MAXLEN]; |
@@ -401,102 +400,61 @@ typedef struct tagSMgmtObject | |||
401 | 400 | ||
402 | } SMgmtObject, *PSMgmtObject; | 401 | } SMgmtObject, *PSMgmtObject; |
403 | 402 | ||
404 | |||
405 | /*--------------------- Export Macros ------------------------------*/ | 403 | /*--------------------- Export Macros ------------------------------*/ |
406 | 404 | ||
407 | |||
408 | /*--------------------- Export Functions --------------------------*/ | 405 | /*--------------------- Export Functions --------------------------*/ |
409 | 406 | ||
407 | void vMgrObjectInit(void *hDeviceContext); | ||
410 | 408 | ||
411 | void | 409 | void vMgrAssocBeginSta(void *hDeviceContext, |
412 | vMgrObjectInit( | 410 | PSMgmtObject pMgmt, |
413 | IN HANDLE hDeviceContext | 411 | PCMD_STATUS pStatus); |
414 | ); | ||
415 | 412 | ||
413 | void vMgrReAssocBeginSta(void *hDeviceContext, | ||
414 | PSMgmtObject pMgmt, | ||
415 | PCMD_STATUS pStatus); | ||
416 | 416 | ||
417 | void | 417 | void vMgrDisassocBeginSta(void *hDeviceContext, |
418 | vMgrAssocBeginSta( | 418 | PSMgmtObject pMgmt, |
419 | IN HANDLE hDeviceContext, | 419 | PBYTE abyDestAddress, |
420 | IN PSMgmtObject pMgmt, | 420 | WORD wReason, |
421 | OUT PCMD_STATUS pStatus | 421 | PCMD_STATUS pStatus); |
422 | ); | ||
423 | 422 | ||
424 | VOID | 423 | void vMgrAuthenBeginSta(void *hDeviceContext, |
425 | vMgrReAssocBeginSta( | 424 | PSMgmtObject pMgmt, |
426 | IN HANDLE hDeviceContext, | 425 | PCMD_STATUS pStatus); |
427 | IN PSMgmtObject pMgmt, | ||
428 | OUT PCMD_STATUS pStatus | ||
429 | ); | ||
430 | 426 | ||
431 | VOID | 427 | void vMgrCreateOwnIBSS(void *hDeviceContext, |
432 | vMgrDisassocBeginSta( | 428 | PCMD_STATUS pStatus); |
433 | IN HANDLE hDeviceContext, | ||
434 | IN PSMgmtObject pMgmt, | ||
435 | IN PBYTE abyDestAddress, | ||
436 | IN WORD wReason, | ||
437 | OUT PCMD_STATUS pStatus | ||
438 | ); | ||
439 | 429 | ||
440 | VOID | 430 | void vMgrJoinBSSBegin(void *hDeviceContext, |
441 | vMgrAuthenBeginSta( | 431 | PCMD_STATUS pStatus); |
442 | IN HANDLE hDeviceContext, | ||
443 | IN PSMgmtObject pMgmt, | ||
444 | OUT PCMD_STATUS pStatus | ||
445 | ); | ||
446 | 432 | ||
447 | VOID | 433 | void vMgrRxManagePacket(void *hDeviceContext, |
448 | vMgrCreateOwnIBSS( | 434 | PSMgmtObject pMgmt, |
449 | IN HANDLE hDeviceContext, | 435 | PSRxMgmtPacket pRxPacket); |
450 | OUT PCMD_STATUS pStatus | ||
451 | ); | ||
452 | |||
453 | VOID | ||
454 | vMgrJoinBSSBegin( | ||
455 | IN HANDLE hDeviceContext, | ||
456 | OUT PCMD_STATUS pStatus | ||
457 | ); | ||
458 | |||
459 | VOID | ||
460 | vMgrRxManagePacket( | ||
461 | IN HANDLE hDeviceContext, | ||
462 | IN PSMgmtObject pMgmt, | ||
463 | IN PSRxMgmtPacket pRxPacket | ||
464 | ); | ||
465 | 436 | ||
466 | /* | 437 | /* |
467 | VOID | 438 | void |
468 | vMgrScanBegin( | 439 | vMgrScanBegin( |
469 | IN HANDLE hDeviceContext, | 440 | void *hDeviceContext, |
470 | OUT PCMD_STATUS pStatus | 441 | PCMD_STATUS pStatus |
471 | ); | 442 | ); |
472 | */ | 443 | */ |
473 | 444 | ||
474 | VOID | 445 | void vMgrDeAuthenBeginSta(void *hDeviceContext, |
475 | vMgrDeAuthenBeginSta( | 446 | PSMgmtObject pMgmt, |
476 | IN HANDLE hDeviceContext, | 447 | PBYTE abyDestAddress, |
477 | IN PSMgmtObject pMgmt, | 448 | WORD wReason, |
478 | IN PBYTE abyDestAddress, | 449 | PCMD_STATUS pStatus); |
479 | IN WORD wReason, | ||
480 | OUT PCMD_STATUS pStatus | ||
481 | ); | ||
482 | 450 | ||
483 | BOOL | 451 | BOOL bMgrPrepareBeaconToSend(void *hDeviceContext, |
484 | bMgrPrepareBeaconToSend( | 452 | PSMgmtObject pMgmt); |
485 | IN HANDLE hDeviceContext, | ||
486 | IN PSMgmtObject pMgmt | ||
487 | ); | ||
488 | 453 | ||
454 | BOOL bAdd_PMKID_Candidate(void *hDeviceContext, | ||
455 | PBYTE pbyBSSID, | ||
456 | PSRSNCapObject psRSNCapObj); | ||
489 | 457 | ||
490 | BOOL | 458 | void vFlush_PMKID_Candidate(void *hDeviceContext); |
491 | bAdd_PMKID_Candidate ( | ||
492 | IN HANDLE hDeviceContext, | ||
493 | IN PBYTE pbyBSSID, | ||
494 | IN PSRSNCapObject psRSNCapObj | ||
495 | ); | ||
496 | |||
497 | VOID | ||
498 | vFlush_PMKID_Candidate ( | ||
499 | IN HANDLE hDeviceContext | ||
500 | ); | ||
501 | 459 | ||
502 | #endif // __WMGR_H__ | 460 | #endif /* __WMGR_H__ */ |
diff --git a/drivers/staging/vt6656/wpa.c b/drivers/staging/vt6656/wpa.c index 5da671418b5..1fa6c9b88ed 100644 --- a/drivers/staging/vt6656/wpa.c +++ b/drivers/staging/vt6656/wpa.c | |||
@@ -68,9 +68,9 @@ const BYTE abyOUI05[4] = { 0x00, 0x50, 0xf2, 0x05 }; | |||
68 | * | 68 | * |
69 | -*/ | 69 | -*/ |
70 | 70 | ||
71 | VOID | 71 | void |
72 | WPA_ClearRSN ( | 72 | WPA_ClearRSN ( |
73 | IN PKnownBSS pBSSList | 73 | PKnownBSS pBSSList |
74 | ) | 74 | ) |
75 | { | 75 | { |
76 | int ii; | 76 | int ii; |
@@ -104,10 +104,10 @@ WPA_ClearRSN ( | |||
104 | * Return Value: none. | 104 | * Return Value: none. |
105 | * | 105 | * |
106 | -*/ | 106 | -*/ |
107 | VOID | 107 | void |
108 | WPA_ParseRSN ( | 108 | WPA_ParseRSN ( |
109 | IN PKnownBSS pBSSList, | 109 | PKnownBSS pBSSList, |
110 | IN PWLAN_IE_RSN_EXT pRSN | 110 | PWLAN_IE_RSN_EXT pRSN |
111 | ) | 111 | ) |
112 | { | 112 | { |
113 | PWLAN_IE_RSN_AUTH pIE_RSN_Auth = NULL; | 113 | PWLAN_IE_RSN_AUTH pIE_RSN_Auth = NULL; |
@@ -241,7 +241,7 @@ BOOL | |||
241 | WPA_SearchRSN ( | 241 | WPA_SearchRSN ( |
242 | BYTE byCmd, | 242 | BYTE byCmd, |
243 | BYTE byEncrypt, | 243 | BYTE byEncrypt, |
244 | IN PKnownBSS pBSSList | 244 | PKnownBSS pBSSList |
245 | ) | 245 | ) |
246 | { | 246 | { |
247 | int ii; | 247 | int ii; |
@@ -299,7 +299,7 @@ WPA_SearchRSN ( | |||
299 | -*/ | 299 | -*/ |
300 | BOOL | 300 | BOOL |
301 | WPAb_Is_RSN ( | 301 | WPAb_Is_RSN ( |
302 | IN PWLAN_IE_RSN_EXT pRSN | 302 | PWLAN_IE_RSN_EXT pRSN |
303 | ) | 303 | ) |
304 | { | 304 | { |
305 | if (pRSN == NULL) | 305 | if (pRSN == NULL) |
diff --git a/drivers/staging/vt6656/wpa.h b/drivers/staging/vt6656/wpa.h index 9d9ce01d0c6..889489adbb8 100644 --- a/drivers/staging/vt6656/wpa.h +++ b/drivers/staging/vt6656/wpa.h | |||
@@ -58,27 +58,27 @@ | |||
58 | 58 | ||
59 | /*--------------------- Export Functions --------------------------*/ | 59 | /*--------------------- Export Functions --------------------------*/ |
60 | 60 | ||
61 | VOID | 61 | void |
62 | WPA_ClearRSN( | 62 | WPA_ClearRSN( |
63 | IN PKnownBSS pBSSList | 63 | PKnownBSS pBSSList |
64 | ); | 64 | ); |
65 | 65 | ||
66 | VOID | 66 | void |
67 | WPA_ParseRSN( | 67 | WPA_ParseRSN( |
68 | IN PKnownBSS pBSSList, | 68 | PKnownBSS pBSSList, |
69 | IN PWLAN_IE_RSN_EXT pRSN | 69 | PWLAN_IE_RSN_EXT pRSN |
70 | ); | 70 | ); |
71 | 71 | ||
72 | BOOL | 72 | BOOL |
73 | WPA_SearchRSN( | 73 | WPA_SearchRSN( |
74 | BYTE byCmd, | 74 | BYTE byCmd, |
75 | BYTE byEncrypt, | 75 | BYTE byEncrypt, |
76 | IN PKnownBSS pBSSList | 76 | PKnownBSS pBSSList |
77 | ); | 77 | ); |
78 | 78 | ||
79 | BOOL | 79 | BOOL |
80 | WPAb_Is_RSN( | 80 | WPAb_Is_RSN( |
81 | IN PWLAN_IE_RSN_EXT pRSN | 81 | PWLAN_IE_RSN_EXT pRSN |
82 | ); | 82 | ); |
83 | 83 | ||
84 | #endif // __WPA_H__ | 84 | #endif /* __WPA_H__ */ |
diff --git a/drivers/staging/vt6656/wpa2.c b/drivers/staging/vt6656/wpa2.c index fa3aeedfb27..6d13190885d 100644 --- a/drivers/staging/vt6656/wpa2.c +++ b/drivers/staging/vt6656/wpa2.c | |||
@@ -71,9 +71,9 @@ const BYTE abyOUIPSK[4] = { 0x00, 0x0F, 0xAC, 0x02 }; | |||
71 | * Return Value: none. | 71 | * Return Value: none. |
72 | * | 72 | * |
73 | -*/ | 73 | -*/ |
74 | VOID | 74 | void |
75 | WPA2_ClearRSN ( | 75 | WPA2_ClearRSN ( |
76 | IN PKnownBSS pBSSNode | 76 | PKnownBSS pBSSNode |
77 | ) | 77 | ) |
78 | { | 78 | { |
79 | int ii; | 79 | int ii; |
@@ -106,10 +106,10 @@ WPA2_ClearRSN ( | |||
106 | * Return Value: none. | 106 | * Return Value: none. |
107 | * | 107 | * |
108 | -*/ | 108 | -*/ |
109 | VOID | 109 | void |
110 | WPA2vParseRSN ( | 110 | WPA2vParseRSN ( |
111 | IN PKnownBSS pBSSNode, | 111 | PKnownBSS pBSSNode, |
112 | IN PWLAN_IE_RSN pRSN | 112 | PWLAN_IE_RSN pRSN |
113 | ) | 113 | ) |
114 | { | 114 | { |
115 | int i, j; | 115 | int i, j; |
@@ -260,15 +260,14 @@ WPA2vParseRSN ( | |||
260 | * Return Value: length of IEs. | 260 | * Return Value: length of IEs. |
261 | * | 261 | * |
262 | -*/ | 262 | -*/ |
263 | UINT | 263 | unsigned int |
264 | WPA2uSetIEs( | 264 | WPA2uSetIEs(void *pMgmtHandle, |
265 | IN PVOID pMgmtHandle, | 265 | PWLAN_IE_RSN pRSNIEs |
266 | OUT PWLAN_IE_RSN pRSNIEs | ||
267 | ) | 266 | ) |
268 | { | 267 | { |
269 | PSMgmtObject pMgmt = (PSMgmtObject) pMgmtHandle; | 268 | PSMgmtObject pMgmt = (PSMgmtObject) pMgmtHandle; |
270 | PBYTE pbyBuffer = NULL; | 269 | PBYTE pbyBuffer = NULL; |
271 | UINT ii = 0; | 270 | unsigned int ii = 0; |
272 | PWORD pwPMKID = NULL; | 271 | PWORD pwPMKID = NULL; |
273 | 272 | ||
274 | if (pRSNIEs == NULL) { | 273 | if (pRSNIEs == NULL) { |
@@ -337,20 +336,25 @@ WPA2uSetIEs( | |||
337 | } | 336 | } |
338 | pRSNIEs->len +=2; | 337 | pRSNIEs->len +=2; |
339 | 338 | ||
340 | if ((pMgmt->gsPMKIDCache.BSSIDInfoCount > 0) && | 339 | if ((pMgmt->gsPMKIDCache.BSSIDInfoCount > 0) && |
341 | (pMgmt->bRoaming == TRUE) && | 340 | (pMgmt->bRoaming == TRUE) && |
342 | (pMgmt->eAuthenMode == WMAC_AUTH_WPA2)) { | 341 | (pMgmt->eAuthenMode == WMAC_AUTH_WPA2)) { |
343 | // RSN PMKID | 342 | /* RSN PMKID, pointer to PMKID count */ |
344 | pwPMKID = (PWORD)(&pRSNIEs->abyRSN[18]); // Point to PMKID count | 343 | pwPMKID = (PWORD)(&pRSNIEs->abyRSN[18]); |
345 | *pwPMKID = 0; // Initialize PMKID count | 344 | *pwPMKID = 0; /* Initialize PMKID count */ |
346 | pbyBuffer = &pRSNIEs->abyRSN[20]; // Point to PMKID list | 345 | pbyBuffer = &pRSNIEs->abyRSN[20]; /* Point to PMKID list */ |
347 | for (ii = 0; ii < pMgmt->gsPMKIDCache.BSSIDInfoCount; ii++) { | 346 | for (ii = 0; ii < pMgmt->gsPMKIDCache.BSSIDInfoCount; ii++) { |
348 | if ( !memcmp(&pMgmt->gsPMKIDCache.BSSIDInfo[ii].abyBSSID[0], pMgmt->abyCurrBSSID, U_ETHER_ADDR_LEN)) { | 347 | if (!memcmp(&pMgmt-> |
349 | (*pwPMKID) ++; | 348 | gsPMKIDCache.BSSIDInfo[ii].abyBSSID[0], |
350 | memcpy(pbyBuffer, pMgmt->gsPMKIDCache.BSSIDInfo[ii].abyPMKID, 16); | 349 | pMgmt->abyCurrBSSID, |
351 | pbyBuffer += 16; | 350 | ETH_ALEN)) { |
352 | } | 351 | (*pwPMKID)++; |
353 | } | 352 | memcpy(pbyBuffer, |
353 | pMgmt->gsPMKIDCache.BSSIDInfo[ii].abyPMKID, | ||
354 | 16); | ||
355 | pbyBuffer += 16; | ||
356 | } | ||
357 | } | ||
354 | if (*pwPMKID != 0) { | 358 | if (*pwPMKID != 0) { |
355 | pRSNIEs->len += (2 + (*pwPMKID)*16); | 359 | pRSNIEs->len += (2 + (*pwPMKID)*16); |
356 | } else { | 360 | } else { |
diff --git a/drivers/staging/vt6656/wpa2.h b/drivers/staging/vt6656/wpa2.h index e553b386900..429a910a5c5 100644 --- a/drivers/staging/vt6656/wpa2.h +++ b/drivers/staging/vt6656/wpa2.h | |||
@@ -45,7 +45,7 @@ typedef struct tagsPMKIDInfo { | |||
45 | } PMKIDInfo, *PPMKIDInfo; | 45 | } PMKIDInfo, *PPMKIDInfo; |
46 | 46 | ||
47 | typedef struct tagSPMKIDCache { | 47 | typedef struct tagSPMKIDCache { |
48 | ULONG BSSIDInfoCount; | 48 | unsigned long BSSIDInfoCount; |
49 | PMKIDInfo BSSIDInfo[MAX_PMKID_CACHE]; | 49 | PMKIDInfo BSSIDInfo[MAX_PMKID_CACHE]; |
50 | } SPMKIDCache, *PSPMKIDCache; | 50 | } SPMKIDCache, *PSPMKIDCache; |
51 | 51 | ||
@@ -58,21 +58,21 @@ typedef struct tagSPMKIDCache { | |||
58 | 58 | ||
59 | /*--------------------- Export Functions --------------------------*/ | 59 | /*--------------------- Export Functions --------------------------*/ |
60 | 60 | ||
61 | VOID | 61 | void |
62 | WPA2_ClearRSN ( | 62 | WPA2_ClearRSN ( |
63 | IN PKnownBSS pBSSNode | 63 | PKnownBSS pBSSNode |
64 | ); | 64 | ); |
65 | 65 | ||
66 | VOID | 66 | void |
67 | WPA2vParseRSN ( | 67 | WPA2vParseRSN ( |
68 | IN PKnownBSS pBSSNode, | 68 | PKnownBSS pBSSNode, |
69 | IN PWLAN_IE_RSN pRSN | 69 | PWLAN_IE_RSN pRSN |
70 | ); | 70 | ); |
71 | 71 | ||
72 | UINT | 72 | unsigned int |
73 | WPA2uSetIEs( | 73 | WPA2uSetIEs( |
74 | IN PVOID pMgmtHandle, | 74 | void *pMgmtHandle, |
75 | OUT PWLAN_IE_RSN pRSNIEs | 75 | PWLAN_IE_RSN pRSNIEs |
76 | ); | 76 | ); |
77 | 77 | ||
78 | #endif // __WPA2_H__ | 78 | #endif /* __WPA2_H__ */ |
diff --git a/drivers/staging/vt6656/wpactl.c b/drivers/staging/vt6656/wpactl.c index 4555bc0448b..961f583368a 100644 --- a/drivers/staging/vt6656/wpactl.c +++ b/drivers/staging/vt6656/wpactl.c | |||
@@ -103,7 +103,7 @@ static int wpa_init_wpadev(PSDevice pDevice) | |||
103 | 103 | ||
104 | wpadev_priv = netdev_priv(pDevice->wpadev); | 104 | wpadev_priv = netdev_priv(pDevice->wpadev); |
105 | *wpadev_priv = *pDevice; | 105 | *wpadev_priv = *pDevice; |
106 | memcpy(pDevice->wpadev->dev_addr, dev->dev_addr, U_ETHER_ADDR_LEN); | 106 | memcpy(pDevice->wpadev->dev_addr, dev->dev_addr, ETH_ALEN); |
107 | pDevice->wpadev->base_addr = dev->base_addr; | 107 | pDevice->wpadev->base_addr = dev->base_addr; |
108 | pDevice->wpadev->irq = dev->irq; | 108 | pDevice->wpadev->irq = dev->irq; |
109 | pDevice->wpadev->mem_start = dev->mem_start; | 109 | pDevice->wpadev->mem_start = dev->mem_start; |
@@ -489,7 +489,7 @@ static int wpa_set_disassociate(PSDevice pDevice, | |||
489 | spin_lock_irq(&pDevice->lock); | 489 | spin_lock_irq(&pDevice->lock); |
490 | if (pDevice->bLinkPass) { | 490 | if (pDevice->bLinkPass) { |
491 | if (!memcmp(param->addr, pMgmt->abyCurrBSSID, 6)) | 491 | if (!memcmp(param->addr, pMgmt->abyCurrBSSID, 6)) |
492 | bScheduleCommand((HANDLE)pDevice, WLAN_CMD_DISASSOCIATE, NULL); | 492 | bScheduleCommand((void *) pDevice, WLAN_CMD_DISASSOCIATE, NULL); |
493 | } | 493 | } |
494 | spin_unlock_irq(&pDevice->lock); | 494 | spin_unlock_irq(&pDevice->lock); |
495 | 495 | ||
@@ -513,7 +513,7 @@ static int wpa_set_disassociate(PSDevice pDevice, | |||
513 | */ | 513 | */ |
514 | 514 | ||
515 | static int wpa_set_scan(PSDevice pDevice, | 515 | static int wpa_set_scan(PSDevice pDevice, |
516 | struct viawget_wpa_param *param) | 516 | struct viawget_wpa_param *param) |
517 | { | 517 | { |
518 | int ret = 0; | 518 | int ret = 0; |
519 | 519 | ||
@@ -531,9 +531,11 @@ memcpy(pItemSSID->abySSID, param->u.scan_req.ssid, param->u.scan_req.ssid_len); | |||
531 | pItemSSID->len = param->u.scan_req.ssid_len; | 531 | pItemSSID->len = param->u.scan_req.ssid_len; |
532 | 532 | ||
533 | spin_lock_irq(&pDevice->lock); | 533 | spin_lock_irq(&pDevice->lock); |
534 | BSSvClearBSSList((HANDLE)pDevice, pDevice->bLinkPass); | 534 | BSSvClearBSSList((void *) pDevice, pDevice->bLinkPass); |
535 | // bScheduleCommand((HANDLE) pDevice, WLAN_CMD_BSSID_SCAN, NULL); | 535 | /* bScheduleCommand((void *) pDevice, WLAN_CMD_BSSID_SCAN, NULL); */ |
536 | bScheduleCommand((HANDLE) pDevice, WLAN_CMD_BSSID_SCAN, pMgmt->abyDesireSSID); | 536 | bScheduleCommand((void *) pDevice, |
537 | WLAN_CMD_BSSID_SCAN, | ||
538 | pMgmt->abyDesireSSID); | ||
537 | spin_unlock_irq(&pDevice->lock); | 539 | spin_unlock_irq(&pDevice->lock); |
538 | 540 | ||
539 | return ret; | 541 | return ret; |
@@ -676,13 +678,12 @@ static int wpa_get_scan(PSDevice pDevice, | |||
676 | count++; | 678 | count++; |
677 | }; | 679 | }; |
678 | 680 | ||
679 | pBuf = kmalloc(sizeof(struct viawget_scan_result) * count, (int)GFP_ATOMIC); | 681 | pBuf = kcalloc(count, sizeof(struct viawget_scan_result), (int)GFP_ATOMIC); |
680 | 682 | ||
681 | if (pBuf == NULL) { | 683 | if (pBuf == NULL) { |
682 | ret = -ENOMEM; | 684 | ret = -ENOMEM; |
683 | return ret; | 685 | return ret; |
684 | } | 686 | } |
685 | memset(pBuf, 0, sizeof(struct viawget_scan_result) * count); | ||
686 | scan_buf = (struct viawget_scan_result *)pBuf; | 687 | scan_buf = (struct viawget_scan_result *)pBuf; |
687 | pBSS = &(pMgmt->sBSSList[0]); | 688 | pBSS = &(pMgmt->sBSSList[0]); |
688 | for (ii = 0, jj = 0; ii < MAX_BSS_NUM ; ii++) { | 689 | for (ii = 0, jj = 0; ii < MAX_BSS_NUM ; ii++) { |
@@ -886,12 +887,14 @@ static int wpa_set_associate(PSDevice pDevice, | |||
886 | 887 | ||
887 | if (pCurr == NULL){ | 888 | if (pCurr == NULL){ |
888 | printk("wpa_set_associate---->hidden mode site survey before associate.......\n"); | 889 | printk("wpa_set_associate---->hidden mode site survey before associate.......\n"); |
889 | bScheduleCommand((HANDLE) pDevice, WLAN_CMD_BSSID_SCAN, pMgmt->abyDesireSSID); | 890 | bScheduleCommand((void *) pDevice, |
891 | WLAN_CMD_BSSID_SCAN, | ||
892 | pMgmt->abyDesireSSID); | ||
890 | }; | 893 | }; |
891 | } | 894 | } |
892 | /****************************************************************/ | 895 | /****************************************************************/ |
893 | 896 | ||
894 | bScheduleCommand((HANDLE) pDevice, WLAN_CMD_SSID, NULL); | 897 | bScheduleCommand((void *) pDevice, WLAN_CMD_SSID, NULL); |
895 | spin_unlock_irq(&pDevice->lock); | 898 | spin_unlock_irq(&pDevice->lock); |
896 | 899 | ||
897 | return ret; | 900 | return ret; |
@@ -922,7 +925,7 @@ int wpa_ioctl(PSDevice pDevice, struct iw_point *p) | |||
922 | p->length > VIAWGET_WPA_MAX_BUF_SIZE || !p->pointer) | 925 | p->length > VIAWGET_WPA_MAX_BUF_SIZE || !p->pointer) |
923 | return -EINVAL; | 926 | return -EINVAL; |
924 | 927 | ||
925 | param = (struct viawget_wpa_param *) kmalloc((int)p->length, (int)GFP_KERNEL); | 928 | param = kmalloc((int)p->length, (int)GFP_KERNEL); |
926 | if (param == NULL) | 929 | if (param == NULL) |
927 | return -ENOMEM; | 930 | return -ENOMEM; |
928 | 931 | ||
diff --git a/drivers/staging/vt6656/wpactl.h b/drivers/staging/vt6656/wpactl.h index 56179f01311..00c8451ab50 100644 --- a/drivers/staging/vt6656/wpactl.h +++ b/drivers/staging/vt6656/wpactl.h | |||
@@ -52,9 +52,7 @@ typedef enum { KEY_MGMT_802_1X, KEY_MGMT_PSK, KEY_MGMT_NONE, | |||
52 | #define GENERIC_INFO_ELEM 0xdd | 52 | #define GENERIC_INFO_ELEM 0xdd |
53 | #define RSN_INFO_ELEM 0x30 | 53 | #define RSN_INFO_ELEM 0x30 |
54 | 54 | ||
55 | 55 | typedef unsigned long long NDIS_802_11_KEY_RSC; | |
56 | |||
57 | typedef ULONGLONG NDIS_802_11_KEY_RSC; | ||
58 | 56 | ||
59 | /*--------------------- Export Classes ----------------------------*/ | 57 | /*--------------------- Export Classes ----------------------------*/ |
60 | 58 | ||
@@ -66,7 +64,4 @@ int wpa_set_wpadev(PSDevice pDevice, int val); | |||
66 | int wpa_ioctl(PSDevice pDevice, struct iw_point *p); | 64 | int wpa_ioctl(PSDevice pDevice, struct iw_point *p); |
67 | int wpa_set_keys(PSDevice pDevice, void *ctx, BOOL fcpfkernel); | 65 | int wpa_set_keys(PSDevice pDevice, void *ctx, BOOL fcpfkernel); |
68 | 66 | ||
69 | #endif // __WPACL_H__ | 67 | #endif /* __WPACL_H__ */ |
70 | |||
71 | |||
72 | |||