aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/staging/vt6656
diff options
context:
space:
mode:
authorAndres More <more.andres@gmail.com>2010-04-13 20:54:48 -0400
committerGreg Kroah-Hartman <gregkh@suse.de>2010-05-11 14:35:56 -0400
commit9a0e756c5280750c23bd44d2b855a1f5442ea7b4 (patch)
treed1c3250322f96bd8772401f1989ae1d1d57fa3da /drivers/staging/vt6656
parent26e5b65b0794a1970ab09b65ef39beb9058ec952 (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.c11
-rw-r--r--drivers/staging/vt6656/desc.h6
-rw-r--r--drivers/staging/vt6656/device.h22
-rw-r--r--drivers/staging/vt6656/dpc.c85
-rw-r--r--drivers/staging/vt6656/ioctl.c4
-rw-r--r--drivers/staging/vt6656/key.c4
-rw-r--r--drivers/staging/vt6656/key.h2
-rw-r--r--drivers/staging/vt6656/main_usb.c41
-rw-r--r--drivers/staging/vt6656/mib.c19
-rw-r--r--drivers/staging/vt6656/mib.h4
-rw-r--r--drivers/staging/vt6656/rxtx.c218
-rw-r--r--drivers/staging/vt6656/rxtx.h6
-rw-r--r--drivers/staging/vt6656/tether.c2
-rw-r--r--drivers/staging/vt6656/tether.h22
-rw-r--r--drivers/staging/vt6656/wctl.c6
-rw-r--r--drivers/staging/vt6656/wmgr.c52
-rw-r--r--drivers/staging/vt6656/wpa2.c31
-rw-r--r--drivers/staging/vt6656/wpactl.c2
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;
206typedef struct tagSRTSData { 206typedef 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__))
212SRTSData, *PSRTSData; 212SRTSData, *PSRTSData;
213typedef const SRTSData *PCSRTSData; 213typedef const SRTSData *PCSRTSData;
@@ -282,7 +282,7 @@ typedef const SRTS_a_FB *PCSRTS_a_FB;
282typedef struct tagSCTSData { 282typedef 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__))
288SCTSData, *PSCTSData; 288SCTSData, *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
370typedef struct tagSCacheEntry{ 370typedef 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
72typedef struct tagSKeyTable 72typedef 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);
295static void 295static void
296device_set_options(PSDevice pDevice) { 296device_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
360static BOOL device_init_registers(PSDevice pDevice, DEVICE_INIT_TYPE InitType) 359static 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 = {
757static int __devinit 760static int __devinit
758vt6656_probe(struct usb_interface *intf, const struct usb_device_id *id) 761vt6656_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 @@
43typedef struct tagSRTSDataF { 43typedef 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 {
53typedef struct tagSCTSDataF { 53typedef 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//
169typedef struct tagSEthernetHeader { 169typedef 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__))
174SEthernetHeader, *PSEthernetHeader; 174SEthernetHeader, *PSEthernetHeader;
@@ -178,8 +178,8 @@ SEthernetHeader, *PSEthernetHeader;
178// 802_3 packet 178// 802_3 packet
179// 179//
180typedef struct tagS802_3Header { 180typedef 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__))
185S802_3Header, *PS802_3Header; 185S802_3Header, *PS802_3Header;
@@ -190,11 +190,11 @@ S802_3Header, *PS802_3Header;
190typedef struct tagS802_11Header { 190typedef 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__))
199S802_11Header, *PS802_11Header; 199S802_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
4074PSTxMgmtPacket 4079PSTxMgmtPacket
4075s_MgrMakeAssocResponse( 4080s_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;