diff options
author | Andres More <more.andres@gmail.com> | 2010-04-13 20:54:48 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2010-05-11 14:35:56 -0400 |
commit | 9a0e756c5280750c23bd44d2b855a1f5442ea7b4 (patch) | |
tree | d1c3250322f96bd8772401f1989ae1d1d57fa3da /drivers/staging/vt6656 | |
parent | 26e5b65b0794a1970ab09b65ef39beb9058ec952 (diff) |
Staging: vt6656: incorporated ETH_ALEN macro instead of custom one
Replaced custom U_ETHER_ADDR_LEN by ETH_ALEN from <linux/if_ether.h>.
Resolved checkpatch findings on the changed lines, mostly indentation.
Signed-off-by: Andres More <more.andres@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/staging/vt6656')
-rw-r--r-- | drivers/staging/vt6656/aes_ccmp.c | 11 | ||||
-rw-r--r-- | drivers/staging/vt6656/desc.h | 6 | ||||
-rw-r--r-- | drivers/staging/vt6656/device.h | 22 | ||||
-rw-r--r-- | drivers/staging/vt6656/dpc.c | 85 | ||||
-rw-r--r-- | drivers/staging/vt6656/ioctl.c | 4 | ||||
-rw-r--r-- | drivers/staging/vt6656/key.c | 4 | ||||
-rw-r--r-- | drivers/staging/vt6656/key.h | 2 | ||||
-rw-r--r-- | drivers/staging/vt6656/main_usb.c | 41 | ||||
-rw-r--r-- | drivers/staging/vt6656/mib.c | 19 | ||||
-rw-r--r-- | drivers/staging/vt6656/mib.h | 4 | ||||
-rw-r--r-- | drivers/staging/vt6656/rxtx.c | 218 | ||||
-rw-r--r-- | drivers/staging/vt6656/rxtx.h | 6 | ||||
-rw-r--r-- | drivers/staging/vt6656/tether.c | 2 | ||||
-rw-r--r-- | drivers/staging/vt6656/tether.h | 22 | ||||
-rw-r--r-- | drivers/staging/vt6656/wctl.c | 6 | ||||
-rw-r--r-- | drivers/staging/vt6656/wmgr.c | 52 | ||||
-rw-r--r-- | drivers/staging/vt6656/wpa2.c | 31 | ||||
-rw-r--r-- | drivers/staging/vt6656/wpactl.c | 2 |
18 files changed, 310 insertions, 227 deletions
diff --git a/drivers/staging/vt6656/aes_ccmp.c b/drivers/staging/vt6656/aes_ccmp.c index 401a7d267c9..a1beaa93b33 100644 --- a/drivers/staging/vt6656/aes_ccmp.c +++ b/drivers/staging/vt6656/aes_ccmp.c | |||
@@ -277,7 +277,7 @@ int ii,jj,kk; | |||
277 | pbyPayload = pbyIV + 8; //IV-length | 277 | pbyPayload = pbyIV + 8; //IV-length |
278 | 278 | ||
279 | abyNonce[0] = 0x00; //now is 0, if Qos here will be priority | 279 | abyNonce[0] = 0x00; //now is 0, if Qos here will be priority |
280 | memcpy(&(abyNonce[1]), pMACHeader->abyAddr2, U_ETHER_ADDR_LEN); | 280 | memcpy(&(abyNonce[1]), pMACHeader->abyAddr2, ETH_ALEN); |
281 | abyNonce[7] = pbyIV[7]; | 281 | abyNonce[7] = pbyIV[7]; |
282 | abyNonce[8] = pbyIV[6]; | 282 | abyNonce[8] = pbyIV[6]; |
283 | abyNonce[9] = pbyIV[5]; | 283 | abyNonce[9] = pbyIV[5]; |
@@ -299,16 +299,17 @@ int ii,jj,kk; | |||
299 | byTmp = (BYTE)(pMACHeader->wFrameCtl >> 8); | 299 | byTmp = (BYTE)(pMACHeader->wFrameCtl >> 8); |
300 | byTmp &= 0x87; | 300 | byTmp &= 0x87; |
301 | MIC_HDR1[3] = byTmp | 0x40; | 301 | MIC_HDR1[3] = byTmp | 0x40; |
302 | memcpy(&(MIC_HDR1[4]), pMACHeader->abyAddr1, U_ETHER_ADDR_LEN); | 302 | memcpy(&(MIC_HDR1[4]), pMACHeader->abyAddr1, ETH_ALEN); |
303 | memcpy(&(MIC_HDR1[10]), pMACHeader->abyAddr2, U_ETHER_ADDR_LEN); | 303 | memcpy(&(MIC_HDR1[10]), pMACHeader->abyAddr2, ETH_ALEN); |
304 | 304 | ||
305 | //MIC_HDR2 | 305 | //MIC_HDR2 |
306 | memcpy(&(MIC_HDR2[0]), pMACHeader->abyAddr3, U_ETHER_ADDR_LEN); | 306 | memcpy(&(MIC_HDR2[0]), pMACHeader->abyAddr3, ETH_ALEN); |
307 | byTmp = (BYTE)(pMACHeader->wSeqCtl & 0xff); | 307 | byTmp = (BYTE)(pMACHeader->wSeqCtl & 0xff); |
308 | MIC_HDR2[6] = byTmp & 0x0f; | 308 | MIC_HDR2[6] = byTmp & 0x0f; |
309 | MIC_HDR2[7] = 0; | 309 | MIC_HDR2[7] = 0; |
310 | |||
310 | if ( bA4 ) { | 311 | if ( bA4 ) { |
311 | memcpy(&(MIC_HDR2[8]), pMACHeader->abyAddr4, U_ETHER_ADDR_LEN); | 312 | memcpy(&(MIC_HDR2[8]), pMACHeader->abyAddr4, ETH_ALEN); |
312 | } else { | 313 | } else { |
313 | MIC_HDR2[8] = 0x00; | 314 | MIC_HDR2[8] = 0x00; |
314 | MIC_HDR2[9] = 0x00; | 315 | MIC_HDR2[9] = 0x00; |
diff --git a/drivers/staging/vt6656/desc.h b/drivers/staging/vt6656/desc.h index f10530fcc99..c87ea6b4d86 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; |
diff --git a/drivers/staging/vt6656/device.h b/drivers/staging/vt6656/device.h index 8b541d1d0e2..29bb5977541 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 |
@@ -369,7 +369,7 @@ typedef struct tagSQuietControl { | |||
369 | // The receive duplicate detection cache entry | 369 | // The receive duplicate detection cache entry |
370 | typedef struct tagSCacheEntry{ | 370 | typedef struct tagSCacheEntry{ |
371 | WORD wFmSequence; | 371 | WORD wFmSequence; |
372 | BYTE abyAddr2[U_ETHER_ADDR_LEN]; | 372 | BYTE abyAddr2[ETH_ALEN]; |
373 | WORD wFrameCtl; | 373 | WORD wFrameCtl; |
374 | } SCacheEntry, *PSCacheEntry; | 374 | } SCacheEntry, *PSCacheEntry; |
375 | 375 | ||
@@ -387,7 +387,7 @@ typedef struct tagSDeFragControlBlock | |||
387 | { | 387 | { |
388 | WORD wSequence; | 388 | WORD wSequence; |
389 | WORD wFragNum; | 389 | WORD wFragNum; |
390 | BYTE abyAddr2[U_ETHER_ADDR_LEN]; | 390 | BYTE abyAddr2[ETH_ALEN]; |
391 | UINT uLifetime; | 391 | UINT uLifetime; |
392 | struct sk_buff* skb; | 392 | struct sk_buff* skb; |
393 | PBYTE pbyRxBuffer; | 393 | PBYTE pbyRxBuffer; |
@@ -547,10 +547,10 @@ typedef struct __device_info { | |||
547 | BYTE byOriginalZonetype; | 547 | BYTE byOriginalZonetype; |
548 | 548 | ||
549 | BOOL bLinkPass; // link status: OK or fail | 549 | BOOL bLinkPass; // link status: OK or fail |
550 | BYTE abyCurrentNetAddr[U_ETHER_ADDR_LEN]; | 550 | BYTE abyCurrentNetAddr[ETH_ALEN]; |
551 | BYTE abyPermanentNetAddr[U_ETHER_ADDR_LEN]; | 551 | BYTE abyPermanentNetAddr[ETH_ALEN]; |
552 | // SW network address | 552 | // SW network address |
553 | // BYTE abySoftwareNetAddr[U_ETHER_ADDR_LEN]; | 553 | /* u8 abySoftwareNetAddr[ETH_ALEN]; */ |
554 | BOOL bExistSWNetAddr; | 554 | BOOL bExistSWNetAddr; |
555 | 555 | ||
556 | // Adapter statistics | 556 | // Adapter statistics |
@@ -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 |
@@ -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; |
diff --git a/drivers/staging/vt6656/dpc.c b/drivers/staging/vt6656/dpc.c index 835c6d6967b..9e833bb08e3 100644 --- a/drivers/staging/vt6656/dpc.c +++ b/drivers/staging/vt6656/dpc.c | |||
@@ -234,11 +234,11 @@ s_vProcessRxMACHeader ( | |||
234 | } | 234 | } |
235 | } | 235 | } |
236 | 236 | ||
237 | cbHeaderSize -= (U_ETHER_ADDR_LEN * 2); | 237 | cbHeaderSize -= (ETH_ALEN * 2); |
238 | pbyRxBuffer = (PBYTE) (pbyRxBufferAddr + cbHeaderSize); | 238 | pbyRxBuffer = (PBYTE) (pbyRxBufferAddr + cbHeaderSize); |
239 | for(ii=0;ii<U_ETHER_ADDR_LEN;ii++) | 239 | for (ii = 0; ii < ETH_ALEN; ii++) |
240 | *pbyRxBuffer++ = pDevice->sRxEthHeader.abyDstAddr[ii]; | 240 | *pbyRxBuffer++ = pDevice->sRxEthHeader.abyDstAddr[ii]; |
241 | for(ii=0;ii<U_ETHER_ADDR_LEN;ii++) | 241 | for (ii = 0; ii < ETH_ALEN; ii++) |
242 | *pbyRxBuffer++ = pDevice->sRxEthHeader.abySrcAddr[ii]; | 242 | *pbyRxBuffer++ = pDevice->sRxEthHeader.abySrcAddr[ii]; |
243 | 243 | ||
244 | *pcbHeadSize = cbHeaderSize; | 244 | *pcbHeadSize = cbHeaderSize; |
@@ -267,43 +267,48 @@ s_vGetDASA ( | |||
267 | OUT PSEthernetHeader psEthHeader | 267 | OUT PSEthernetHeader psEthHeader |
268 | ) | 268 | ) |
269 | { | 269 | { |
270 | UINT cbHeaderSize = 0; | 270 | UINT cbHeaderSize = 0; |
271 | PS802_11Header pMACHeader; | 271 | PS802_11Header pMACHeader; |
272 | int ii; | 272 | int ii; |
273 | 273 | ||
274 | pMACHeader = (PS802_11Header) (pbyRxBufferAddr + cbHeaderSize); | 274 | pMACHeader = (PS802_11Header) (pbyRxBufferAddr + cbHeaderSize); |
275 | 275 | ||
276 | if ((pMACHeader->wFrameCtl & FC_TODS) == 0) { | 276 | if ((pMACHeader->wFrameCtl & FC_TODS) == 0) { |
277 | if (pMACHeader->wFrameCtl & FC_FROMDS) { | 277 | if (pMACHeader->wFrameCtl & FC_FROMDS) { |
278 | for(ii=0;ii<U_ETHER_ADDR_LEN;ii++) { | 278 | for (ii = 0; ii < ETH_ALEN; ii++) { |
279 | psEthHeader->abyDstAddr[ii] = pMACHeader->abyAddr1[ii]; | 279 | psEthHeader->abyDstAddr[ii] = |
280 | psEthHeader->abySrcAddr[ii] = pMACHeader->abyAddr3[ii]; | 280 | pMACHeader->abyAddr1[ii]; |
281 | } | 281 | psEthHeader->abySrcAddr[ii] = |
282 | } | 282 | pMACHeader->abyAddr3[ii]; |
283 | else { | 283 | } |
284 | // IBSS mode | 284 | } else { |
285 | for(ii=0;ii<U_ETHER_ADDR_LEN;ii++) { | 285 | /* IBSS mode */ |
286 | psEthHeader->abyDstAddr[ii] = pMACHeader->abyAddr1[ii]; | 286 | for (ii = 0; ii < ETH_ALEN; ii++) { |
287 | psEthHeader->abySrcAddr[ii] = pMACHeader->abyAddr2[ii]; | 287 | psEthHeader->abyDstAddr[ii] = |
288 | } | 288 | pMACHeader->abyAddr1[ii]; |
289 | } | 289 | psEthHeader->abySrcAddr[ii] = |
290 | } | 290 | pMACHeader->abyAddr2[ii]; |
291 | else { | 291 | } |
292 | // Is AP mode.. | 292 | } |
293 | if (pMACHeader->wFrameCtl & FC_FROMDS) { | 293 | } else { |
294 | for(ii=0;ii<U_ETHER_ADDR_LEN;ii++) { | 294 | /* Is AP mode.. */ |
295 | psEthHeader->abyDstAddr[ii] = pMACHeader->abyAddr3[ii]; | 295 | if (pMACHeader->wFrameCtl & FC_FROMDS) { |
296 | psEthHeader->abySrcAddr[ii] = pMACHeader->abyAddr4[ii]; | 296 | for (ii = 0; ii < ETH_ALEN; ii++) { |
297 | cbHeaderSize += 6; | 297 | psEthHeader->abyDstAddr[ii] = |
298 | } | 298 | pMACHeader->abyAddr3[ii]; |
299 | } | 299 | psEthHeader->abySrcAddr[ii] = |
300 | else { | 300 | pMACHeader->abyAddr4[ii]; |
301 | for(ii=0;ii<U_ETHER_ADDR_LEN;ii++) { | 301 | cbHeaderSize += 6; |
302 | psEthHeader->abyDstAddr[ii] = pMACHeader->abyAddr3[ii]; | 302 | } |
303 | psEthHeader->abySrcAddr[ii] = pMACHeader->abyAddr2[ii]; | 303 | } else { |
304 | } | 304 | for (ii = 0; ii < ETH_ALEN; ii++) { |
305 | } | 305 | psEthHeader->abyDstAddr[ii] = |
306 | }; | 306 | pMACHeader->abyAddr3[ii]; |
307 | psEthHeader->abySrcAddr[ii] = | ||
308 | pMACHeader->abyAddr2[ii]; | ||
309 | } | ||
310 | } | ||
311 | }; | ||
307 | *pcbHeaderSize = cbHeaderSize; | 312 | *pcbHeaderSize = cbHeaderSize; |
308 | } | 313 | } |
309 | 314 | ||
diff --git a/drivers/staging/vt6656/ioctl.c b/drivers/staging/vt6656/ioctl.c index 6f33005a615..d7a78f2f9f0 100644 --- a/drivers/staging/vt6656/ioctl.c +++ b/drivers/staging/vt6656/ioctl.c | |||
@@ -480,7 +480,9 @@ int private_ioctl(PSDevice pDevice, struct ifreq *rq) { | |||
480 | }; | 480 | }; |
481 | if (sValue.dwValue == 1) { | 481 | if (sValue.dwValue == 1) { |
482 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "up wpadev\n"); | 482 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "up wpadev\n"); |
483 | memcpy(pDevice->wpadev->dev_addr, pDevice->dev->dev_addr, U_ETHER_ADDR_LEN); | 483 | memcpy(pDevice->wpadev->dev_addr, |
484 | pDevice->dev->dev_addr, | ||
485 | ETH_ALEN); | ||
484 | pDevice->bWPADEVUp = TRUE; | 486 | pDevice->bWPADEVUp = TRUE; |
485 | } | 487 | } |
486 | else { | 488 | else { |
diff --git a/drivers/staging/vt6656/key.c b/drivers/staging/vt6656/key.c index 13fc69a1a08..0cd2751d67d 100644 --- a/drivers/staging/vt6656/key.c +++ b/drivers/staging/vt6656/key.c | |||
@@ -312,7 +312,7 @@ BOOL KeybSetKey ( | |||
312 | } | 312 | } |
313 | } | 313 | } |
314 | if (j < (MAX_KEY_TABLE-1)) { | 314 | if (j < (MAX_KEY_TABLE-1)) { |
315 | memcpy(pTable->KeyTable[j].abyBSSID,pbyBSSID,U_ETHER_ADDR_LEN); | 315 | memcpy(pTable->KeyTable[j].abyBSSID, pbyBSSID, ETH_ALEN); |
316 | pTable->KeyTable[j].bInUse = TRUE; | 316 | pTable->KeyTable[j].bInUse = TRUE; |
317 | if ((dwKeyIndex & PAIRWISE_KEY) != 0) { | 317 | if ((dwKeyIndex & PAIRWISE_KEY) != 0) { |
318 | // Pairwise key | 318 | // Pairwise key |
@@ -700,7 +700,7 @@ BOOL KeybSetDefaultKey ( | |||
700 | } | 700 | } |
701 | 701 | ||
702 | pTable->KeyTable[MAX_KEY_TABLE-1].bInUse = TRUE; | 702 | pTable->KeyTable[MAX_KEY_TABLE-1].bInUse = TRUE; |
703 | for(ii=0;ii<U_ETHER_ADDR_LEN;ii++) | 703 | for (ii = 0; ii < ETH_ALEN; ii++) |
704 | pTable->KeyTable[MAX_KEY_TABLE-1].abyBSSID[ii] = 0xFF; | 704 | pTable->KeyTable[MAX_KEY_TABLE-1].abyBSSID[ii] = 0xFF; |
705 | 705 | ||
706 | // Group key | 706 | // Group key |
diff --git a/drivers/staging/vt6656/key.h b/drivers/staging/vt6656/key.h index b15a64cb386..da8dfe09cf3 100644 --- a/drivers/staging/vt6656/key.h +++ b/drivers/staging/vt6656/key.h | |||
@@ -71,7 +71,7 @@ typedef struct tagSKeyItem | |||
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 |
diff --git a/drivers/staging/vt6656/main_usb.c b/drivers/staging/vt6656/main_usb.c index ea6c94d6a99..c0bad4f43ee 100644 --- a/drivers/staging/vt6656/main_usb.c +++ b/drivers/staging/vt6656/main_usb.c | |||
@@ -295,14 +295,13 @@ static void usb_device_reset(PSDevice pDevice); | |||
295 | static void | 295 | static void |
296 | device_set_options(PSDevice pDevice) { | 296 | device_set_options(PSDevice pDevice) { |
297 | 297 | ||
298 | BYTE abyBroadcastAddr[U_ETHER_ADDR_LEN] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff}; | 298 | BYTE abyBroadcastAddr[ETH_ALEN] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff}; |
299 | BYTE abySNAP_RFC1042[U_ETHER_ADDR_LEN] = {0xAA, 0xAA, 0x03, 0x00, 0x00, 0x00}; | 299 | BYTE abySNAP_RFC1042[ETH_ALEN] = {0xAA, 0xAA, 0x03, 0x00, 0x00, 0x00}; |
300 | BYTE abySNAP_Bridgetunnel[U_ETHER_ADDR_LEN] = {0xAA, 0xAA, 0x03, 0x00, 0x00, 0xF8}; | 300 | u8 abySNAP_Bridgetunnel[ETH_ALEN] = {0xAA, 0xAA, 0x03, 0x00, 0x00, 0xF8}; |
301 | 301 | ||
302 | 302 | memcpy(pDevice->abyBroadcastAddr, abyBroadcastAddr, ETH_ALEN); | |
303 | memcpy(pDevice->abyBroadcastAddr, abyBroadcastAddr, U_ETHER_ADDR_LEN); | 303 | memcpy(pDevice->abySNAP_RFC1042, abySNAP_RFC1042, ETH_ALEN); |
304 | memcpy(pDevice->abySNAP_RFC1042, abySNAP_RFC1042, U_ETHER_ADDR_LEN); | 304 | memcpy(pDevice->abySNAP_Bridgetunnel, abySNAP_Bridgetunnel, ETH_ALEN); |
305 | memcpy(pDevice->abySNAP_Bridgetunnel, abySNAP_Bridgetunnel, U_ETHER_ADDR_LEN); | ||
306 | 305 | ||
307 | pDevice->cbTD = TX_DESC_DEF0; | 306 | pDevice->cbTD = TX_DESC_DEF0; |
308 | pDevice->cbRD = RX_DESC_DEF0; | 307 | pDevice->cbRD = RX_DESC_DEF0; |
@@ -359,9 +358,9 @@ static VOID device_init_diversity_timer(PSDevice pDevice) { | |||
359 | 358 | ||
360 | static BOOL device_init_registers(PSDevice pDevice, DEVICE_INIT_TYPE InitType) | 359 | static BOOL device_init_registers(PSDevice pDevice, DEVICE_INIT_TYPE InitType) |
361 | { | 360 | { |
362 | BYTE abyBroadcastAddr[U_ETHER_ADDR_LEN] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff}; | 361 | u8 abyBroadcastAddr[ETH_ALEN] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff}; |
363 | BYTE abySNAP_RFC1042[U_ETHER_ADDR_LEN] = {0xAA, 0xAA, 0x03, 0x00, 0x00, 0x00}; | 362 | u8 abySNAP_RFC1042[ETH_ALEN] = {0xAA, 0xAA, 0x03, 0x00, 0x00, 0x00}; |
364 | BYTE abySNAP_Bridgetunnel[U_ETHER_ADDR_LEN] = {0xAA, 0xAA, 0x03, 0x00, 0x00, 0xF8}; | 363 | u8 abySNAP_Bridgetunnel[ETH_ALEN] = {0xAA, 0xAA, 0x03, 0x00, 0x00, 0xF8}; |
365 | BYTE byAntenna; | 364 | BYTE byAntenna; |
366 | UINT ii; | 365 | UINT ii; |
367 | CMD_CARD_INIT sInitCmd; | 366 | CMD_CARD_INIT sInitCmd; |
@@ -375,10 +374,12 @@ static BOOL device_init_registers(PSDevice pDevice, DEVICE_INIT_TYPE InitType) | |||
375 | 374 | ||
376 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "---->INIbInitAdapter. [%d][%d]\n", InitType, pDevice->byPacketType); | 375 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "---->INIbInitAdapter. [%d][%d]\n", InitType, pDevice->byPacketType); |
377 | spin_lock_irq(&pDevice->lock); | 376 | spin_lock_irq(&pDevice->lock); |
378 | if (InitType == DEVICE_INIT_COLD) { | 377 | if (InitType == DEVICE_INIT_COLD) { |
379 | memcpy(pDevice->abyBroadcastAddr, abyBroadcastAddr, U_ETHER_ADDR_LEN); | 378 | memcpy(pDevice->abyBroadcastAddr, abyBroadcastAddr, ETH_ALEN); |
380 | memcpy(pDevice->abySNAP_RFC1042, abySNAP_RFC1042, U_ETHER_ADDR_LEN); | 379 | memcpy(pDevice->abySNAP_RFC1042, abySNAP_RFC1042, ETH_ALEN); |
381 | memcpy(pDevice->abySNAP_Bridgetunnel, abySNAP_Bridgetunnel, U_ETHER_ADDR_LEN); | 380 | memcpy(pDevice->abySNAP_Bridgetunnel, |
381 | abySNAP_Bridgetunnel, | ||
382 | ETH_ALEN); | ||
382 | 383 | ||
383 | if ( !FIRMWAREbCheckVersion(pDevice) ) { | 384 | if ( !FIRMWAREbCheckVersion(pDevice) ) { |
384 | if (FIRMWAREbDownload(pDevice) == TRUE) { | 385 | if (FIRMWAREbDownload(pDevice) == TRUE) { |
@@ -603,7 +604,9 @@ static BOOL device_init_registers(PSDevice pDevice, DEVICE_INIT_TYPE InitType) | |||
603 | 604 | ||
604 | // get Permanent network address | 605 | // get Permanent network address |
605 | memcpy(pDevice->abyPermanentNetAddr,&(sInitRsp.byNetAddr[0]),6); | 606 | memcpy(pDevice->abyPermanentNetAddr,&(sInitRsp.byNetAddr[0]),6); |
606 | memcpy(pDevice->abyCurrentNetAddr, pDevice->abyPermanentNetAddr, U_ETHER_ADDR_LEN); | 607 | memcpy(pDevice->abyCurrentNetAddr, |
608 | pDevice->abyPermanentNetAddr, | ||
609 | ETH_ALEN); | ||
607 | 610 | ||
608 | // if exist SW network address, use SW network address. | 611 | // if exist SW network address, use SW network address. |
609 | 612 | ||
@@ -757,7 +760,7 @@ static const struct net_device_ops device_netdev_ops = { | |||
757 | static int __devinit | 760 | static int __devinit |
758 | vt6656_probe(struct usb_interface *intf, const struct usb_device_id *id) | 761 | vt6656_probe(struct usb_interface *intf, const struct usb_device_id *id) |
759 | { | 762 | { |
760 | BYTE fake_mac[U_ETHER_ADDR_LEN] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x01};//fake MAC address | 763 | u8 fake_mac[ETH_ALEN] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x01}; |
761 | struct usb_device *udev = interface_to_usbdev(intf); | 764 | struct usb_device *udev = interface_to_usbdev(intf); |
762 | int rc = 0; | 765 | int rc = 0; |
763 | struct net_device *netdev = NULL; | 766 | struct net_device *netdev = NULL; |
@@ -798,7 +801,7 @@ vt6656_probe(struct usb_interface *intf, const struct usb_device_id *id) | |||
798 | //2007-0821-01<Add>by MikeLiu | 801 | //2007-0821-01<Add>by MikeLiu |
799 | usb_set_intfdata(intf, pDevice); | 802 | usb_set_intfdata(intf, pDevice); |
800 | SET_NETDEV_DEV(netdev, &intf->dev); | 803 | SET_NETDEV_DEV(netdev, &intf->dev); |
801 | memcpy(pDevice->dev->dev_addr, fake_mac, U_ETHER_ADDR_LEN); //use fake mac address | 804 | memcpy(pDevice->dev->dev_addr, fake_mac, ETH_ALEN); |
802 | rc = register_netdev(netdev); | 805 | rc = register_netdev(netdev); |
803 | if (rc != 0) { | 806 | if (rc != 0) { |
804 | printk(KERN_ERR DEVICE_NAME " Failed to register netdev\n"); | 807 | printk(KERN_ERR DEVICE_NAME " Failed to register netdev\n"); |
@@ -1101,8 +1104,8 @@ static int device_open(struct net_device *dev) { | |||
1101 | // Init for Key Management | 1104 | // Init for Key Management |
1102 | 1105 | ||
1103 | KeyvInitTable(pDevice,&pDevice->sKey); | 1106 | KeyvInitTable(pDevice,&pDevice->sKey); |
1104 | memcpy(pDevice->sMgmtObj.abyMACAddr, pDevice->abyCurrentNetAddr, U_ETHER_ADDR_LEN); | 1107 | memcpy(pDevice->sMgmtObj.abyMACAddr, pDevice->abyCurrentNetAddr, ETH_ALEN); |
1105 | memcpy(pDevice->dev->dev_addr, pDevice->abyCurrentNetAddr, U_ETHER_ADDR_LEN); | 1108 | memcpy(pDevice->dev->dev_addr, pDevice->abyCurrentNetAddr, ETH_ALEN); |
1106 | pDevice->bStopTx0Pkt = FALSE; | 1109 | pDevice->bStopTx0Pkt = FALSE; |
1107 | pDevice->bStopDataPkt = FALSE; | 1110 | pDevice->bStopDataPkt = FALSE; |
1108 | pDevice->bRoaming = FALSE; //DavidWang | 1111 | pDevice->bRoaming = FALSE; //DavidWang |
diff --git a/drivers/staging/vt6656/mib.c b/drivers/staging/vt6656/mib.c index 910e610b7cc..b6f138efb47 100644 --- a/drivers/staging/vt6656/mib.c +++ b/drivers/staging/vt6656/mib.c | |||
@@ -156,18 +156,17 @@ void STAvUpdateRDStatCounter (PSStatCounter pStatistic, | |||
156 | BYTE byRSR, BYTE byNewRSR, BYTE byRxSts, BYTE byRxRate, | 156 | BYTE byRSR, BYTE byNewRSR, BYTE byRxSts, BYTE byRxRate, |
157 | PBYTE pbyBuffer, UINT cbFrameLength) | 157 | PBYTE pbyBuffer, UINT cbFrameLength) |
158 | { | 158 | { |
159 | //need change | 159 | /* need change */ |
160 | PS802_11Header pHeader = (PS802_11Header)pbyBuffer; | 160 | PS802_11Header pHeader = (PS802_11Header)pbyBuffer; |
161 | 161 | ||
162 | if (byRSR & RSR_ADDROK) | 162 | if (byRSR & RSR_ADDROK) |
163 | pStatistic->dwRsrADDROk++; | 163 | pStatistic->dwRsrADDROk++; |
164 | if (byRSR & RSR_CRCOK) { | 164 | if (byRSR & RSR_CRCOK) { |
165 | pStatistic->dwRsrCRCOk++; | 165 | pStatistic->dwRsrCRCOk++; |
166 | pStatistic->ullRsrOK++; | ||
166 | 167 | ||
167 | pStatistic->ullRsrOK++; | 168 | if (cbFrameLength >= ETH_ALEN) { |
168 | 169 | /* 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) { | 170 | if (byRSR & RSR_ADDRBROAD) { |
172 | pStatistic->ullRxBroadcastFrames++; | 171 | pStatistic->ullRxBroadcastFrames++; |
173 | pStatistic->ullRxBroadcastBytes += (ULONGLONG)cbFrameLength; | 172 | pStatistic->ullRxBroadcastBytes += (ULONGLONG)cbFrameLength; |
diff --git a/drivers/staging/vt6656/mib.h b/drivers/staging/vt6656/mib.h index ac996d2cd91..d1d781774ca 100644 --- a/drivers/staging/vt6656/mib.h +++ b/drivers/staging/vt6656/mib.h | |||
@@ -91,7 +91,7 @@ typedef struct tagSMib2Counter { | |||
91 | LONG ifType; | 91 | LONG ifType; |
92 | LONG ifMtu; | 92 | LONG ifMtu; |
93 | DWORD ifSpeed; | 93 | DWORD ifSpeed; |
94 | BYTE ifPhysAddress[U_ETHER_ADDR_LEN]; | 94 | BYTE ifPhysAddress[ETH_ALEN]; |
95 | LONG ifAdminStatus; | 95 | LONG ifAdminStatus; |
96 | LONG ifOperStatus; | 96 | LONG ifOperStatus; |
97 | DWORD ifLastChange; | 97 | DWORD ifLastChange; |
@@ -231,7 +231,7 @@ typedef struct tagSTxPktInfo { | |||
231 | BYTE byBroadMultiUni; | 231 | BYTE byBroadMultiUni; |
232 | WORD wLength; | 232 | WORD wLength; |
233 | WORD wFIFOCtl; | 233 | WORD wFIFOCtl; |
234 | BYTE abyDestAddr[U_ETHER_ADDR_LEN]; | 234 | BYTE abyDestAddr[ETH_ALEN]; |
235 | } STxPktInfo, *PSTxPktInfo; | 235 | } STxPktInfo, *PSTxPktInfo; |
236 | 236 | ||
237 | 237 | ||
diff --git a/drivers/staging/vt6656/rxtx.c b/drivers/staging/vt6656/rxtx.c index d9fa36c9523..03b8b4decf0 100644 --- a/drivers/staging/vt6656/rxtx.c +++ b/drivers/staging/vt6656/rxtx.c | |||
@@ -322,7 +322,9 @@ s_vSaveTxPktInfo(PSDevice pDevice, BYTE byPktNum, PBYTE pbyDestAddr, WORD wPktLe | |||
322 | 322 | ||
323 | pStatistic->abyTxPktInfo[byPktNum].wLength = wPktLength; | 323 | pStatistic->abyTxPktInfo[byPktNum].wLength = wPktLength; |
324 | pStatistic->abyTxPktInfo[byPktNum].wFIFOCtl = wFIFOCtl; | 324 | pStatistic->abyTxPktInfo[byPktNum].wFIFOCtl = wFIFOCtl; |
325 | memcpy(pStatistic->abyTxPktInfo[byPktNum].abyDestAddr, pbyDestAddr, U_ETHER_ADDR_LEN); | 325 | memcpy(pStatistic->abyTxPktInfo[byPktNum].abyDestAddr, |
326 | pbyDestAddr, | ||
327 | ETH_ALEN); | ||
326 | } | 328 | } |
327 | 329 | ||
328 | 330 | ||
@@ -1026,18 +1028,27 @@ s_vFillRTSHead ( | |||
1026 | pBuf->Data.wDurationID = pBuf->wDuration_aa; | 1028 | pBuf->Data.wDurationID = pBuf->wDuration_aa; |
1027 | //Get RTS Frame body | 1029 | //Get RTS Frame body |
1028 | pBuf->Data.wFrameControl = TYPE_CTL_RTS;//0x00B4 | 1030 | pBuf->Data.wFrameControl = TYPE_CTL_RTS;//0x00B4 |
1029 | if ((pDevice->eOPMode == OP_MODE_ADHOC) || | 1031 | |
1030 | (pDevice->eOPMode == OP_MODE_AP)) { | 1032 | if ((pDevice->eOPMode == OP_MODE_ADHOC) || |
1031 | memcpy(&(pBuf->Data.abyRA[0]), &(psEthHeader->abyDstAddr[0]), U_ETHER_ADDR_LEN); | 1033 | (pDevice->eOPMode == OP_MODE_AP)) { |
1032 | } | 1034 | memcpy(&(pBuf->Data.abyRA[0]), |
1035 | &(psEthHeader->abyDstAddr[0]), | ||
1036 | ETH_ALEN); | ||
1037 | } | ||
1033 | else { | 1038 | else { |
1034 | memcpy(&(pBuf->Data.abyRA[0]), &(pDevice->abyBSSID[0]), U_ETHER_ADDR_LEN); | 1039 | memcpy(&(pBuf->Data.abyRA[0]), |
1035 | } | 1040 | &(pDevice->abyBSSID[0]), |
1036 | if (pDevice->eOPMode == OP_MODE_AP) { | 1041 | ETH_ALEN); |
1037 | memcpy(&(pBuf->Data.abyTA[0]), &(pDevice->abyBSSID[0]), U_ETHER_ADDR_LEN); | 1042 | } |
1038 | } | 1043 | if (pDevice->eOPMode == OP_MODE_AP) { |
1044 | memcpy(&(pBuf->Data.abyTA[0]), | ||
1045 | &(pDevice->abyBSSID[0]), | ||
1046 | ETH_ALEN); | ||
1047 | } | ||
1039 | else { | 1048 | else { |
1040 | memcpy(&(pBuf->Data.abyTA[0]), &(psEthHeader->abySrcAddr[0]), U_ETHER_ADDR_LEN); | 1049 | memcpy(&(pBuf->Data.abyTA[0]), |
1050 | &(psEthHeader->abySrcAddr[0]), | ||
1051 | ETH_ALEN); | ||
1041 | } | 1052 | } |
1042 | } | 1053 | } |
1043 | else { | 1054 | else { |
@@ -1063,19 +1074,27 @@ s_vFillRTSHead ( | |||
1063 | //Get RTS Frame body | 1074 | //Get RTS Frame body |
1064 | pBuf->Data.wFrameControl = TYPE_CTL_RTS;//0x00B4 | 1075 | pBuf->Data.wFrameControl = TYPE_CTL_RTS;//0x00B4 |
1065 | 1076 | ||
1066 | if ((pDevice->eOPMode == OP_MODE_ADHOC) || | 1077 | if ((pDevice->eOPMode == OP_MODE_ADHOC) || |
1067 | (pDevice->eOPMode == OP_MODE_AP)) { | 1078 | (pDevice->eOPMode == OP_MODE_AP)) { |
1068 | memcpy(&(pBuf->Data.abyRA[0]), &(psEthHeader->abyDstAddr[0]), U_ETHER_ADDR_LEN); | 1079 | memcpy(&(pBuf->Data.abyRA[0]), |
1069 | } | 1080 | &(psEthHeader->abyDstAddr[0]), |
1081 | ETH_ALEN); | ||
1082 | } | ||
1070 | else { | 1083 | else { |
1071 | memcpy(&(pBuf->Data.abyRA[0]), &(pDevice->abyBSSID[0]), U_ETHER_ADDR_LEN); | 1084 | memcpy(&(pBuf->Data.abyRA[0]), |
1085 | &(pDevice->abyBSSID[0]), | ||
1086 | ETH_ALEN); | ||
1072 | } | 1087 | } |
1073 | 1088 | ||
1074 | if (pDevice->eOPMode == OP_MODE_AP) { | 1089 | if (pDevice->eOPMode == OP_MODE_AP) { |
1075 | memcpy(&(pBuf->Data.abyTA[0]), &(pDevice->abyBSSID[0]), U_ETHER_ADDR_LEN); | 1090 | memcpy(&(pBuf->Data.abyTA[0]), |
1076 | } | 1091 | &(pDevice->abyBSSID[0]), |
1092 | ETH_ALEN); | ||
1093 | } | ||
1077 | else { | 1094 | else { |
1078 | memcpy(&(pBuf->Data.abyTA[0]), &(psEthHeader->abySrcAddr[0]), U_ETHER_ADDR_LEN); | 1095 | memcpy(&(pBuf->Data.abyTA[0]), |
1096 | &(psEthHeader->abySrcAddr[0]), | ||
1097 | ETH_ALEN); | ||
1079 | } | 1098 | } |
1080 | 1099 | ||
1081 | } // if (byFBOption == AUTO_FB_NONE) | 1100 | } // if (byFBOption == AUTO_FB_NONE) |
@@ -1094,20 +1113,26 @@ s_vFillRTSHead ( | |||
1094 | //Get RTS Frame body | 1113 | //Get RTS Frame body |
1095 | pBuf->Data.wFrameControl = TYPE_CTL_RTS;//0x00B4 | 1114 | pBuf->Data.wFrameControl = TYPE_CTL_RTS;//0x00B4 |
1096 | 1115 | ||
1097 | if ((pDevice->eOPMode == OP_MODE_ADHOC) || | 1116 | if ((pDevice->eOPMode == OP_MODE_ADHOC) || |
1098 | (pDevice->eOPMode == OP_MODE_AP)) { | 1117 | (pDevice->eOPMode == OP_MODE_AP)) { |
1099 | memcpy(&(pBuf->Data.abyRA[0]), &(psEthHeader->abyDstAddr[0]), U_ETHER_ADDR_LEN); | 1118 | memcpy(&(pBuf->Data.abyRA[0]), |
1100 | } | 1119 | &(psEthHeader->abyDstAddr[0]), |
1101 | else { | 1120 | ETH_ALEN); |
1102 | memcpy(&(pBuf->Data.abyRA[0]), &(pDevice->abyBSSID[0]), U_ETHER_ADDR_LEN); | 1121 | } else { |
1103 | } | 1122 | memcpy(&(pBuf->Data.abyRA[0]), |
1104 | 1123 | &(pDevice->abyBSSID[0]), | |
1105 | if (pDevice->eOPMode == OP_MODE_AP) { | 1124 | ETH_ALEN); |
1106 | memcpy(&(pBuf->Data.abyTA[0]), &(pDevice->abyBSSID[0]), U_ETHER_ADDR_LEN); | 1125 | } |
1107 | } | 1126 | |
1108 | else { | 1127 | if (pDevice->eOPMode == OP_MODE_AP) { |
1109 | memcpy(&(pBuf->Data.abyTA[0]), &(psEthHeader->abySrcAddr[0]), U_ETHER_ADDR_LEN); | 1128 | memcpy(&(pBuf->Data.abyTA[0]), |
1110 | } | 1129 | &(pDevice->abyBSSID[0]), |
1130 | ETH_ALEN); | ||
1131 | } else { | ||
1132 | memcpy(&(pBuf->Data.abyTA[0]), | ||
1133 | &(psEthHeader->abySrcAddr[0]), | ||
1134 | ETH_ALEN); | ||
1135 | } | ||
1111 | 1136 | ||
1112 | } | 1137 | } |
1113 | else { | 1138 | else { |
@@ -1125,19 +1150,25 @@ s_vFillRTSHead ( | |||
1125 | //Get RTS Frame body | 1150 | //Get RTS Frame body |
1126 | pBuf->Data.wFrameControl = TYPE_CTL_RTS;//0x00B4 | 1151 | pBuf->Data.wFrameControl = TYPE_CTL_RTS;//0x00B4 |
1127 | 1152 | ||
1128 | if ((pDevice->eOPMode == OP_MODE_ADHOC) || | 1153 | if ((pDevice->eOPMode == OP_MODE_ADHOC) || |
1129 | (pDevice->eOPMode == OP_MODE_AP)) { | 1154 | (pDevice->eOPMode == OP_MODE_AP)) { |
1130 | memcpy(&(pBuf->Data.abyRA[0]), &(psEthHeader->abyDstAddr[0]), U_ETHER_ADDR_LEN); | 1155 | memcpy(&(pBuf->Data.abyRA[0]), |
1131 | } | 1156 | &(psEthHeader->abyDstAddr[0]), |
1132 | else { | 1157 | ETH_ALEN); |
1133 | memcpy(&(pBuf->Data.abyRA[0]), &(pDevice->abyBSSID[0]), U_ETHER_ADDR_LEN); | 1158 | } else { |
1134 | } | 1159 | memcpy(&(pBuf->Data.abyRA[0]), |
1135 | if (pDevice->eOPMode == OP_MODE_AP) { | 1160 | &(pDevice->abyBSSID[0]), |
1136 | memcpy(&(pBuf->Data.abyTA[0]), &(pDevice->abyBSSID[0]), U_ETHER_ADDR_LEN); | 1161 | ETH_ALEN); |
1137 | } | 1162 | } |
1138 | else { | 1163 | if (pDevice->eOPMode == OP_MODE_AP) { |
1139 | memcpy(&(pBuf->Data.abyTA[0]), &(psEthHeader->abySrcAddr[0]), U_ETHER_ADDR_LEN); | 1164 | memcpy(&(pBuf->Data.abyTA[0]), |
1140 | } | 1165 | &(pDevice->abyBSSID[0]), |
1166 | ETH_ALEN); | ||
1167 | } else { | ||
1168 | memcpy(&(pBuf->Data.abyTA[0]), | ||
1169 | &(psEthHeader->abySrcAddr[0]), | ||
1170 | ETH_ALEN); | ||
1171 | } | ||
1141 | } | 1172 | } |
1142 | } | 1173 | } |
1143 | else if (byPktType == PK_TYPE_11B) { | 1174 | else if (byPktType == PK_TYPE_11B) { |
@@ -1153,20 +1184,26 @@ s_vFillRTSHead ( | |||
1153 | //Get RTS Frame body | 1184 | //Get RTS Frame body |
1154 | pBuf->Data.wFrameControl = TYPE_CTL_RTS;//0x00B4 | 1185 | pBuf->Data.wFrameControl = TYPE_CTL_RTS;//0x00B4 |
1155 | 1186 | ||
1156 | 1187 | if ((pDevice->eOPMode == OP_MODE_ADHOC) || | |
1157 | if ((pDevice->eOPMode == OP_MODE_ADHOC) || | ||
1158 | (pDevice->eOPMode == OP_MODE_AP)) { | 1188 | (pDevice->eOPMode == OP_MODE_AP)) { |
1159 | memcpy(&(pBuf->Data.abyRA[0]), &(psEthHeader->abyDstAddr[0]), U_ETHER_ADDR_LEN); | 1189 | memcpy(&(pBuf->Data.abyRA[0]), |
1190 | &(psEthHeader->abyDstAddr[0]), | ||
1191 | ETH_ALEN); | ||
1160 | } | 1192 | } |
1161 | else { | 1193 | else { |
1162 | memcpy(&(pBuf->Data.abyRA[0]), &(pDevice->abyBSSID[0]), U_ETHER_ADDR_LEN); | 1194 | memcpy(&(pBuf->Data.abyRA[0]), |
1195 | &(pDevice->abyBSSID[0]), | ||
1196 | ETH_ALEN); | ||
1163 | } | 1197 | } |
1164 | 1198 | ||
1165 | if (pDevice->eOPMode == OP_MODE_AP) { | 1199 | if (pDevice->eOPMode == OP_MODE_AP) { |
1166 | memcpy(&(pBuf->Data.abyTA[0]), &(pDevice->abyBSSID[0]), U_ETHER_ADDR_LEN); | 1200 | memcpy(&(pBuf->Data.abyTA[0]), |
1167 | } | 1201 | &(pDevice->abyBSSID[0]), |
1168 | else { | 1202 | ETH_ALEN); |
1169 | memcpy(&(pBuf->Data.abyTA[0]), &(psEthHeader->abySrcAddr[0]), U_ETHER_ADDR_LEN); | 1203 | } else { |
1204 | memcpy(&(pBuf->Data.abyTA[0]), | ||
1205 | &(psEthHeader->abySrcAddr[0]), | ||
1206 | ETH_ALEN); | ||
1170 | } | 1207 | } |
1171 | } | 1208 | } |
1172 | } | 1209 | } |
@@ -1222,7 +1259,9 @@ s_vFillCTSHead ( | |||
1222 | pBuf->Data.wDurationID = pBuf->wDuration_ba; | 1259 | pBuf->Data.wDurationID = pBuf->wDuration_ba; |
1223 | pBuf->Data.wFrameControl = TYPE_CTL_CTS;//0x00C4 | 1260 | pBuf->Data.wFrameControl = TYPE_CTL_CTS;//0x00C4 |
1224 | pBuf->Data.wReserved = 0x0000; | 1261 | pBuf->Data.wReserved = 0x0000; |
1225 | memcpy(&(pBuf->Data.abyRA[0]), &(pDevice->abyCurrentNetAddr[0]), U_ETHER_ADDR_LEN); | 1262 | memcpy(&(pBuf->Data.abyRA[0]), |
1263 | &(pDevice->abyCurrentNetAddr[0]), | ||
1264 | ETH_ALEN); | ||
1226 | } else { //if (byFBOption != AUTO_FB_NONE && uDMAIdx != TYPE_ATIMDMA && uDMAIdx != TYPE_BEACONDMA) | 1265 | } else { //if (byFBOption != AUTO_FB_NONE && uDMAIdx != TYPE_ATIMDMA && uDMAIdx != TYPE_BEACONDMA) |
1227 | PSCTS pBuf = (PSCTS)pvCTS; | 1266 | PSCTS pBuf = (PSCTS)pvCTS; |
1228 | //Get SignalField,ServiceField,Length | 1267 | //Get SignalField,ServiceField,Length |
@@ -1239,16 +1278,13 @@ s_vFillCTSHead ( | |||
1239 | pBuf->Data.wDurationID = pBuf->wDuration_ba; | 1278 | pBuf->Data.wDurationID = pBuf->wDuration_ba; |
1240 | pBuf->Data.wFrameControl = TYPE_CTL_CTS;//0x00C4 | 1279 | pBuf->Data.wFrameControl = TYPE_CTL_CTS;//0x00C4 |
1241 | pBuf->Data.wReserved = 0x0000; | 1280 | pBuf->Data.wReserved = 0x0000; |
1242 | memcpy(&(pBuf->Data.abyRA[0]), &(pDevice->abyCurrentNetAddr[0]), U_ETHER_ADDR_LEN); | 1281 | memcpy(&(pBuf->Data.abyRA[0]), |
1282 | &(pDevice->abyCurrentNetAddr[0]), | ||
1283 | ETH_ALEN); | ||
1243 | } | 1284 | } |
1244 | } | 1285 | } |
1245 | } | 1286 | } |
1246 | 1287 | ||
1247 | |||
1248 | |||
1249 | |||
1250 | |||
1251 | |||
1252 | /*+ | 1288 | /*+ |
1253 | * | 1289 | * |
1254 | * Description: | 1290 | * Description: |
@@ -1843,21 +1879,35 @@ s_vGenerateMACHeader ( | |||
1843 | } | 1879 | } |
1844 | 1880 | ||
1845 | if (pDevice->eOPMode == OP_MODE_AP) { | 1881 | if (pDevice->eOPMode == OP_MODE_AP) { |
1846 | memcpy(&(pMACHeader->abyAddr1[0]), &(psEthHeader->abyDstAddr[0]), U_ETHER_ADDR_LEN); | 1882 | memcpy(&(pMACHeader->abyAddr1[0]), |
1847 | memcpy(&(pMACHeader->abyAddr2[0]), &(pDevice->abyBSSID[0]), U_ETHER_ADDR_LEN); | 1883 | &(psEthHeader->abyDstAddr[0]), |
1848 | memcpy(&(pMACHeader->abyAddr3[0]), &(psEthHeader->abySrcAddr[0]), U_ETHER_ADDR_LEN); | 1884 | ETH_ALEN); |
1885 | memcpy(&(pMACHeader->abyAddr2[0]), &(pDevice->abyBSSID[0]), ETH_ALEN); | ||
1886 | memcpy(&(pMACHeader->abyAddr3[0]), | ||
1887 | &(psEthHeader->abySrcAddr[0]), | ||
1888 | ETH_ALEN); | ||
1849 | pMACHeader->wFrameCtl |= FC_FROMDS; | 1889 | pMACHeader->wFrameCtl |= FC_FROMDS; |
1850 | } | 1890 | } else { |
1851 | else { | 1891 | if (pDevice->eOPMode == OP_MODE_ADHOC) { |
1852 | if (pDevice->eOPMode == OP_MODE_ADHOC) { | 1892 | memcpy(&(pMACHeader->abyAddr1[0]), |
1853 | memcpy(&(pMACHeader->abyAddr1[0]), &(psEthHeader->abyDstAddr[0]), U_ETHER_ADDR_LEN); | 1893 | &(psEthHeader->abyDstAddr[0]), |
1854 | memcpy(&(pMACHeader->abyAddr2[0]), &(psEthHeader->abySrcAddr[0]), U_ETHER_ADDR_LEN); | 1894 | ETH_ALEN); |
1855 | memcpy(&(pMACHeader->abyAddr3[0]), &(pDevice->abyBSSID[0]), U_ETHER_ADDR_LEN); | 1895 | memcpy(&(pMACHeader->abyAddr2[0]), |
1856 | } | 1896 | &(psEthHeader->abySrcAddr[0]), |
1857 | else { | 1897 | ETH_ALEN); |
1858 | memcpy(&(pMACHeader->abyAddr3[0]), &(psEthHeader->abyDstAddr[0]), U_ETHER_ADDR_LEN); | 1898 | memcpy(&(pMACHeader->abyAddr3[0]), |
1859 | memcpy(&(pMACHeader->abyAddr2[0]), &(psEthHeader->abySrcAddr[0]), U_ETHER_ADDR_LEN); | 1899 | &(pDevice->abyBSSID[0]), |
1860 | memcpy(&(pMACHeader->abyAddr1[0]), &(pDevice->abyBSSID[0]), U_ETHER_ADDR_LEN); | 1900 | ETH_ALEN); |
1901 | } else { | ||
1902 | memcpy(&(pMACHeader->abyAddr3[0]), | ||
1903 | &(psEthHeader->abyDstAddr[0]), | ||
1904 | ETH_ALEN); | ||
1905 | memcpy(&(pMACHeader->abyAddr2[0]), | ||
1906 | &(psEthHeader->abySrcAddr[0]), | ||
1907 | ETH_ALEN); | ||
1908 | memcpy(&(pMACHeader->abyAddr1[0]), | ||
1909 | &(pDevice->abyBSSID[0]), | ||
1910 | ETH_ALEN); | ||
1861 | pMACHeader->wFrameCtl |= FC_TODS; | 1911 | pMACHeader->wFrameCtl |= FC_TODS; |
1862 | } | 1912 | } |
1863 | } | 1913 | } |
@@ -2089,8 +2139,12 @@ CMD_STATUS csMgmt_xmit( | |||
2089 | 2139 | ||
2090 | memset((PVOID)(pbyTxBufferAddr + wTxBufSize), 0, (cbHeaderSize - wTxBufSize)); | 2140 | memset((PVOID)(pbyTxBufferAddr + wTxBufSize), 0, (cbHeaderSize - wTxBufSize)); |
2091 | 2141 | ||
2092 | memcpy(&(sEthHeader.abyDstAddr[0]), &(pPacket->p80211Header->sA3.abyAddr1[0]), U_ETHER_ADDR_LEN); | 2142 | memcpy(&(sEthHeader.abyDstAddr[0]), |
2093 | memcpy(&(sEthHeader.abySrcAddr[0]), &(pPacket->p80211Header->sA3.abyAddr2[0]), U_ETHER_ADDR_LEN); | 2143 | &(pPacket->p80211Header->sA3.abyAddr1[0]), |
2144 | ETH_ALEN); | ||
2145 | memcpy(&(sEthHeader.abySrcAddr[0]), | ||
2146 | &(pPacket->p80211Header->sA3.abyAddr2[0]), | ||
2147 | ETH_ALEN); | ||
2094 | //========================= | 2148 | //========================= |
2095 | // No Fragmentation | 2149 | // No Fragmentation |
2096 | //========================= | 2150 | //========================= |
@@ -2521,8 +2575,12 @@ vDMA0_tx_80211(PSDevice pDevice, struct sk_buff *skb) { | |||
2521 | cbHeaderSize = wTxBufSize + sizeof(SRrvTime_ab) + cbMICHDR + sizeof(STxDataHead_ab); | 2575 | cbHeaderSize = wTxBufSize + sizeof(SRrvTime_ab) + cbMICHDR + sizeof(STxDataHead_ab); |
2522 | } | 2576 | } |
2523 | memset((PVOID)(pbyTxBufferAddr + wTxBufSize), 0, (cbHeaderSize - wTxBufSize)); | 2577 | memset((PVOID)(pbyTxBufferAddr + wTxBufSize), 0, (cbHeaderSize - wTxBufSize)); |
2524 | memcpy(&(sEthHeader.abyDstAddr[0]), &(p80211Header->sA3.abyAddr1[0]), U_ETHER_ADDR_LEN); | 2578 | memcpy(&(sEthHeader.abyDstAddr[0]), |
2525 | memcpy(&(sEthHeader.abySrcAddr[0]), &(p80211Header->sA3.abyAddr2[0]), U_ETHER_ADDR_LEN); | 2579 | &(p80211Header->sA3.abyAddr1[0]), |
2580 | ETH_ALEN); | ||
2581 | memcpy(&(sEthHeader.abySrcAddr[0]), | ||
2582 | &(p80211Header->sA3.abyAddr2[0]), | ||
2583 | ETH_ALEN); | ||
2526 | //========================= | 2584 | //========================= |
2527 | // No Fragmentation | 2585 | // No Fragmentation |
2528 | //========================= | 2586 | //========================= |
diff --git a/drivers/staging/vt6656/rxtx.h b/drivers/staging/vt6656/rxtx.h index 6bc22d371c1..133f4752062 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 | ||
diff --git a/drivers/staging/vt6656/tether.c b/drivers/staging/vt6656/tether.c index ab1368a0838..a7c716f174d 100644 --- a/drivers/staging/vt6656/tether.c +++ b/drivers/staging/vt6656/tether.c | |||
@@ -68,7 +68,7 @@ BYTE ETHbyGetHashIndexByCrc32(PBYTE pbyMultiAddr) | |||
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++) { |
diff --git a/drivers/staging/vt6656/tether.h b/drivers/staging/vt6656/tether.h index 5a3c326436c..af119dd82b2 100644 --- a/drivers/staging/vt6656/tether.h +++ b/drivers/staging/vt6656/tether.h | |||
@@ -29,17 +29,17 @@ | |||
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 // | 39 | #define U_TYPE_LEN 2 // |
40 | #define U_CRC_LEN 4 // | 40 | #define U_CRC_LEN 4 // |
41 | #define U_HEADER_LEN (U_ETHER_ADDR_LEN * 2 + U_TYPE_LEN) | 41 | #define U_HEADER_LEN (ETH_ALEN * 2 + U_TYPE_LEN) |
42 | #define U_ETHER_ADDR_STR_LEN (U_ETHER_ADDR_LEN * 2 + 1) | 42 | #define U_ETHER_ADDR_STR_LEN (ETH_ALEN * 2 + 1) |
43 | // Ethernet address string length | 43 | // Ethernet address string length |
44 | 44 | ||
45 | #define MIN_DATA_LEN 46 // min data length | 45 | #define MIN_DATA_LEN 46 // min data length |
@@ -167,8 +167,8 @@ | |||
167 | // Ethernet packet | 167 | // Ethernet packet |
168 | // | 168 | // |
169 | typedef struct tagSEthernetHeader { | 169 | typedef struct tagSEthernetHeader { |
170 | BYTE abyDstAddr[U_ETHER_ADDR_LEN]; | 170 | BYTE abyDstAddr[ETH_ALEN]; |
171 | BYTE abySrcAddr[U_ETHER_ADDR_LEN]; | 171 | BYTE abySrcAddr[ETH_ALEN]; |
172 | WORD wType; | 172 | WORD wType; |
173 | }__attribute__ ((__packed__)) | 173 | }__attribute__ ((__packed__)) |
174 | SEthernetHeader, *PSEthernetHeader; | 174 | SEthernetHeader, *PSEthernetHeader; |
@@ -178,8 +178,8 @@ SEthernetHeader, *PSEthernetHeader; | |||
178 | // 802_3 packet | 178 | // 802_3 packet |
179 | // | 179 | // |
180 | typedef struct tagS802_3Header { | 180 | typedef struct tagS802_3Header { |
181 | BYTE abyDstAddr[U_ETHER_ADDR_LEN]; | 181 | BYTE abyDstAddr[ETH_ALEN]; |
182 | BYTE abySrcAddr[U_ETHER_ADDR_LEN]; | 182 | BYTE abySrcAddr[ETH_ALEN]; |
183 | WORD wLen; | 183 | WORD wLen; |
184 | }__attribute__ ((__packed__)) | 184 | }__attribute__ ((__packed__)) |
185 | S802_3Header, *PS802_3Header; | 185 | S802_3Header, *PS802_3Header; |
@@ -190,11 +190,11 @@ S802_3Header, *PS802_3Header; | |||
190 | typedef struct tagS802_11Header { | 190 | typedef struct tagS802_11Header { |
191 | WORD wFrameCtl; | 191 | WORD wFrameCtl; |
192 | WORD wDurationID; | 192 | WORD wDurationID; |
193 | BYTE abyAddr1[U_ETHER_ADDR_LEN]; | 193 | BYTE abyAddr1[ETH_ALEN]; |
194 | BYTE abyAddr2[U_ETHER_ADDR_LEN]; | 194 | BYTE abyAddr2[ETH_ALEN]; |
195 | BYTE abyAddr3[U_ETHER_ADDR_LEN]; | 195 | BYTE abyAddr3[ETH_ALEN]; |
196 | WORD wSeqCtl; | 196 | WORD wSeqCtl; |
197 | BYTE abyAddr4[U_ETHER_ADDR_LEN]; | 197 | BYTE abyAddr4[ETH_ALEN]; |
198 | }__attribute__ ((__packed__)) | 198 | }__attribute__ ((__packed__)) |
199 | S802_11Header, *PS802_11Header; | 199 | S802_11Header, *PS802_11Header; |
200 | 200 | ||
diff --git a/drivers/staging/vt6656/wctl.c b/drivers/staging/vt6656/wctl.c index 40986da1e4a..956add69422 100644 --- a/drivers/staging/vt6656/wctl.c +++ b/drivers/staging/vt6656/wctl.c | |||
@@ -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; |
@@ -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 | } |
diff --git a/drivers/staging/vt6656/wmgr.c b/drivers/staging/vt6656/wmgr.c index 330aea69d23..9b4ff79912a 100644 --- a/drivers/staging/vt6656/wmgr.c +++ b/drivers/staging/vt6656/wmgr.c | |||
@@ -3773,13 +3773,17 @@ s_MgrMakeAssocRequest( | |||
3773 | pwPMKID = (PWORD)pbyRSN; // Point to PMKID count | 3773 | pwPMKID = (PWORD)pbyRSN; // Point to PMKID count |
3774 | *pwPMKID = 0; // Initialize PMKID count | 3774 | *pwPMKID = 0; // Initialize PMKID count |
3775 | pbyRSN += 2; // Point to PMKID list | 3775 | pbyRSN += 2; // Point to PMKID list |
3776 | for (ii = 0; ii < pDevice->gsPMKID.BSSIDInfoCount; ii++) { | 3776 | for (ii = 0; ii < pDevice->gsPMKID.BSSIDInfoCount; ii++) { |
3777 | if ( !memcmp(&pDevice->gsPMKID.BSSIDInfo[ii].BSSID[0], pMgmt->abyCurrBSSID, U_ETHER_ADDR_LEN)) { | 3777 | if (!memcmp(&pDevice->gsPMKID.BSSIDInfo[ii].BSSID[0], |
3778 | (*pwPMKID) ++; | 3778 | pMgmt->abyCurrBSSID, |
3779 | memcpy(pbyRSN, pDevice->gsPMKID.BSSIDInfo[ii].PMKID, 16); | 3779 | ETH_ALEN)) { |
3780 | pbyRSN += 16; | 3780 | (*pwPMKID)++; |
3781 | } | 3781 | memcpy(pbyRSN, |
3782 | } | 3782 | pDevice->gsPMKID.BSSIDInfo[ii].PMKID, |
3783 | 16); | ||
3784 | pbyRSN += 16; | ||
3785 | } | ||
3786 | } | ||
3783 | if (*pwPMKID != 0) { | 3787 | if (*pwPMKID != 0) { |
3784 | sFrame.pRSN->len += (2 + (*pwPMKID)*16); | 3788 | sFrame.pRSN->len += (2 + (*pwPMKID)*16); |
3785 | } | 3789 | } |
@@ -4030,10 +4034,14 @@ s_MgrMakeReAssocRequest( | |||
4030 | *pwPMKID = 0; // Initialize PMKID count | 4034 | *pwPMKID = 0; // Initialize PMKID count |
4031 | pbyRSN += 2; // Point to PMKID list | 4035 | pbyRSN += 2; // Point to PMKID list |
4032 | for (ii = 0; ii < pDevice->gsPMKID.BSSIDInfoCount; ii++) { | 4036 | for (ii = 0; ii < pDevice->gsPMKID.BSSIDInfoCount; ii++) { |
4033 | if ( !memcmp(&pDevice->gsPMKID.BSSIDInfo[ii].BSSID[0], pMgmt->abyCurrBSSID, U_ETHER_ADDR_LEN)) { | 4037 | if (!memcmp(&pDevice->gsPMKID.BSSIDInfo[ii].BSSID[0], |
4034 | (*pwPMKID) ++; | 4038 | pMgmt->abyCurrBSSID, |
4035 | memcpy(pbyRSN, pDevice->gsPMKID.BSSIDInfo[ii].PMKID, 16); | 4039 | ETH_ALEN)) { |
4036 | pbyRSN += 16; | 4040 | (*pwPMKID)++; |
4041 | memcpy(pbyRSN, | ||
4042 | pDevice->gsPMKID.BSSIDInfo[ii].PMKID, | ||
4043 | 16); | ||
4044 | pbyRSN += 16; | ||
4037 | } | 4045 | } |
4038 | } | 4046 | } |
4039 | if (*pwPMKID != 0) { | 4047 | if (*pwPMKID != 0) { |
@@ -4057,8 +4065,6 @@ s_MgrMakeReAssocRequest( | |||
4057 | return pTxPacket; | 4065 | return pTxPacket; |
4058 | } | 4066 | } |
4059 | 4067 | ||
4060 | |||
4061 | |||
4062 | /*+ | 4068 | /*+ |
4063 | * | 4069 | * |
4064 | * Routine Description: | 4070 | * Routine Description: |
@@ -4070,7 +4076,6 @@ s_MgrMakeReAssocRequest( | |||
4070 | * | 4076 | * |
4071 | -*/ | 4077 | -*/ |
4072 | 4078 | ||
4073 | |||
4074 | PSTxMgmtPacket | 4079 | PSTxMgmtPacket |
4075 | s_MgrMakeAssocResponse( | 4080 | s_MgrMakeAssocResponse( |
4076 | IN PSDevice pDevice, | 4081 | IN PSDevice pDevice, |
@@ -4745,13 +4750,16 @@ bAdd_PMKID_Candidate ( | |||
4745 | 4750 | ||
4746 | // Update Old Candidate | 4751 | // Update Old Candidate |
4747 | for (ii = 0; ii < pDevice->gsPMKIDCandidate.NumCandidates; ii++) { | 4752 | for (ii = 0; ii < pDevice->gsPMKIDCandidate.NumCandidates; ii++) { |
4748 | pCandidateList = &pDevice->gsPMKIDCandidate.CandidateList[ii]; | 4753 | pCandidateList = &pDevice->gsPMKIDCandidate.CandidateList[ii]; |
4749 | if ( !memcmp(pCandidateList->BSSID, pbyBSSID, U_ETHER_ADDR_LEN)) { | 4754 | if (!memcmp(pCandidateList->BSSID, pbyBSSID, ETH_ALEN)) { |
4750 | if ((psRSNCapObj->bRSNCapExist == TRUE) && (psRSNCapObj->wRSNCap & BIT0)) { | 4755 | if ((psRSNCapObj->bRSNCapExist == TRUE) |
4751 | pCandidateList->Flags |= NDIS_802_11_PMKID_CANDIDATE_PREAUTH_ENABLED; | 4756 | && (psRSNCapObj->wRSNCap & BIT0)) { |
4752 | } else { | 4757 | pCandidateList->Flags |= |
4753 | pCandidateList->Flags &= ~(NDIS_802_11_PMKID_CANDIDATE_PREAUTH_ENABLED); | 4758 | NDIS_802_11_PMKID_CANDIDATE_PREAUTH_ENABLED; |
4754 | } | 4759 | } else { |
4760 | pCandidateList->Flags &= | ||
4761 | ~(NDIS_802_11_PMKID_CANDIDATE_PREAUTH_ENABLED); | ||
4762 | } | ||
4755 | return TRUE; | 4763 | return TRUE; |
4756 | } | 4764 | } |
4757 | } | 4765 | } |
@@ -4763,7 +4771,7 @@ bAdd_PMKID_Candidate ( | |||
4763 | } else { | 4771 | } else { |
4764 | pCandidateList->Flags &= ~(NDIS_802_11_PMKID_CANDIDATE_PREAUTH_ENABLED); | 4772 | pCandidateList->Flags &= ~(NDIS_802_11_PMKID_CANDIDATE_PREAUTH_ENABLED); |
4765 | } | 4773 | } |
4766 | memcpy(pCandidateList->BSSID, pbyBSSID, U_ETHER_ADDR_LEN); | 4774 | memcpy(pCandidateList->BSSID, pbyBSSID, ETH_ALEN); |
4767 | pDevice->gsPMKIDCandidate.NumCandidates++; | 4775 | pDevice->gsPMKIDCandidate.NumCandidates++; |
4768 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"NumCandidates:%d\n", (int)pDevice->gsPMKIDCandidate.NumCandidates); | 4776 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"NumCandidates:%d\n", (int)pDevice->gsPMKIDCandidate.NumCandidates); |
4769 | return TRUE; | 4777 | return TRUE; |
diff --git a/drivers/staging/vt6656/wpa2.c b/drivers/staging/vt6656/wpa2.c index fa3aeedfb27..f8be30df69c 100644 --- a/drivers/staging/vt6656/wpa2.c +++ b/drivers/staging/vt6656/wpa2.c | |||
@@ -337,20 +337,25 @@ WPA2uSetIEs( | |||
337 | } | 337 | } |
338 | pRSNIEs->len +=2; | 338 | pRSNIEs->len +=2; |
339 | 339 | ||
340 | if ((pMgmt->gsPMKIDCache.BSSIDInfoCount > 0) && | 340 | if ((pMgmt->gsPMKIDCache.BSSIDInfoCount > 0) && |
341 | (pMgmt->bRoaming == TRUE) && | 341 | (pMgmt->bRoaming == TRUE) && |
342 | (pMgmt->eAuthenMode == WMAC_AUTH_WPA2)) { | 342 | (pMgmt->eAuthenMode == WMAC_AUTH_WPA2)) { |
343 | // RSN PMKID | 343 | /* RSN PMKID, pointer to PMKID count */ |
344 | pwPMKID = (PWORD)(&pRSNIEs->abyRSN[18]); // Point to PMKID count | 344 | pwPMKID = (PWORD)(&pRSNIEs->abyRSN[18]); |
345 | *pwPMKID = 0; // Initialize PMKID count | 345 | *pwPMKID = 0; /* Initialize PMKID count */ |
346 | pbyBuffer = &pRSNIEs->abyRSN[20]; // Point to PMKID list | 346 | pbyBuffer = &pRSNIEs->abyRSN[20]; /* Point to PMKID list */ |
347 | for (ii = 0; ii < pMgmt->gsPMKIDCache.BSSIDInfoCount; ii++) { | 347 | for (ii = 0; ii < pMgmt->gsPMKIDCache.BSSIDInfoCount; ii++) { |
348 | if ( !memcmp(&pMgmt->gsPMKIDCache.BSSIDInfo[ii].abyBSSID[0], pMgmt->abyCurrBSSID, U_ETHER_ADDR_LEN)) { | 348 | if (!memcmp(&pMgmt-> |
349 | (*pwPMKID) ++; | 349 | gsPMKIDCache.BSSIDInfo[ii].abyBSSID[0], |
350 | memcpy(pbyBuffer, pMgmt->gsPMKIDCache.BSSIDInfo[ii].abyPMKID, 16); | 350 | pMgmt->abyCurrBSSID, |
351 | pbyBuffer += 16; | 351 | ETH_ALEN)) { |
352 | } | 352 | (*pwPMKID)++; |
353 | } | 353 | memcpy(pbyBuffer, |
354 | pMgmt->gsPMKIDCache.BSSIDInfo[ii].abyPMKID, | ||
355 | 16); | ||
356 | pbyBuffer += 16; | ||
357 | } | ||
358 | } | ||
354 | if (*pwPMKID != 0) { | 359 | if (*pwPMKID != 0) { |
355 | pRSNIEs->len += (2 + (*pwPMKID)*16); | 360 | pRSNIEs->len += (2 + (*pwPMKID)*16); |
356 | } else { | 361 | } else { |
diff --git a/drivers/staging/vt6656/wpactl.c b/drivers/staging/vt6656/wpactl.c index 4555bc0448b..25b784c26e8 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; |