diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/staging/vt6656/baseband.c | 22 | ||||
-rw-r--r-- | drivers/staging/vt6656/baseband.h | 11 | ||||
-rw-r--r-- | drivers/staging/vt6656/bssdb.c | 277 | ||||
-rw-r--r-- | drivers/staging/vt6656/bssdb.h | 202 | ||||
-rw-r--r-- | drivers/staging/vt6656/dpc.c | 14 | ||||
-rw-r--r-- | drivers/staging/vt6656/int.c | 14 | ||||
-rw-r--r-- | drivers/staging/vt6656/ioctl.c | 31 | ||||
-rw-r--r-- | drivers/staging/vt6656/iwctl.c | 42 | ||||
-rw-r--r-- | drivers/staging/vt6656/main_usb.c | 24 | ||||
-rw-r--r-- | drivers/staging/vt6656/power.c | 58 | ||||
-rw-r--r-- | drivers/staging/vt6656/power.h | 41 | ||||
-rw-r--r-- | drivers/staging/vt6656/rxtx.c | 15 | ||||
-rw-r--r-- | drivers/staging/vt6656/ttype.h | 7 | ||||
-rw-r--r-- | drivers/staging/vt6656/wcmd.c | 124 | ||||
-rw-r--r-- | drivers/staging/vt6656/wcmd.h | 30 | ||||
-rw-r--r-- | drivers/staging/vt6656/wmgr.c | 248 | ||||
-rw-r--r-- | drivers/staging/vt6656/wmgr.h | 109 | ||||
-rw-r--r-- | drivers/staging/vt6656/wpactl.c | 18 |
18 files changed, 506 insertions, 781 deletions
diff --git a/drivers/staging/vt6656/baseband.c b/drivers/staging/vt6656/baseband.c index d8154f366d5..01680e6b0f5 100644 --- a/drivers/staging/vt6656/baseband.c +++ b/drivers/staging/vt6656/baseband.c | |||
@@ -1513,7 +1513,9 @@ BBvAntennaDiversity (PSDevice pDevice, BYTE byRxRate, BYTE bySQ3) | |||
1513 | if ( pDevice->byTMax == 0 ) | 1513 | if ( pDevice->byTMax == 0 ) |
1514 | return; | 1514 | return; |
1515 | 1515 | ||
1516 | bScheduleCommand((HANDLE) pDevice, WLAN_CMD_CHANGE_ANTENNA, NULL); | 1516 | bScheduleCommand((void *) pDevice, |
1517 | WLAN_CMD_CHANGE_ANTENNA, | ||
1518 | NULL); | ||
1517 | 1519 | ||
1518 | pDevice->byAntennaState = 1; | 1520 | pDevice->byAntennaState = 1; |
1519 | 1521 | ||
@@ -1543,7 +1545,9 @@ BBvAntennaDiversity (PSDevice pDevice, BYTE byRxRate, BYTE bySQ3) | |||
1543 | ((pDevice->ulSQ3_State1 != 0) && (pDevice->ulSQ3_State0 != 0) && (pDevice->ulSQ3_State0 < pDevice->ulSQ3_State1)) | 1545 | ((pDevice->ulSQ3_State1 != 0) && (pDevice->ulSQ3_State0 != 0) && (pDevice->ulSQ3_State0 < pDevice->ulSQ3_State1)) |
1544 | ) { | 1546 | ) { |
1545 | 1547 | ||
1546 | bScheduleCommand((HANDLE) pDevice, WLAN_CMD_CHANGE_ANTENNA, NULL); | 1548 | bScheduleCommand((void *) pDevice, |
1549 | WLAN_CMD_CHANGE_ANTENNA, | ||
1550 | NULL); | ||
1547 | 1551 | ||
1548 | pDevice->TimerSQ3Tmax3.expires = RUN_AT(pDevice->byTMax3 * HZ); | 1552 | pDevice->TimerSQ3Tmax3.expires = RUN_AT(pDevice->byTMax3 * HZ); |
1549 | pDevice->TimerSQ3Tmax2.expires = RUN_AT(pDevice->byTMax2 * HZ); | 1553 | pDevice->TimerSQ3Tmax2.expires = RUN_AT(pDevice->byTMax2 * HZ); |
@@ -1576,17 +1580,14 @@ BBvAntennaDiversity (PSDevice pDevice, BYTE byRxRate, BYTE bySQ3) | |||
1576 | * | 1580 | * |
1577 | -*/ | 1581 | -*/ |
1578 | 1582 | ||
1579 | void | 1583 | void TimerSQ3CallBack(void *hDeviceContext) |
1580 | TimerSQ3CallBack ( | ||
1581 | HANDLE hDeviceContext | ||
1582 | ) | ||
1583 | { | 1584 | { |
1584 | PSDevice pDevice = (PSDevice)hDeviceContext; | 1585 | PSDevice pDevice = (PSDevice)hDeviceContext; |
1585 | 1586 | ||
1586 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"TimerSQ3CallBack..."); | 1587 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"TimerSQ3CallBack..."); |
1587 | spin_lock_irq(&pDevice->lock); | 1588 | spin_lock_irq(&pDevice->lock); |
1588 | 1589 | ||
1589 | bScheduleCommand((HANDLE) pDevice, WLAN_CMD_CHANGE_ANTENNA, NULL); | 1590 | bScheduleCommand((void *) pDevice, WLAN_CMD_CHANGE_ANTENNA, NULL); |
1590 | pDevice->byAntennaState = 0; | 1591 | pDevice->byAntennaState = 0; |
1591 | s_vClearSQ3Value(pDevice); | 1592 | s_vClearSQ3Value(pDevice); |
1592 | pDevice->TimerSQ3Tmax3.expires = RUN_AT(pDevice->byTMax3 * HZ); | 1593 | pDevice->TimerSQ3Tmax3.expires = RUN_AT(pDevice->byTMax3 * HZ); |
@@ -1618,10 +1619,7 @@ TimerSQ3CallBack ( | |||
1618 | * | 1619 | * |
1619 | -*/ | 1620 | -*/ |
1620 | 1621 | ||
1621 | void | 1622 | void TimerSQ3Tmax3CallBack(void *hDeviceContext) |
1622 | TimerSQ3Tmax3CallBack ( | ||
1623 | HANDLE hDeviceContext | ||
1624 | ) | ||
1625 | { | 1623 | { |
1626 | PSDevice pDevice = (PSDevice)hDeviceContext; | 1624 | PSDevice pDevice = (PSDevice)hDeviceContext; |
1627 | 1625 | ||
@@ -1639,7 +1637,7 @@ TimerSQ3Tmax3CallBack ( | |||
1639 | return; | 1637 | return; |
1640 | } | 1638 | } |
1641 | 1639 | ||
1642 | bScheduleCommand((HANDLE) pDevice, WLAN_CMD_CHANGE_ANTENNA, NULL); | 1640 | bScheduleCommand((void *) pDevice, WLAN_CMD_CHANGE_ANTENNA, NULL); |
1643 | pDevice->byAntennaState = 1; | 1641 | pDevice->byAntennaState = 1; |
1644 | del_timer(&pDevice->TimerSQ3Tmax3); | 1642 | del_timer(&pDevice->TimerSQ3Tmax3); |
1645 | del_timer(&pDevice->TimerSQ3Tmax2); | 1643 | del_timer(&pDevice->TimerSQ3Tmax2); |
diff --git a/drivers/staging/vt6656/baseband.h b/drivers/staging/vt6656/baseband.h index d54d4150dd0..d59992c17ec 100644 --- a/drivers/staging/vt6656/baseband.h +++ b/drivers/staging/vt6656/baseband.h | |||
@@ -117,15 +117,8 @@ BBvCaculateParameter ( | |||
117 | 117 | ||
118 | // timer for antenna diversity | 118 | // timer for antenna diversity |
119 | 119 | ||
120 | void | 120 | void TimerSQ3CallBack(void *hDeviceContext); |
121 | TimerSQ3CallBack ( | 121 | void TimerSQ3Tmax3CallBack(void *hDeviceContext); |
122 | HANDLE hDeviceContext | ||
123 | ); | ||
124 | |||
125 | void | ||
126 | TimerSQ3Tmax3CallBack ( | ||
127 | HANDLE hDeviceContext | ||
128 | ); | ||
129 | 122 | ||
130 | void BBvAntennaDiversity(PSDevice pDevice, BYTE byRxRate, BYTE bySQ3); | 123 | void BBvAntennaDiversity(PSDevice pDevice, BYTE byRxRate, BYTE bySQ3); |
131 | void BBvLoopbackOn(PSDevice pDevice); | 124 | void BBvLoopbackOn(PSDevice pDevice); |
diff --git a/drivers/staging/vt6656/bssdb.c b/drivers/staging/vt6656/bssdb.c index 7cc0d9533f7..8c68e04cf98 100644 --- a/drivers/staging/vt6656/bssdb.c +++ b/drivers/staging/vt6656/bssdb.c | |||
@@ -91,19 +91,13 @@ const WORD awHWRetry1[5][5] = { | |||
91 | 91 | ||
92 | /*--------------------- Static Functions --------------------------*/ | 92 | /*--------------------- Static Functions --------------------------*/ |
93 | 93 | ||
94 | void s_vCheckSensitivity( | 94 | void s_vCheckSensitivity(void *hDeviceContext); |
95 | HANDLE hDeviceContext | 95 | void s_vCheckPreEDThreshold(void *hDeviceContext); |
96 | ); | ||
97 | |||
98 | void s_vCheckPreEDThreshold( | ||
99 | HANDLE hDeviceContext | ||
100 | ); | ||
101 | 96 | ||
102 | #ifdef Calcu_LinkQual | 97 | #ifdef Calcu_LinkQual |
103 | void s_uCalculateLinkQual( | 98 | void s_uCalculateLinkQual(void *hDeviceContext); |
104 | HANDLE hDeviceContext | ||
105 | ); | ||
106 | #endif | 99 | #endif |
100 | |||
107 | /*--------------------- Export Variables --------------------------*/ | 101 | /*--------------------- Export Variables --------------------------*/ |
108 | 102 | ||
109 | 103 | ||
@@ -123,13 +117,10 @@ void s_uCalculateLinkQual( | |||
123 | * | 117 | * |
124 | -*/ | 118 | -*/ |
125 | 119 | ||
126 | PKnownBSS | 120 | PKnownBSS BSSpSearchBSSList(void *hDeviceContext, |
127 | BSSpSearchBSSList( | 121 | PBYTE pbyDesireBSSID, |
128 | HANDLE hDeviceContext, | 122 | PBYTE pbyDesireSSID, |
129 | PBYTE pbyDesireBSSID, | 123 | CARD_PHY_TYPE ePhyType) |
130 | PBYTE pbyDesireSSID, | ||
131 | CARD_PHY_TYPE ePhyType | ||
132 | ) | ||
133 | { | 124 | { |
134 | PSDevice pDevice = (PSDevice)hDeviceContext; | 125 | PSDevice pDevice = (PSDevice)hDeviceContext; |
135 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); | 126 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); |
@@ -296,11 +287,7 @@ pDevice->bSameBSSMaxNum = jj; | |||
296 | -*/ | 287 | -*/ |
297 | 288 | ||
298 | 289 | ||
299 | void | 290 | void BSSvClearBSSList(void *hDeviceContext, BOOL bKeepCurrBSSID) |
300 | BSSvClearBSSList( | ||
301 | HANDLE hDeviceContext, | ||
302 | BOOL bKeepCurrBSSID | ||
303 | ) | ||
304 | { | 291 | { |
305 | PSDevice pDevice = (PSDevice)hDeviceContext; | 292 | PSDevice pDevice = (PSDevice)hDeviceContext; |
306 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); | 293 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); |
@@ -342,12 +329,9 @@ BSSvClearBSSList( | |||
342 | * TRUE if found. | 329 | * TRUE if found. |
343 | * | 330 | * |
344 | -*/ | 331 | -*/ |
345 | PKnownBSS | 332 | PKnownBSS BSSpAddrIsInBSSList(void *hDeviceContext, |
346 | BSSpAddrIsInBSSList( | 333 | PBYTE abyBSSID, |
347 | HANDLE hDeviceContext, | 334 | PWLAN_IE_SSID pSSID) |
348 | PBYTE abyBSSID, | ||
349 | PWLAN_IE_SSID pSSID | ||
350 | ) | ||
351 | { | 335 | { |
352 | PSDevice pDevice = (PSDevice)hDeviceContext; | 336 | PSDevice pDevice = (PSDevice)hDeviceContext; |
353 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); | 337 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); |
@@ -383,26 +367,23 @@ BSSpAddrIsInBSSList( | |||
383 | * | 367 | * |
384 | -*/ | 368 | -*/ |
385 | 369 | ||
386 | BOOL | 370 | BOOL BSSbInsertToBSSList(void *hDeviceContext, |
387 | BSSbInsertToBSSList ( | 371 | PBYTE abyBSSIDAddr, |
388 | HANDLE hDeviceContext, | 372 | QWORD qwTimestamp, |
389 | PBYTE abyBSSIDAddr, | 373 | WORD wBeaconInterval, |
390 | QWORD qwTimestamp, | 374 | WORD wCapInfo, |
391 | WORD wBeaconInterval, | 375 | BYTE byCurrChannel, |
392 | WORD wCapInfo, | 376 | PWLAN_IE_SSID pSSID, |
393 | BYTE byCurrChannel, | 377 | PWLAN_IE_SUPP_RATES pSuppRates, |
394 | PWLAN_IE_SSID pSSID, | 378 | PWLAN_IE_SUPP_RATES pExtSuppRates, |
395 | PWLAN_IE_SUPP_RATES pSuppRates, | 379 | PERPObject psERP, |
396 | PWLAN_IE_SUPP_RATES pExtSuppRates, | 380 | PWLAN_IE_RSN pRSN, |
397 | PERPObject psERP, | 381 | PWLAN_IE_RSN_EXT pRSNWPA, |
398 | PWLAN_IE_RSN pRSN, | 382 | PWLAN_IE_COUNTRY pIE_Country, |
399 | PWLAN_IE_RSN_EXT pRSNWPA, | 383 | PWLAN_IE_QUIET pIE_Quiet, |
400 | PWLAN_IE_COUNTRY pIE_Country, | 384 | UINT uIELength, |
401 | PWLAN_IE_QUIET pIE_Quiet, | 385 | PBYTE pbyIEs, |
402 | UINT uIELength, | 386 | void *pRxPacketContext) |
403 | PBYTE pbyIEs, | ||
404 | HANDLE pRxPacketContext | ||
405 | ) | ||
406 | { | 387 | { |
407 | 388 | ||
408 | PSDevice pDevice = (PSDevice)hDeviceContext; | 389 | PSDevice pDevice = (PSDevice)hDeviceContext; |
@@ -518,7 +499,9 @@ BSSbInsertToBSSList ( | |||
518 | if ((bIs802_1x == TRUE) && (pSSID->len == ((PWLAN_IE_SSID)pMgmt->abyDesireSSID)->len) && | 499 | if ((bIs802_1x == TRUE) && (pSSID->len == ((PWLAN_IE_SSID)pMgmt->abyDesireSSID)->len) && |
519 | ( !memcmp(pSSID->abySSID, ((PWLAN_IE_SSID)pMgmt->abyDesireSSID)->abySSID, pSSID->len))) { | 500 | ( !memcmp(pSSID->abySSID, ((PWLAN_IE_SSID)pMgmt->abyDesireSSID)->abySSID, pSSID->len))) { |
520 | 501 | ||
521 | bAdd_PMKID_Candidate((HANDLE)pDevice, pBSSList->abyBSSID, &pBSSList->sRSNCapObj); | 502 | bAdd_PMKID_Candidate((void *) pDevice, |
503 | pBSSList->abyBSSID, | ||
504 | &pBSSList->sRSNCapObj); | ||
522 | 505 | ||
523 | if ((pDevice->bLinkPass == TRUE) && (pMgmt->eCurrState == WMAC_STATE_ASSOC)) { | 506 | if ((pDevice->bLinkPass == TRUE) && (pMgmt->eCurrState == WMAC_STATE_ASSOC)) { |
524 | if ((KeybGetTransmitKey(&(pDevice->sKey), pDevice->abyBSSID, PAIRWISE_KEY, &pTransmitKey) == TRUE) || | 507 | if ((KeybGetTransmitKey(&(pDevice->sKey), pDevice->abyBSSID, PAIRWISE_KEY, &pTransmitKey) == TRUE) || |
@@ -602,27 +585,24 @@ BSSbInsertToBSSList ( | |||
602 | -*/ | 585 | -*/ |
603 | // TODO: input structure modify | 586 | // TODO: input structure modify |
604 | 587 | ||
605 | BOOL | 588 | BOOL BSSbUpdateToBSSList(void *hDeviceContext, |
606 | BSSbUpdateToBSSList ( | 589 | QWORD qwTimestamp, |
607 | HANDLE hDeviceContext, | 590 | WORD wBeaconInterval, |
608 | QWORD qwTimestamp, | 591 | WORD wCapInfo, |
609 | WORD wBeaconInterval, | 592 | BYTE byCurrChannel, |
610 | WORD wCapInfo, | 593 | BOOL bChannelHit, |
611 | BYTE byCurrChannel, | 594 | PWLAN_IE_SSID pSSID, |
612 | BOOL bChannelHit, | 595 | PWLAN_IE_SUPP_RATES pSuppRates, |
613 | PWLAN_IE_SSID pSSID, | 596 | PWLAN_IE_SUPP_RATES pExtSuppRates, |
614 | PWLAN_IE_SUPP_RATES pSuppRates, | 597 | PERPObject psERP, |
615 | PWLAN_IE_SUPP_RATES pExtSuppRates, | 598 | PWLAN_IE_RSN pRSN, |
616 | PERPObject psERP, | 599 | PWLAN_IE_RSN_EXT pRSNWPA, |
617 | PWLAN_IE_RSN pRSN, | 600 | PWLAN_IE_COUNTRY pIE_Country, |
618 | PWLAN_IE_RSN_EXT pRSNWPA, | 601 | PWLAN_IE_QUIET pIE_Quiet, |
619 | PWLAN_IE_COUNTRY pIE_Country, | 602 | PKnownBSS pBSSList, |
620 | PWLAN_IE_QUIET pIE_Quiet, | 603 | UINT uIELength, |
621 | PKnownBSS pBSSList, | 604 | PBYTE pbyIEs, |
622 | UINT uIELength, | 605 | void *pRxPacketContext) |
623 | PBYTE pbyIEs, | ||
624 | HANDLE pRxPacketContext | ||
625 | ) | ||
626 | { | 606 | { |
627 | int ii, jj; | 607 | int ii, jj; |
628 | PSDevice pDevice = (PSDevice)hDeviceContext; | 608 | PSDevice pDevice = (PSDevice)hDeviceContext; |
@@ -768,12 +748,9 @@ BSSbUpdateToBSSList ( | |||
768 | * | 748 | * |
769 | -*/ | 749 | -*/ |
770 | 750 | ||
771 | BOOL | 751 | BOOL BSSbIsSTAInNodeDB(void *hDeviceContext, |
772 | BSSbIsSTAInNodeDB( | 752 | PBYTE abyDstAddr, |
773 | HANDLE hDeviceContext, | 753 | PUINT puNodeIndex) |
774 | PBYTE abyDstAddr, | ||
775 | PUINT puNodeIndex | ||
776 | ) | ||
777 | { | 754 | { |
778 | PSDevice pDevice = (PSDevice)hDeviceContext; | 755 | PSDevice pDevice = (PSDevice)hDeviceContext; |
779 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); | 756 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); |
@@ -804,11 +781,7 @@ BSSbIsSTAInNodeDB( | |||
804 | * None | 781 | * None |
805 | * | 782 | * |
806 | -*/ | 783 | -*/ |
807 | void | 784 | void BSSvCreateOneNode(void *hDeviceContext, PUINT puNodeIndex) |
808 | BSSvCreateOneNode( | ||
809 | HANDLE hDeviceContext, | ||
810 | PUINT puNodeIndex | ||
811 | ) | ||
812 | { | 785 | { |
813 | 786 | ||
814 | PSDevice pDevice = (PSDevice)hDeviceContext; | 787 | PSDevice pDevice = (PSDevice)hDeviceContext; |
@@ -869,11 +842,8 @@ BSSvCreateOneNode( | |||
869 | * None | 842 | * None |
870 | * | 843 | * |
871 | -*/ | 844 | -*/ |
872 | void | 845 | |
873 | BSSvRemoveOneNode( | 846 | void BSSvRemoveOneNode(void *hDeviceContext, UINT uNodeIndex) |
874 | HANDLE hDeviceContext, | ||
875 | UINT uNodeIndex | ||
876 | ) | ||
877 | { | 847 | { |
878 | 848 | ||
879 | PSDevice pDevice = (PSDevice)hDeviceContext; | 849 | PSDevice pDevice = (PSDevice)hDeviceContext; |
@@ -902,13 +872,10 @@ BSSvRemoveOneNode( | |||
902 | * | 872 | * |
903 | -*/ | 873 | -*/ |
904 | 874 | ||
905 | void | 875 | void BSSvUpdateAPNode(void *hDeviceContext, |
906 | BSSvUpdateAPNode( | 876 | PWORD pwCapInfo, |
907 | HANDLE hDeviceContext, | 877 | PWLAN_IE_SUPP_RATES pSuppRates, |
908 | PWORD pwCapInfo, | 878 | PWLAN_IE_SUPP_RATES pExtSuppRates) |
909 | PWLAN_IE_SUPP_RATES pSuppRates, | ||
910 | PWLAN_IE_SUPP_RATES pExtSuppRates | ||
911 | ) | ||
912 | { | 879 | { |
913 | PSDevice pDevice = (PSDevice)hDeviceContext; | 880 | PSDevice pDevice = (PSDevice)hDeviceContext; |
914 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); | 881 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); |
@@ -946,10 +913,6 @@ BSSvUpdateAPNode( | |||
946 | 913 | ||
947 | }; | 914 | }; |
948 | 915 | ||
949 | |||
950 | |||
951 | |||
952 | |||
953 | /*+ | 916 | /*+ |
954 | * | 917 | * |
955 | * Routine Description: | 918 | * Routine Description: |
@@ -961,11 +924,7 @@ BSSvUpdateAPNode( | |||
961 | * | 924 | * |
962 | -*/ | 925 | -*/ |
963 | 926 | ||
964 | 927 | void BSSvAddMulticastNode(void *hDeviceContext) | |
965 | void | ||
966 | BSSvAddMulticastNode( | ||
967 | HANDLE hDeviceContext | ||
968 | ) | ||
969 | { | 928 | { |
970 | PSDevice pDevice = (PSDevice)hDeviceContext; | 929 | PSDevice pDevice = (PSDevice)hDeviceContext; |
971 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); | 930 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); |
@@ -991,10 +950,6 @@ BSSvAddMulticastNode( | |||
991 | 950 | ||
992 | }; | 951 | }; |
993 | 952 | ||
994 | |||
995 | |||
996 | |||
997 | |||
998 | /*+ | 953 | /*+ |
999 | * | 954 | * |
1000 | * Routine Description: | 955 | * Routine Description: |
@@ -1008,11 +963,7 @@ BSSvAddMulticastNode( | |||
1008 | * | 963 | * |
1009 | -*/ | 964 | -*/ |
1010 | 965 | ||
1011 | 966 | void BSSvSecondCallBack(void *hDeviceContext) | |
1012 | void | ||
1013 | BSSvSecondCallBack( | ||
1014 | HANDLE hDeviceContext | ||
1015 | ) | ||
1016 | { | 967 | { |
1017 | PSDevice pDevice = (PSDevice)hDeviceContext; | 968 | PSDevice pDevice = (PSDevice)hDeviceContext; |
1018 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); | 969 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); |
@@ -1080,7 +1031,7 @@ if((pMgmt->eCurrState!=WMAC_STATE_ASSOC) && | |||
1080 | #endif | 1031 | #endif |
1081 | 1032 | ||
1082 | #ifdef Calcu_LinkQual | 1033 | #ifdef Calcu_LinkQual |
1083 | s_uCalculateLinkQual((HANDLE)pDevice); | 1034 | s_uCalculateLinkQual((void *)pDevice); |
1084 | #endif | 1035 | #endif |
1085 | 1036 | ||
1086 | for (ii = 0; ii < (MAX_NODE_NUM + 1); ii++) { | 1037 | for (ii = 0; ii < (MAX_NODE_NUM + 1); ii++) { |
@@ -1226,14 +1177,16 @@ if((pMgmt->eCurrState!=WMAC_STATE_ASSOC) && | |||
1226 | // DBG_PRT(MSG_LEVEL_INFO, KERN_INFO "Callback inactive Count = [%d]\n", pMgmt->sNodeDBTable[0].uInActiveCount); | 1177 | // DBG_PRT(MSG_LEVEL_INFO, KERN_INFO "Callback inactive Count = [%d]\n", pMgmt->sNodeDBTable[0].uInActiveCount); |
1227 | 1178 | ||
1228 | if (pDevice->bUpdateBBVGA) { | 1179 | if (pDevice->bUpdateBBVGA) { |
1229 | // s_vCheckSensitivity((HANDLE) pDevice); | 1180 | /* s_vCheckSensitivity((void *) pDevice); */ |
1230 | s_vCheckPreEDThreshold((HANDLE)pDevice); | 1181 | s_vCheckPreEDThreshold((void *) pDevice); |
1231 | } | 1182 | } |
1232 | 1183 | ||
1233 | if ((pMgmt->sNodeDBTable[0].uInActiveCount >= (LOST_BEACON_COUNT/2)) && | 1184 | if ((pMgmt->sNodeDBTable[0].uInActiveCount >= (LOST_BEACON_COUNT/2)) && |
1234 | (pDevice->byBBVGACurrent != pDevice->abyBBVGA[0]) ) { | 1185 | (pDevice->byBBVGACurrent != pDevice->abyBBVGA[0]) ) { |
1235 | pDevice->byBBVGANew = pDevice->abyBBVGA[0]; | 1186 | pDevice->byBBVGANew = pDevice->abyBBVGA[0]; |
1236 | bScheduleCommand((HANDLE) pDevice, WLAN_CMD_CHANGE_BBSENSITIVITY, NULL); | 1187 | bScheduleCommand((void *) pDevice, |
1188 | WLAN_CMD_CHANGE_BBSENSITIVITY, | ||
1189 | NULL); | ||
1237 | } | 1190 | } |
1238 | 1191 | ||
1239 | if (pMgmt->sNodeDBTable[0].uInActiveCount >= LOST_BEACON_COUNT) { | 1192 | if (pMgmt->sNodeDBTable[0].uInActiveCount >= LOST_BEACON_COUNT) { |
@@ -1281,9 +1234,13 @@ DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "bRoaming %d, !\n", pDevice->bRoaming ); | |||
1281 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "bIsRoaming %d, !\n", pDevice->bIsRoaming ); | 1234 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "bIsRoaming %d, !\n", pDevice->bIsRoaming ); |
1282 | if ((pDevice->bRoaming == TRUE)&&(pDevice->bIsRoaming == TRUE)){ | 1235 | if ((pDevice->bRoaming == TRUE)&&(pDevice->bIsRoaming == TRUE)){ |
1283 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "Fast Roaming ...\n"); | 1236 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "Fast Roaming ...\n"); |
1284 | BSSvClearBSSList((HANDLE)pDevice, pDevice->bLinkPass); | 1237 | BSSvClearBSSList((void *) pDevice, pDevice->bLinkPass); |
1285 | bScheduleCommand((HANDLE) pDevice, WLAN_CMD_BSSID_SCAN, pMgmt->abyDesireSSID); | 1238 | bScheduleCommand((void *) pDevice, |
1286 | bScheduleCommand((HANDLE) pDevice, WLAN_CMD_SSID, pMgmt->abyDesireSSID); | 1239 | WLAN_CMD_BSSID_SCAN, |
1240 | pMgmt->abyDesireSSID); | ||
1241 | bScheduleCommand((void *) pDevice, | ||
1242 | WLAN_CMD_SSID, | ||
1243 | pMgmt->abyDesireSSID); | ||
1287 | pDevice->uAutoReConnectTime = 0; | 1244 | pDevice->uAutoReConnectTime = 0; |
1288 | pDevice->uIsroamingTime = 0; | 1245 | pDevice->uIsroamingTime = 0; |
1289 | pDevice->bRoaming = FALSE; | 1246 | pDevice->bRoaming = FALSE; |
@@ -1326,10 +1283,14 @@ else { | |||
1326 | pDevice->eEncryptionStatus = pDevice->eOldEncryptionStatus; | 1283 | pDevice->eEncryptionStatus = pDevice->eOldEncryptionStatus; |
1327 | 1284 | ||
1328 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "Roaming ...\n"); | 1285 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "Roaming ...\n"); |
1329 | BSSvClearBSSList((HANDLE)pDevice, pDevice->bLinkPass); | 1286 | BSSvClearBSSList((void *) pDevice, pDevice->bLinkPass); |
1330 | pMgmt->eScanType = WMAC_SCAN_ACTIVE; | 1287 | pMgmt->eScanType = WMAC_SCAN_ACTIVE; |
1331 | bScheduleCommand((HANDLE) pDevice, WLAN_CMD_BSSID_SCAN, pMgmt->abyDesireSSID); | 1288 | bScheduleCommand((void *) pDevice, |
1332 | bScheduleCommand((HANDLE) pDevice, WLAN_CMD_SSID, pMgmt->abyDesireSSID); | 1289 | WLAN_CMD_BSSID_SCAN, |
1290 | pMgmt->abyDesireSSID); | ||
1291 | bScheduleCommand((void *) pDevice, | ||
1292 | WLAN_CMD_SSID, | ||
1293 | pMgmt->abyDesireSSID); | ||
1333 | pDevice->uAutoReConnectTime = 0; | 1294 | pDevice->uAutoReConnectTime = 0; |
1334 | } | 1295 | } |
1335 | } | 1296 | } |
@@ -1345,17 +1306,17 @@ else { | |||
1345 | else { | 1306 | else { |
1346 | DBG_PRT(MSG_LEVEL_NOTICE, KERN_INFO "Adhoc re-scaning ...\n"); | 1307 | DBG_PRT(MSG_LEVEL_NOTICE, KERN_INFO "Adhoc re-scaning ...\n"); |
1347 | pMgmt->eScanType = WMAC_SCAN_ACTIVE; | 1308 | pMgmt->eScanType = WMAC_SCAN_ACTIVE; |
1348 | bScheduleCommand((HANDLE) pDevice, WLAN_CMD_BSSID_SCAN, NULL); | 1309 | bScheduleCommand((void *) pDevice, WLAN_CMD_BSSID_SCAN, NULL); |
1349 | bScheduleCommand((HANDLE) pDevice, WLAN_CMD_SSID, NULL); | 1310 | bScheduleCommand((void *) pDevice, WLAN_CMD_SSID, NULL); |
1350 | pDevice->uAutoReConnectTime = 0; | 1311 | pDevice->uAutoReConnectTime = 0; |
1351 | }; | 1312 | }; |
1352 | } | 1313 | } |
1353 | if (pMgmt->eCurrState == WMAC_STATE_JOINTED) { | 1314 | if (pMgmt->eCurrState == WMAC_STATE_JOINTED) { |
1354 | 1315 | ||
1355 | if (pDevice->bUpdateBBVGA) { | 1316 | if (pDevice->bUpdateBBVGA) { |
1356 | //s_vCheckSensitivity((HANDLE) pDevice); | 1317 | /* s_vCheckSensitivity((void *) pDevice); */ |
1357 | s_vCheckPreEDThreshold((HANDLE)pDevice); | 1318 | s_vCheckPreEDThreshold((void *) pDevice); |
1358 | } | 1319 | } |
1359 | if (pMgmt->sNodeDBTable[0].uInActiveCount >=ADHOC_LOST_BEACON_COUNT) { | 1320 | if (pMgmt->sNodeDBTable[0].uInActiveCount >=ADHOC_LOST_BEACON_COUNT) { |
1360 | DBG_PRT(MSG_LEVEL_NOTICE, KERN_INFO "Lost other STA beacon [%d] sec, started !\n", pMgmt->sNodeDBTable[0].uInActiveCount); | 1321 | DBG_PRT(MSG_LEVEL_NOTICE, KERN_INFO "Lost other STA beacon [%d] sec, started !\n", pMgmt->sNodeDBTable[0].uInActiveCount); |
1361 | pMgmt->sNodeDBTable[0].uInActiveCount = 0; | 1322 | pMgmt->sNodeDBTable[0].uInActiveCount = 0; |
@@ -1379,9 +1340,6 @@ else { | |||
1379 | return; | 1340 | return; |
1380 | } | 1341 | } |
1381 | 1342 | ||
1382 | |||
1383 | |||
1384 | |||
1385 | /*+ | 1343 | /*+ |
1386 | * | 1344 | * |
1387 | * Routine Description: | 1345 | * Routine Description: |
@@ -1395,15 +1353,10 @@ else { | |||
1395 | * | 1353 | * |
1396 | -*/ | 1354 | -*/ |
1397 | 1355 | ||
1398 | 1356 | void BSSvUpdateNodeTxCounter(void *hDeviceContext, | |
1399 | 1357 | PSStatCounter pStatistic, | |
1400 | void | 1358 | BYTE byTSR, |
1401 | BSSvUpdateNodeTxCounter( | 1359 | BYTE byPktNO) |
1402 | HANDLE hDeviceContext, | ||
1403 | PSStatCounter pStatistic, | ||
1404 | BYTE byTSR, | ||
1405 | BYTE byPktNO | ||
1406 | ) | ||
1407 | { | 1360 | { |
1408 | PSDevice pDevice = (PSDevice)hDeviceContext; | 1361 | PSDevice pDevice = (PSDevice)hDeviceContext; |
1409 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); | 1362 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); |
@@ -1417,8 +1370,6 @@ BSSvUpdateNodeTxCounter( | |||
1417 | BYTE byPktNum; | 1370 | BYTE byPktNum; |
1418 | WORD wFIFOCtl; | 1371 | WORD wFIFOCtl; |
1419 | 1372 | ||
1420 | |||
1421 | |||
1422 | byPktNum = (byPktNO & 0x0F) >> 4; | 1373 | byPktNum = (byPktNO & 0x0F) >> 4; |
1423 | byTxRetry = (byTSR & 0xF0) >> 4; | 1374 | byTxRetry = (byTSR & 0xF0) >> 4; |
1424 | wRate = (WORD) (byPktNO & 0xF0) >> 4; | 1375 | wRate = (WORD) (byPktNO & 0xF0) >> 4; |
@@ -1485,11 +1436,13 @@ BSSvUpdateNodeTxCounter( | |||
1485 | } | 1436 | } |
1486 | }; | 1437 | }; |
1487 | 1438 | ||
1488 | if ((pMgmt->eCurrMode == WMAC_MODE_IBSS_STA) || | 1439 | if ((pMgmt->eCurrMode == WMAC_MODE_IBSS_STA) || |
1489 | (pMgmt->eCurrMode == WMAC_MODE_ESS_AP)) { | 1440 | (pMgmt->eCurrMode == WMAC_MODE_ESS_AP)) { |
1490 | 1441 | ||
1491 | if (BSSbIsSTAInNodeDB((HANDLE)pDevice, pbyDestAddr, &uNodeIndex)){ | 1442 | if (BSSbIsSTAInNodeDB((void *) pDevice, |
1492 | pMgmt->sNodeDBTable[uNodeIndex].uTxAttempts += 1; | 1443 | pbyDestAddr, |
1444 | &uNodeIndex)) { | ||
1445 | pMgmt->sNodeDBTable[uNodeIndex].uTxAttempts += 1; | ||
1493 | if ( !(byTSR & (TSR_TMO | TSR_RETRYTMO))) { | 1446 | if ( !(byTSR & (TSR_TMO | TSR_RETRYTMO))) { |
1494 | // transmit success, TxAttempts at least plus one | 1447 | // transmit success, TxAttempts at least plus one |
1495 | pMgmt->sNodeDBTable[uNodeIndex].uTxOk[MAX_RATE]++; | 1448 | pMgmt->sNodeDBTable[uNodeIndex].uTxOk[MAX_RATE]++; |
@@ -1544,9 +1497,6 @@ BSSvUpdateNodeTxCounter( | |||
1544 | 1497 | ||
1545 | } | 1498 | } |
1546 | 1499 | ||
1547 | |||
1548 | |||
1549 | |||
1550 | /*+ | 1500 | /*+ |
1551 | * | 1501 | * |
1552 | * Routine Description: | 1502 | * Routine Description: |
@@ -1565,13 +1515,8 @@ BSSvUpdateNodeTxCounter( | |||
1565 | * | 1515 | * |
1566 | -*/ | 1516 | -*/ |
1567 | 1517 | ||
1568 | 1518 | void BSSvClearNodeDBTable(void *hDeviceContext, | |
1569 | void | 1519 | UINT uStartIndex) |
1570 | BSSvClearNodeDBTable( | ||
1571 | HANDLE hDeviceContext, | ||
1572 | UINT uStartIndex | ||
1573 | ) | ||
1574 | |||
1575 | { | 1520 | { |
1576 | PSDevice pDevice = (PSDevice)hDeviceContext; | 1521 | PSDevice pDevice = (PSDevice)hDeviceContext; |
1577 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); | 1522 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); |
@@ -1594,10 +1539,7 @@ BSSvClearNodeDBTable( | |||
1594 | return; | 1539 | return; |
1595 | }; | 1540 | }; |
1596 | 1541 | ||
1597 | 1542 | void s_vCheckSensitivity(void *hDeviceContext) | |
1598 | void s_vCheckSensitivity( | ||
1599 | HANDLE hDeviceContext | ||
1600 | ) | ||
1601 | { | 1543 | { |
1602 | PSDevice pDevice = (PSDevice)hDeviceContext; | 1544 | PSDevice pDevice = (PSDevice)hDeviceContext; |
1603 | PKnownBSS pBSSList = NULL; | 1545 | PKnownBSS pBSSList = NULL; |
@@ -1629,7 +1571,9 @@ void s_vCheckSensitivity( | |||
1629 | if (pDevice->byBBVGANew != pDevice->byBBVGACurrent) { | 1571 | if (pDevice->byBBVGANew != pDevice->byBBVGACurrent) { |
1630 | pDevice->uBBVGADiffCount++; | 1572 | pDevice->uBBVGADiffCount++; |
1631 | if (pDevice->uBBVGADiffCount >= BB_VGA_CHANGE_THRESHOLD) | 1573 | if (pDevice->uBBVGADiffCount >= BB_VGA_CHANGE_THRESHOLD) |
1632 | bScheduleCommand((HANDLE) pDevice, WLAN_CMD_CHANGE_BBSENSITIVITY, NULL); | 1574 | bScheduleCommand((void *) pDevice, |
1575 | WLAN_CMD_CHANGE_BBSENSITIVITY, | ||
1576 | NULL); | ||
1633 | } else { | 1577 | } else { |
1634 | pDevice->uBBVGADiffCount = 0; | 1578 | pDevice->uBBVGADiffCount = 0; |
1635 | } | 1579 | } |
@@ -1639,9 +1583,7 @@ void s_vCheckSensitivity( | |||
1639 | } | 1583 | } |
1640 | 1584 | ||
1641 | #ifdef Calcu_LinkQual | 1585 | #ifdef Calcu_LinkQual |
1642 | void s_uCalculateLinkQual( | 1586 | void s_uCalculateLinkQual(void *hDeviceContext) |
1643 | HANDLE hDeviceContext | ||
1644 | ) | ||
1645 | { | 1587 | { |
1646 | PSDevice pDevice = (PSDevice)hDeviceContext; | 1588 | PSDevice pDevice = (PSDevice)hDeviceContext; |
1647 | ULONG TxOkRatio, TxCnt; | 1589 | ULONG TxOkRatio, TxCnt; |
@@ -1687,10 +1629,7 @@ else | |||
1687 | } | 1629 | } |
1688 | #endif | 1630 | #endif |
1689 | 1631 | ||
1690 | void | 1632 | void BSSvClearAnyBSSJoinRecord(void *hDeviceContext) |
1691 | BSSvClearAnyBSSJoinRecord ( | ||
1692 | HANDLE hDeviceContext | ||
1693 | ) | ||
1694 | { | 1633 | { |
1695 | PSDevice pDevice = (PSDevice)hDeviceContext; | 1634 | PSDevice pDevice = (PSDevice)hDeviceContext; |
1696 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); | 1635 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); |
@@ -1702,9 +1641,7 @@ BSSvClearAnyBSSJoinRecord ( | |||
1702 | return; | 1641 | return; |
1703 | } | 1642 | } |
1704 | 1643 | ||
1705 | void s_vCheckPreEDThreshold( | 1644 | void s_vCheckPreEDThreshold(void *hDeviceContext) |
1706 | HANDLE hDeviceContext | ||
1707 | ) | ||
1708 | { | 1645 | { |
1709 | PSDevice pDevice = (PSDevice)hDeviceContext; | 1646 | PSDevice pDevice = (PSDevice)hDeviceContext; |
1710 | PKnownBSS pBSSList = NULL; | 1647 | PKnownBSS pBSSList = NULL; |
diff --git a/drivers/staging/vt6656/bssdb.h b/drivers/staging/vt6656/bssdb.h index 48b34b51402..8140b9b37fb 100644 --- a/drivers/staging/vt6656/bssdb.h +++ b/drivers/staging/vt6656/bssdb.h | |||
@@ -226,134 +226,82 @@ typedef struct tagKnownNodeDB { | |||
226 | 226 | ||
227 | } KnownNodeDB, *PKnownNodeDB; | 227 | } KnownNodeDB, *PKnownNodeDB; |
228 | 228 | ||
229 | |||
230 | /*--------------------- Export Functions --------------------------*/ | 229 | /*--------------------- Export Functions --------------------------*/ |
231 | 230 | ||
232 | 231 | PKnownBSS BSSpSearchBSSList(void *hDeviceContext, | |
233 | 232 | PBYTE pbyDesireBSSID, | |
234 | PKnownBSS | 233 | PBYTE pbyDesireSSID, |
235 | BSSpSearchBSSList( | 234 | CARD_PHY_TYPE ePhyType); |
236 | HANDLE hDeviceContext, | 235 | |
237 | PBYTE pbyDesireBSSID, | 236 | PKnownBSS BSSpAddrIsInBSSList(void *hDeviceContext, |
238 | PBYTE pbyDesireSSID, | 237 | PBYTE abyBSSID, |
239 | CARD_PHY_TYPE ePhyType | 238 | PWLAN_IE_SSID pSSID); |
240 | ); | 239 | |
241 | 240 | void BSSvClearBSSList(void *hDeviceContext, BOOL bKeepCurrBSSID); | |
242 | PKnownBSS | 241 | |
243 | BSSpAddrIsInBSSList( | 242 | BOOL BSSbInsertToBSSList(void *hDeviceContext, |
244 | HANDLE hDeviceContext, | 243 | PBYTE abyBSSIDAddr, |
245 | PBYTE abyBSSID, | 244 | QWORD qwTimestamp, |
246 | PWLAN_IE_SSID pSSID | 245 | WORD wBeaconInterval, |
247 | ); | 246 | WORD wCapInfo, |
248 | 247 | BYTE byCurrChannel, | |
249 | void | 248 | PWLAN_IE_SSID pSSID, |
250 | BSSvClearBSSList( | 249 | PWLAN_IE_SUPP_RATES pSuppRates, |
251 | HANDLE hDeviceContext, | 250 | PWLAN_IE_SUPP_RATES pExtSuppRates, |
252 | BOOL bKeepCurrBSSID | 251 | PERPObject psERP, |
253 | ); | 252 | PWLAN_IE_RSN pRSN, |
254 | 253 | PWLAN_IE_RSN_EXT pRSNWPA, | |
255 | BOOL | 254 | PWLAN_IE_COUNTRY pIE_Country, |
256 | BSSbInsertToBSSList( | 255 | PWLAN_IE_QUIET pIE_Quiet, |
257 | HANDLE hDeviceContext, | 256 | UINT uIELength, |
258 | PBYTE abyBSSIDAddr, | 257 | PBYTE pbyIEs, |
259 | QWORD qwTimestamp, | 258 | void *pRxPacketContext); |
260 | WORD wBeaconInterval, | 259 | |
261 | WORD wCapInfo, | 260 | BOOL BSSbUpdateToBSSList(void *hDeviceContext, |
262 | BYTE byCurrChannel, | 261 | QWORD qwTimestamp, |
263 | PWLAN_IE_SSID pSSID, | 262 | WORD wBeaconInterval, |
264 | PWLAN_IE_SUPP_RATES pSuppRates, | 263 | WORD wCapInfo, |
265 | PWLAN_IE_SUPP_RATES pExtSuppRates, | 264 | BYTE byCurrChannel, |
266 | PERPObject psERP, | 265 | BOOL bChannelHit, |
267 | PWLAN_IE_RSN pRSN, | 266 | PWLAN_IE_SSID pSSID, |
268 | PWLAN_IE_RSN_EXT pRSNWPA, | 267 | PWLAN_IE_SUPP_RATES pSuppRates, |
269 | PWLAN_IE_COUNTRY pIE_Country, | 268 | PWLAN_IE_SUPP_RATES pExtSuppRates, |
270 | PWLAN_IE_QUIET pIE_Quiet, | 269 | PERPObject psERP, |
271 | UINT uIELength, | 270 | PWLAN_IE_RSN pRSN, |
272 | PBYTE pbyIEs, | 271 | PWLAN_IE_RSN_EXT pRSNWPA, |
273 | HANDLE pRxPacketContext | 272 | PWLAN_IE_COUNTRY pIE_Country, |
274 | ); | 273 | PWLAN_IE_QUIET pIE_Quiet, |
275 | 274 | PKnownBSS pBSSList, | |
276 | 275 | UINT uIELength, | |
277 | BOOL | 276 | PBYTE pbyIEs, |
278 | BSSbUpdateToBSSList( | 277 | void *pRxPacketContext); |
279 | HANDLE hDeviceContext, | 278 | |
280 | QWORD qwTimestamp, | 279 | BOOL BSSbIsSTAInNodeDB(void *hDeviceContext, |
281 | WORD wBeaconInterval, | 280 | PBYTE abyDstAddr, |
282 | WORD wCapInfo, | 281 | PUINT puNodeIndex); |
283 | BYTE byCurrChannel, | 282 | |
284 | BOOL bChannelHit, | 283 | void BSSvCreateOneNode(void *hDeviceContext, PUINT puNodeIndex); |
285 | PWLAN_IE_SSID pSSID, | 284 | |
286 | PWLAN_IE_SUPP_RATES pSuppRates, | 285 | void BSSvUpdateAPNode(void *hDeviceContext, |
287 | PWLAN_IE_SUPP_RATES pExtSuppRates, | 286 | PWORD pwCapInfo, |
288 | PERPObject psERP, | 287 | PWLAN_IE_SUPP_RATES pItemRates, |
289 | PWLAN_IE_RSN pRSN, | 288 | PWLAN_IE_SUPP_RATES pExtSuppRates); |
290 | PWLAN_IE_RSN_EXT pRSNWPA, | 289 | |
291 | PWLAN_IE_COUNTRY pIE_Country, | 290 | void BSSvSecondCallBack(void *hDeviceContext); |
292 | PWLAN_IE_QUIET pIE_Quiet, | 291 | |
293 | PKnownBSS pBSSList, | 292 | void BSSvUpdateNodeTxCounter(void *hDeviceContext, |
294 | UINT uIELength, | 293 | PSStatCounter pStatistic, |
295 | PBYTE pbyIEs, | 294 | BYTE byTSR, |
296 | HANDLE pRxPacketContext | 295 | BYTE byPktNO); |
297 | ); | 296 | |
298 | 297 | void BSSvRemoveOneNode(void *hDeviceContext, | |
299 | 298 | UINT uNodeIndex); | |
300 | BOOL | 299 | |
301 | BSSbIsSTAInNodeDB( | 300 | void BSSvAddMulticastNode(void *hDeviceContext); |
302 | HANDLE hDeviceContext, | 301 | |
303 | PBYTE abyDstAddr, | 302 | void BSSvClearNodeDBTable(void *hDeviceContext, |
304 | PUINT puNodeIndex | 303 | UINT uStartIndex); |
305 | ); | 304 | |
306 | 305 | void BSSvClearAnyBSSJoinRecord(void *hDeviceContext); | |
307 | void | ||
308 | BSSvCreateOneNode( | ||
309 | HANDLE hDeviceContext, | ||
310 | PUINT puNodeIndex | ||
311 | ); | ||
312 | |||
313 | void | ||
314 | BSSvUpdateAPNode( | ||
315 | HANDLE hDeviceContext, | ||
316 | PWORD pwCapInfo, | ||
317 | PWLAN_IE_SUPP_RATES pItemRates, | ||
318 | PWLAN_IE_SUPP_RATES pExtSuppRates | ||
319 | ); | ||
320 | |||
321 | |||
322 | void | ||
323 | BSSvSecondCallBack( | ||
324 | HANDLE hDeviceContext | ||
325 | ); | ||
326 | |||
327 | |||
328 | void | ||
329 | BSSvUpdateNodeTxCounter( | ||
330 | HANDLE hDeviceContext, | ||
331 | PSStatCounter pStatistic, | ||
332 | BYTE byTSR, | ||
333 | BYTE byPktNO | ||
334 | ); | ||
335 | |||
336 | void | ||
337 | BSSvRemoveOneNode( | ||
338 | HANDLE hDeviceContext, | ||
339 | UINT uNodeIndex | ||
340 | ); | ||
341 | |||
342 | void | ||
343 | BSSvAddMulticastNode( | ||
344 | HANDLE hDeviceContext | ||
345 | ); | ||
346 | |||
347 | |||
348 | void | ||
349 | BSSvClearNodeDBTable( | ||
350 | HANDLE hDeviceContext, | ||
351 | UINT uStartIndex | ||
352 | ); | ||
353 | |||
354 | void | ||
355 | BSSvClearAnyBSSJoinRecord( | ||
356 | HANDLE hDeviceContext | ||
357 | ); | ||
358 | 306 | ||
359 | #endif /* __BSSDB_H__ */ | 307 | #endif /* __BSSDB_H__ */ |
diff --git a/drivers/staging/vt6656/dpc.c b/drivers/staging/vt6656/dpc.c index b18427b3916..6982224dfa9 100644 --- a/drivers/staging/vt6656/dpc.c +++ b/drivers/staging/vt6656/dpc.c | |||
@@ -1069,7 +1069,9 @@ static BOOL s_bAPModeRxCtl ( | |||
1069 | // delcare received ps-poll event | 1069 | // delcare received ps-poll event |
1070 | if (IS_CTL_PSPOLL(pbyFrame)) { | 1070 | if (IS_CTL_PSPOLL(pbyFrame)) { |
1071 | pMgmt->sNodeDBTable[iSANodeIndex].bRxPSPoll = TRUE; | 1071 | pMgmt->sNodeDBTable[iSANodeIndex].bRxPSPoll = TRUE; |
1072 | bScheduleCommand((HANDLE)pDevice, WLAN_CMD_RX_PSPOLL, NULL); | 1072 | bScheduleCommand((void *) pDevice, |
1073 | WLAN_CMD_RX_PSPOLL, | ||
1074 | NULL); | ||
1073 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "dpc: WLAN_CMD_RX_PSPOLL 1\n"); | 1075 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "dpc: WLAN_CMD_RX_PSPOLL 1\n"); |
1074 | } | 1076 | } |
1075 | else { | 1077 | else { |
@@ -1078,7 +1080,9 @@ static BOOL s_bAPModeRxCtl ( | |||
1078 | if (!IS_FC_POWERMGT(pbyFrame)) { | 1080 | if (!IS_FC_POWERMGT(pbyFrame)) { |
1079 | pMgmt->sNodeDBTable[iSANodeIndex].bPSEnable = FALSE; | 1081 | pMgmt->sNodeDBTable[iSANodeIndex].bPSEnable = FALSE; |
1080 | pMgmt->sNodeDBTable[iSANodeIndex].bRxPSPoll = TRUE; | 1082 | pMgmt->sNodeDBTable[iSANodeIndex].bRxPSPoll = TRUE; |
1081 | bScheduleCommand((HANDLE)pDevice, WLAN_CMD_RX_PSPOLL, NULL); | 1083 | bScheduleCommand((void *) pDevice, |
1084 | WLAN_CMD_RX_PSPOLL, | ||
1085 | NULL); | ||
1082 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "dpc: WLAN_CMD_RX_PSPOLL 2\n"); | 1086 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "dpc: WLAN_CMD_RX_PSPOLL 2\n"); |
1083 | } | 1087 | } |
1084 | } | 1088 | } |
@@ -1094,7 +1098,9 @@ static BOOL s_bAPModeRxCtl ( | |||
1094 | if (pMgmt->sNodeDBTable[iSANodeIndex].wEnQueueCnt > 0) { | 1098 | if (pMgmt->sNodeDBTable[iSANodeIndex].wEnQueueCnt > 0) { |
1095 | pMgmt->sNodeDBTable[iSANodeIndex].bPSEnable = FALSE; | 1099 | pMgmt->sNodeDBTable[iSANodeIndex].bPSEnable = FALSE; |
1096 | pMgmt->sNodeDBTable[iSANodeIndex].bRxPSPoll = TRUE; | 1100 | pMgmt->sNodeDBTable[iSANodeIndex].bRxPSPoll = TRUE; |
1097 | bScheduleCommand((HANDLE)pDevice, WLAN_CMD_RX_PSPOLL, NULL); | 1101 | bScheduleCommand((void *) pDevice, |
1102 | WLAN_CMD_RX_PSPOLL, | ||
1103 | NULL); | ||
1098 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "dpc: WLAN_CMD_RX_PSPOLL 3\n"); | 1104 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "dpc: WLAN_CMD_RX_PSPOLL 3\n"); |
1099 | 1105 | ||
1100 | } | 1106 | } |
@@ -1596,7 +1602,7 @@ void RXvMngWorkItem(void *Context) | |||
1596 | } | 1602 | } |
1597 | ASSERT(pRCB);// cannot be NULL | 1603 | ASSERT(pRCB);// cannot be NULL |
1598 | pRxPacket = &(pRCB->sMngPacket); | 1604 | pRxPacket = &(pRCB->sMngPacket); |
1599 | vMgrRxManagePacket((HANDLE)pDevice, &(pDevice->sMgmtObj), pRxPacket); | 1605 | vMgrRxManagePacket((void *) pDevice, &(pDevice->sMgmtObj), pRxPacket); |
1600 | pRCB->Ref--; | 1606 | pRCB->Ref--; |
1601 | if(pRCB->Ref == 0) { | 1607 | if(pRCB->Ref == 0) { |
1602 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"RxvFreeMng %d %d\n",pDevice->NumRecvFreeList, pDevice->NumRecvMngList); | 1608 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"RxvFreeMng %d %d\n",pDevice->NumRecvFreeList, pDevice->NumRecvMngList); |
diff --git a/drivers/staging/vt6656/int.c b/drivers/staging/vt6656/int.c index 2ba20893ce7..89f5b18bdf1 100644 --- a/drivers/staging/vt6656/int.c +++ b/drivers/staging/vt6656/int.c | |||
@@ -160,11 +160,11 @@ INTnsProcessData(PSDevice pDevice) | |||
160 | pMgmt->byDTIMPeriod-1; | 160 | pMgmt->byDTIMPeriod-1; |
161 | pMgmt->sNodeDBTable[0].bRxPSPoll = TRUE; | 161 | pMgmt->sNodeDBTable[0].bRxPSPoll = TRUE; |
162 | if (pMgmt->sNodeDBTable[0].bPSEnable) | 162 | if (pMgmt->sNodeDBTable[0].bPSEnable) |
163 | bScheduleCommand((HANDLE)pDevice, | 163 | bScheduleCommand((void *) pDevice, |
164 | WLAN_CMD_RX_PSPOLL, | 164 | WLAN_CMD_RX_PSPOLL, |
165 | NULL); | 165 | NULL); |
166 | } | 166 | } |
167 | bScheduleCommand((HANDLE)pDevice, | 167 | bScheduleCommand((void *) pDevice, |
168 | WLAN_CMD_BECON_SEND, | 168 | WLAN_CMD_BECON_SEND, |
169 | NULL); | 169 | NULL); |
170 | } /* if (pDevice->eOPMode == OP_MODE_AP) */ | 170 | } /* if (pDevice->eOPMode == OP_MODE_AP) */ |
@@ -174,13 +174,13 @@ INTnsProcessData(PSDevice pDevice) | |||
174 | } | 174 | } |
175 | if (pINTData->byISR0 & ISR_TBTT) { | 175 | if (pINTData->byISR0 & ISR_TBTT) { |
176 | if (pDevice->bEnablePSMode) | 176 | if (pDevice->bEnablePSMode) |
177 | bScheduleCommand((HANDLE) pDevice, | 177 | bScheduleCommand((void *) pDevice, |
178 | WLAN_CMD_TBTT_WAKEUP, | 178 | WLAN_CMD_TBTT_WAKEUP, |
179 | NULL); | 179 | NULL); |
180 | if (pDevice->bChannelSwitch) { | 180 | if (pDevice->bChannelSwitch) { |
181 | pDevice->byChannelSwitchCount--; | 181 | pDevice->byChannelSwitchCount--; |
182 | if (pDevice->byChannelSwitchCount == 0) | 182 | if (pDevice->byChannelSwitchCount == 0) |
183 | bScheduleCommand((HANDLE) pDevice, | 183 | bScheduleCommand((void *) pDevice, |
184 | WLAN_CMD_11H_CHSW, | 184 | WLAN_CMD_11H_CHSW, |
185 | NULL); | 185 | NULL); |
186 | } | 186 | } |
@@ -207,7 +207,7 @@ INTnsProcessData(PSDevice pDevice) | |||
207 | 207 | ||
208 | if (pINTData->byISR1 != 0) | 208 | if (pINTData->byISR1 != 0) |
209 | if (pINTData->byISR1 & ISR_GPIO3) | 209 | if (pINTData->byISR1 & ISR_GPIO3) |
210 | bScheduleCommand((HANDLE) pDevice, | 210 | bScheduleCommand((void *) pDevice, |
211 | WLAN_CMD_RADIO, | 211 | WLAN_CMD_RADIO, |
212 | NULL); | 212 | NULL); |
213 | pDevice->intBuf.uDataLen = 0; | 213 | pDevice->intBuf.uDataLen = 0; |
diff --git a/drivers/staging/vt6656/ioctl.c b/drivers/staging/vt6656/ioctl.c index 08d5429db26..69d1d735f71 100644 --- a/drivers/staging/vt6656/ioctl.c +++ b/drivers/staging/vt6656/ioctl.c | |||
@@ -100,16 +100,21 @@ int private_ioctl(PSDevice pDevice, struct ifreq *rq) { | |||
100 | memcpy(abyScanSSID, pItemSSID, pItemSSID->len + WLAN_IEHDR_LEN); | 100 | memcpy(abyScanSSID, pItemSSID, pItemSSID->len + WLAN_IEHDR_LEN); |
101 | } | 101 | } |
102 | spin_lock_irq(&pDevice->lock); | 102 | spin_lock_irq(&pDevice->lock); |
103 | if (memcmp(pMgmt->abyCurrBSSID, &abyNullAddr[0], 6) == 0) | ||
104 | BSSvClearBSSList((HANDLE)pDevice, FALSE); | ||
105 | else | ||
106 | BSSvClearBSSList((HANDLE)pDevice, pDevice->bLinkPass); | ||
107 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "WLAN_CMD_BSS_SCAN..begin \n"); | ||
108 | 103 | ||
109 | if (pItemSSID->len != 0) | 104 | if (memcmp(pMgmt->abyCurrBSSID, &abyNullAddr[0], 6) == 0) |
110 | bScheduleCommand((HANDLE) pDevice, WLAN_CMD_BSSID_SCAN, abyScanSSID); | 105 | BSSvClearBSSList((void *) pDevice, FALSE); |
111 | else | 106 | else |
112 | bScheduleCommand((HANDLE) pDevice, WLAN_CMD_BSSID_SCAN, NULL); | 107 | BSSvClearBSSList((void *) pDevice, pDevice->bLinkPass); |
108 | |||
109 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "WLAN_CMD_BSS_SCAN..begin\n"); | ||
110 | |||
111 | if (pItemSSID->len != 0) | ||
112 | bScheduleCommand((void *) pDevice, | ||
113 | WLAN_CMD_BSSID_SCAN, | ||
114 | abyScanSSID); | ||
115 | else | ||
116 | bScheduleCommand((void *) pDevice, WLAN_CMD_BSSID_SCAN, NULL); | ||
117 | |||
113 | spin_unlock_irq(&pDevice->lock); | 118 | spin_unlock_irq(&pDevice->lock); |
114 | break; | 119 | break; |
115 | 120 | ||
@@ -207,8 +212,10 @@ int private_ioctl(PSDevice pDevice, struct ifreq *rq) { | |||
207 | netif_stop_queue(pDevice->dev); | 212 | netif_stop_queue(pDevice->dev); |
208 | spin_lock_irq(&pDevice->lock); | 213 | spin_lock_irq(&pDevice->lock); |
209 | pMgmt->eCurrState = WMAC_STATE_IDLE; | 214 | pMgmt->eCurrState = WMAC_STATE_IDLE; |
210 | bScheduleCommand((HANDLE) pDevice, WLAN_CMD_BSSID_SCAN, pMgmt->abyDesireSSID); | 215 | bScheduleCommand((void *) pDevice, |
211 | bScheduleCommand((HANDLE) pDevice, WLAN_CMD_SSID, NULL); | 216 | WLAN_CMD_BSSID_SCAN, |
217 | pMgmt->abyDesireSSID); | ||
218 | bScheduleCommand((void *) pDevice, WLAN_CMD_SSID, NULL); | ||
212 | spin_unlock_irq(&pDevice->lock); | 219 | spin_unlock_irq(&pDevice->lock); |
213 | break; | 220 | break; |
214 | 221 | ||
@@ -576,7 +583,7 @@ int private_ioctl(PSDevice pDevice, struct ifreq *rq) { | |||
576 | 583 | ||
577 | netif_stop_queue(pDevice->dev); | 584 | netif_stop_queue(pDevice->dev); |
578 | spin_lock_irq(&pDevice->lock); | 585 | spin_lock_irq(&pDevice->lock); |
579 | bScheduleCommand((HANDLE)pDevice, WLAN_CMD_RUN_AP, NULL); | 586 | bScheduleCommand((void *) pDevice, WLAN_CMD_RUN_AP, NULL); |
580 | spin_unlock_irq(&pDevice->lock); | 587 | spin_unlock_irq(&pDevice->lock); |
581 | break; | 588 | break; |
582 | 589 | ||
diff --git a/drivers/staging/vt6656/iwctl.c b/drivers/staging/vt6656/iwctl.c index d7ed3b45633..4d0db21b1b9 100644 --- a/drivers/staging/vt6656/iwctl.c +++ b/drivers/staging/vt6656/iwctl.c | |||
@@ -209,9 +209,9 @@ if(pDevice->byReAssocCount > 0) { //reject scan when re-associating! | |||
209 | 209 | ||
210 | spin_lock_irq(&pDevice->lock); | 210 | spin_lock_irq(&pDevice->lock); |
211 | 211 | ||
212 | #ifdef update_BssList | 212 | #ifdef update_BssList |
213 | BSSvClearBSSList((HANDLE)pDevice, pDevice->bLinkPass); | 213 | BSSvClearBSSList((void *) pDevice, pDevice->bLinkPass); |
214 | #endif | 214 | #endif |
215 | 215 | ||
216 | //mike add: active scan OR passive scan OR desire_ssid scan | 216 | //mike add: active scan OR passive scan OR desire_ssid scan |
217 | if(wrq->length == sizeof(struct iw_scan_req)) { | 217 | if(wrq->length == sizeof(struct iw_scan_req)) { |
@@ -229,7 +229,7 @@ if(pDevice->byReAssocCount > 0) { //reject scan when re-associating! | |||
229 | pMgmt->eScanType = WMAC_SCAN_PASSIVE; | 229 | pMgmt->eScanType = WMAC_SCAN_PASSIVE; |
230 | PRINT_K("SIOCSIWSCAN:[desired_ssid=%s,len=%d]\n",((PWLAN_IE_SSID)abyScanSSID)->abySSID, | 230 | PRINT_K("SIOCSIWSCAN:[desired_ssid=%s,len=%d]\n",((PWLAN_IE_SSID)abyScanSSID)->abySSID, |
231 | ((PWLAN_IE_SSID)abyScanSSID)->len); | 231 | ((PWLAN_IE_SSID)abyScanSSID)->len); |
232 | bScheduleCommand((HANDLE) pDevice, WLAN_CMD_BSSID_SCAN, abyScanSSID); | 232 | bScheduleCommand((void *) pDevice, WLAN_CMD_BSSID_SCAN, abyScanSSID); |
233 | spin_unlock_irq(&pDevice->lock); | 233 | spin_unlock_irq(&pDevice->lock); |
234 | 234 | ||
235 | return 0; | 235 | return 0; |
@@ -244,7 +244,7 @@ if(pDevice->byReAssocCount > 0) { //reject scan when re-associating! | |||
244 | 244 | ||
245 | pMgmt->eScanType = WMAC_SCAN_PASSIVE; | 245 | pMgmt->eScanType = WMAC_SCAN_PASSIVE; |
246 | //printk("SIOCSIWSCAN:WLAN_CMD_BSSID_SCAN\n"); | 246 | //printk("SIOCSIWSCAN:WLAN_CMD_BSSID_SCAN\n"); |
247 | bScheduleCommand((HANDLE) pDevice, WLAN_CMD_BSSID_SCAN, NULL); | 247 | bScheduleCommand((void *) pDevice, WLAN_CMD_BSSID_SCAN, NULL); |
248 | spin_unlock_irq(&pDevice->lock); | 248 | spin_unlock_irq(&pDevice->lock); |
249 | 249 | ||
250 | return 0; | 250 | return 0; |
@@ -944,10 +944,14 @@ int iwctl_siwessid(struct net_device *dev, | |||
944 | 944 | ||
945 | if (pCurr == NULL){ | 945 | if (pCurr == NULL){ |
946 | PRINT_K("SIOCSIWESSID:hidden ssid site survey before associate.......\n"); | 946 | PRINT_K("SIOCSIWESSID:hidden ssid site survey before associate.......\n"); |
947 | vResetCommandTimer((HANDLE) pDevice); | 947 | vResetCommandTimer((void *) pDevice); |
948 | pMgmt->eScanType = WMAC_SCAN_ACTIVE; | 948 | pMgmt->eScanType = WMAC_SCAN_ACTIVE; |
949 | bScheduleCommand((HANDLE) pDevice, WLAN_CMD_BSSID_SCAN, pMgmt->abyDesireSSID); | 949 | bScheduleCommand((void *) pDevice, |
950 | bScheduleCommand((HANDLE) pDevice, WLAN_CMD_SSID, pMgmt->abyDesireSSID); | 950 | WLAN_CMD_BSSID_SCAN, |
951 | pMgmt->abyDesireSSID); | ||
952 | bScheduleCommand((void *) pDevice, | ||
953 | WLAN_CMD_SSID, | ||
954 | pMgmt->abyDesireSSID); | ||
951 | } | 955 | } |
952 | else { //mike:to find out if that desired SSID is a hidden-ssid AP , | 956 | else { //mike:to find out if that desired SSID is a hidden-ssid AP , |
953 | // by means of judging if there are two same BSSID exist in list ? | 957 | // by means of judging if there are two same BSSID exist in list ? |
@@ -959,10 +963,14 @@ int iwctl_siwessid(struct net_device *dev, | |||
959 | } | 963 | } |
960 | if(uSameBssidNum >= 2) { //hit: desired AP is in hidden ssid mode!!! | 964 | if(uSameBssidNum >= 2) { //hit: desired AP is in hidden ssid mode!!! |
961 | PRINT_K("SIOCSIWESSID:hidden ssid directly associate.......\n"); | 965 | PRINT_K("SIOCSIWESSID:hidden ssid directly associate.......\n"); |
962 | vResetCommandTimer((HANDLE) pDevice); | 966 | vResetCommandTimer((void *) pDevice); |
963 | pMgmt->eScanType = WMAC_SCAN_PASSIVE; //this scan type,you'll submit scan result! | 967 | pMgmt->eScanType = WMAC_SCAN_PASSIVE; //this scan type,you'll submit scan result! |
964 | bScheduleCommand((HANDLE) pDevice, WLAN_CMD_BSSID_SCAN, pMgmt->abyDesireSSID); | 968 | bScheduleCommand((void *) pDevice, |
965 | bScheduleCommand((HANDLE) pDevice, WLAN_CMD_SSID, pMgmt->abyDesireSSID); | 969 | WLAN_CMD_BSSID_SCAN, |
970 | pMgmt->abyDesireSSID); | ||
971 | bScheduleCommand((void *) pDevice, | ||
972 | WLAN_CMD_SSID, | ||
973 | pMgmt->abyDesireSSID); | ||
966 | } | 974 | } |
967 | } | 975 | } |
968 | } | 976 | } |
@@ -1554,11 +1562,11 @@ int iwctl_siwpower(struct net_device *dev, | |||
1554 | } | 1562 | } |
1555 | if ((wrq->flags & IW_POWER_TYPE) == IW_POWER_TIMEOUT) { | 1563 | if ((wrq->flags & IW_POWER_TYPE) == IW_POWER_TIMEOUT) { |
1556 | pDevice->ePSMode = WMAC_POWER_FAST; | 1564 | pDevice->ePSMode = WMAC_POWER_FAST; |
1557 | PSvEnablePowerSaving((HANDLE)pDevice, pMgmt->wListenInterval); | 1565 | PSvEnablePowerSaving((void *) pDevice, pMgmt->wListenInterval); |
1558 | 1566 | ||
1559 | } else if ((wrq->flags & IW_POWER_TYPE) == IW_POWER_PERIOD) { | 1567 | } else if ((wrq->flags & IW_POWER_TYPE) == IW_POWER_PERIOD) { |
1560 | pDevice->ePSMode = WMAC_POWER_FAST; | 1568 | pDevice->ePSMode = WMAC_POWER_FAST; |
1561 | PSvEnablePowerSaving((HANDLE)pDevice, pMgmt->wListenInterval); | 1569 | PSvEnablePowerSaving((void *) pDevice, pMgmt->wListenInterval); |
1562 | } | 1570 | } |
1563 | switch (wrq->flags & IW_POWER_MODE) { | 1571 | switch (wrq->flags & IW_POWER_MODE) { |
1564 | case IW_POWER_UNICAST_R: | 1572 | case IW_POWER_UNICAST_R: |
@@ -2007,12 +2015,16 @@ int iwctl_siwmlme(struct net_device *dev, | |||
2007 | case IW_MLME_DEAUTH: | 2015 | case IW_MLME_DEAUTH: |
2008 | //this command seems to be not complete,please test it --einsnliu | 2016 | //this command seems to be not complete,please test it --einsnliu |
2009 | //printk("iwctl_siwmlme--->send DEAUTH\n"); | 2017 | //printk("iwctl_siwmlme--->send DEAUTH\n"); |
2010 | //bScheduleCommand((HANDLE) pDevice, WLAN_CMD_DEAUTH, (PBYTE)&reason); | 2018 | /* bScheduleCommand((void *) pDevice, |
2019 | WLAN_CMD_DEAUTH, | ||
2020 | (PBYTE)&reason); */ | ||
2011 | //break; | 2021 | //break; |
2012 | case IW_MLME_DISASSOC: | 2022 | case IW_MLME_DISASSOC: |
2013 | if(pDevice->bLinkPass == TRUE){ | 2023 | if(pDevice->bLinkPass == TRUE){ |
2014 | PRINT_K("iwctl_siwmlme--->send DISASSOCIATE\n"); | 2024 | PRINT_K("iwctl_siwmlme--->send DISASSOCIATE\n"); |
2015 | bScheduleCommand((HANDLE)pDevice, WLAN_CMD_DISASSOCIATE, NULL); | 2025 | bScheduleCommand((void *) pDevice, |
2026 | WLAN_CMD_DISASSOCIATE, | ||
2027 | NULL); | ||
2016 | } | 2028 | } |
2017 | break; | 2029 | break; |
2018 | default: | 2030 | default: |
diff --git a/drivers/staging/vt6656/main_usb.c b/drivers/staging/vt6656/main_usb.c index 2fcaf70aa46..f1d81b1656c 100644 --- a/drivers/staging/vt6656/main_usb.c +++ b/drivers/staging/vt6656/main_usb.c | |||
@@ -1158,12 +1158,12 @@ static int device_open(struct net_device *dev) { | |||
1158 | } | 1158 | } |
1159 | 1159 | ||
1160 | if (pDevice->sMgmtObj.eConfigMode == WMAC_CONFIG_AP) { | 1160 | if (pDevice->sMgmtObj.eConfigMode == WMAC_CONFIG_AP) { |
1161 | bScheduleCommand((HANDLE)pDevice, WLAN_CMD_RUN_AP, NULL); | 1161 | bScheduleCommand((void *) pDevice, WLAN_CMD_RUN_AP, NULL); |
1162 | } | 1162 | } |
1163 | else { | 1163 | else { |
1164 | //mike:mark@2008-11-10 | 1164 | //mike:mark@2008-11-10 |
1165 | bScheduleCommand((HANDLE)pDevice, WLAN_CMD_BSSID_SCAN, NULL); | 1165 | bScheduleCommand((void *) pDevice, WLAN_CMD_BSSID_SCAN, NULL); |
1166 | //bScheduleCommand((HANDLE)pDevice, WLAN_CMD_SSID, NULL); | 1166 | /* bScheduleCommand((void *) pDevice, WLAN_CMD_SSID, NULL); */ |
1167 | } | 1167 | } |
1168 | 1168 | ||
1169 | 1169 | ||
@@ -1220,7 +1220,7 @@ static int device_close(struct net_device *dev) { | |||
1220 | 1220 | ||
1221 | //2007-1121-02<Add>by EinsnLiu | 1221 | //2007-1121-02<Add>by EinsnLiu |
1222 | if (pDevice->bLinkPass) { | 1222 | if (pDevice->bLinkPass) { |
1223 | bScheduleCommand((HANDLE)pDevice, WLAN_CMD_DISASSOCIATE, NULL); | 1223 | bScheduleCommand((void *) pDevice, WLAN_CMD_DISASSOCIATE, NULL); |
1224 | mdelay(30); | 1224 | mdelay(30); |
1225 | } | 1225 | } |
1226 | //End Add | 1226 | //End Add |
@@ -2101,16 +2101,16 @@ static int device_ioctl(struct net_device *dev, struct ifreq *rq, int cmd) { | |||
2101 | if (pMgmt->eConfigMode == WMAC_CONFIG_AP) { | 2101 | if (pMgmt->eConfigMode == WMAC_CONFIG_AP) { |
2102 | netif_stop_queue(pDevice->dev); | 2102 | netif_stop_queue(pDevice->dev); |
2103 | spin_lock_irq(&pDevice->lock); | 2103 | spin_lock_irq(&pDevice->lock); |
2104 | bScheduleCommand((HANDLE)pDevice, WLAN_CMD_RUN_AP, NULL); | 2104 | bScheduleCommand((void *) pDevice, WLAN_CMD_RUN_AP, NULL); |
2105 | spin_unlock_irq(&pDevice->lock); | 2105 | spin_unlock_irq(&pDevice->lock); |
2106 | } | 2106 | } |
2107 | else { | 2107 | else { |
2108 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "Commit the settings\n"); | 2108 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "Commit the settings\n"); |
2109 | spin_lock_irq(&pDevice->lock); | 2109 | spin_lock_irq(&pDevice->lock); |
2110 | //2007-1121-01<Modify>by EinsnLiu | 2110 | //2007-1121-01<Modify>by EinsnLiu |
2111 | if (pDevice->bLinkPass&& | 2111 | if (pDevice->bLinkPass && |
2112 | memcmp(pMgmt->abyCurrSSID,pMgmt->abyDesireSSID,WLAN_IEHDR_LEN + WLAN_SSID_MAXLEN)) { | 2112 | memcmp(pMgmt->abyCurrSSID,pMgmt->abyDesireSSID,WLAN_IEHDR_LEN + WLAN_SSID_MAXLEN)) { |
2113 | bScheduleCommand((HANDLE)pDevice, WLAN_CMD_DISASSOCIATE, NULL); | 2113 | bScheduleCommand((void *) pDevice, WLAN_CMD_DISASSOCIATE, NULL); |
2114 | } else { | 2114 | } else { |
2115 | pDevice->bLinkPass = FALSE; | 2115 | pDevice->bLinkPass = FALSE; |
2116 | pMgmt->eCurrState = WMAC_STATE_IDLE; | 2116 | pMgmt->eCurrState = WMAC_STATE_IDLE; |
@@ -2121,10 +2121,14 @@ static int device_ioctl(struct net_device *dev, struct ifreq *rq, int cmd) { | |||
2121 | netif_stop_queue(pDevice->dev); | 2121 | netif_stop_queue(pDevice->dev); |
2122 | #ifdef WPA_SUPPLICANT_DRIVER_WEXT_SUPPORT | 2122 | #ifdef WPA_SUPPLICANT_DRIVER_WEXT_SUPPORT |
2123 | pMgmt->eScanType = WMAC_SCAN_ACTIVE; | 2123 | pMgmt->eScanType = WMAC_SCAN_ACTIVE; |
2124 | if(pDevice->bWPASuppWextEnabled !=TRUE) | 2124 | if (!pDevice->bWPASuppWextEnabled) |
2125 | #endif | 2125 | #endif |
2126 | bScheduleCommand((HANDLE) pDevice, WLAN_CMD_BSSID_SCAN, pMgmt->abyDesireSSID); | 2126 | bScheduleCommand((void *) pDevice, |
2127 | bScheduleCommand((HANDLE) pDevice, WLAN_CMD_SSID, NULL); | 2127 | WLAN_CMD_BSSID_SCAN, |
2128 | pMgmt->abyDesireSSID); | ||
2129 | bScheduleCommand((void *) pDevice, | ||
2130 | WLAN_CMD_SSID, | ||
2131 | NULL); | ||
2128 | spin_unlock_irq(&pDevice->lock); | 2132 | spin_unlock_irq(&pDevice->lock); |
2129 | } | 2133 | } |
2130 | pDevice->bCommit = FALSE; | 2134 | pDevice->bCommit = FALSE; |
diff --git a/drivers/staging/vt6656/power.c b/drivers/staging/vt6656/power.c index 05d51fbb00b..766c5be6fd2 100644 --- a/drivers/staging/vt6656/power.c +++ b/drivers/staging/vt6656/power.c | |||
@@ -50,19 +50,14 @@ | |||
50 | 50 | ||
51 | /*--------------------- Static Definitions -------------------------*/ | 51 | /*--------------------- Static Definitions -------------------------*/ |
52 | 52 | ||
53 | |||
54 | |||
55 | |||
56 | /*--------------------- Static Classes ----------------------------*/ | 53 | /*--------------------- Static Classes ----------------------------*/ |
57 | 54 | ||
58 | /*--------------------- Static Variables --------------------------*/ | 55 | /*--------------------- Static Variables --------------------------*/ |
59 | static int msglevel =MSG_LEVEL_INFO; | 56 | static int msglevel =MSG_LEVEL_INFO; |
60 | /*--------------------- Static Functions --------------------------*/ | 57 | /*--------------------- Static Functions --------------------------*/ |
61 | 58 | ||
62 | |||
63 | /*--------------------- Export Variables --------------------------*/ | 59 | /*--------------------- Export Variables --------------------------*/ |
64 | 60 | ||
65 | |||
66 | /*--------------------- Export Functions --------------------------*/ | 61 | /*--------------------- Export Functions --------------------------*/ |
67 | 62 | ||
68 | /*+ | 63 | /*+ |
@@ -75,12 +70,8 @@ static int msglevel =MSG_LEVEL_INFO; | |||
75 | * | 70 | * |
76 | -*/ | 71 | -*/ |
77 | 72 | ||
78 | 73 | void PSvEnablePowerSaving(void *hDeviceContext, | |
79 | void | 74 | WORD wListenInterval) |
80 | PSvEnablePowerSaving( | ||
81 | HANDLE hDeviceContext, | ||
82 | WORD wListenInterval | ||
83 | ) | ||
84 | { | 75 | { |
85 | PSDevice pDevice = (PSDevice)hDeviceContext; | 76 | PSDevice pDevice = (PSDevice)hDeviceContext; |
86 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); | 77 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); |
@@ -128,7 +119,7 @@ PSvEnablePowerSaving( | |||
128 | pDevice->bEnablePSMode = TRUE; | 119 | pDevice->bEnablePSMode = TRUE; |
129 | 120 | ||
130 | if (pDevice->eOPMode == OP_MODE_ADHOC) { | 121 | if (pDevice->eOPMode == OP_MODE_ADHOC) { |
131 | // bMgrPrepareBeaconToSend((HANDLE)pDevice, pMgmt); | 122 | /* bMgrPrepareBeaconToSend((void *) pDevice, pMgmt); */ |
132 | } | 123 | } |
133 | // We don't send null pkt in ad hoc mode since beacon will handle this. | 124 | // We don't send null pkt in ad hoc mode since beacon will handle this. |
134 | else if (pDevice->eOPMode == OP_MODE_INFRASTRUCTURE) { | 125 | else if (pDevice->eOPMode == OP_MODE_INFRASTRUCTURE) { |
@@ -139,11 +130,6 @@ PSvEnablePowerSaving( | |||
139 | return; | 130 | return; |
140 | } | 131 | } |
141 | 132 | ||
142 | |||
143 | |||
144 | |||
145 | |||
146 | |||
147 | /*+ | 133 | /*+ |
148 | * | 134 | * |
149 | * Routine Description: | 135 | * Routine Description: |
@@ -154,10 +140,7 @@ PSvEnablePowerSaving( | |||
154 | * | 140 | * |
155 | -*/ | 141 | -*/ |
156 | 142 | ||
157 | void | 143 | void PSvDisablePowerSaving(void *hDeviceContext) |
158 | PSvDisablePowerSaving( | ||
159 | HANDLE hDeviceContext | ||
160 | ) | ||
161 | { | 144 | { |
162 | PSDevice pDevice = (PSDevice)hDeviceContext; | 145 | PSDevice pDevice = (PSDevice)hDeviceContext; |
163 | // PSMgmtObject pMgmt = &(pDevice->sMgmtObj); | 146 | // PSMgmtObject pMgmt = &(pDevice->sMgmtObj); |
@@ -187,7 +170,6 @@ PSvDisablePowerSaving( | |||
187 | return; | 170 | return; |
188 | } | 171 | } |
189 | 172 | ||
190 | |||
191 | /*+ | 173 | /*+ |
192 | * | 174 | * |
193 | * Routine Description: | 175 | * Routine Description: |
@@ -198,13 +180,9 @@ PSvDisablePowerSaving( | |||
198 | * FALSE, if fail | 180 | * FALSE, if fail |
199 | -*/ | 181 | -*/ |
200 | 182 | ||
201 | 183 | BOOL PSbConsiderPowerDown(void *hDeviceContext, | |
202 | BOOL | 184 | BOOL bCheckRxDMA, |
203 | PSbConsiderPowerDown( | 185 | BOOL bCheckCountToWakeUp) |
204 | HANDLE hDeviceContext, | ||
205 | BOOL bCheckRxDMA, | ||
206 | BOOL bCheckCountToWakeUp | ||
207 | ) | ||
208 | { | 186 | { |
209 | PSDevice pDevice = (PSDevice)hDeviceContext; | 187 | PSDevice pDevice = (PSDevice)hDeviceContext; |
210 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); | 188 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); |
@@ -248,8 +226,6 @@ PSbConsiderPowerDown( | |||
248 | return TRUE; | 226 | return TRUE; |
249 | } | 227 | } |
250 | 228 | ||
251 | |||
252 | |||
253 | /*+ | 229 | /*+ |
254 | * | 230 | * |
255 | * Routine Description: | 231 | * Routine Description: |
@@ -260,12 +236,7 @@ PSbConsiderPowerDown( | |||
260 | * | 236 | * |
261 | -*/ | 237 | -*/ |
262 | 238 | ||
263 | 239 | void PSvSendPSPOLL(void *hDeviceContext) | |
264 | |||
265 | void | ||
266 | PSvSendPSPOLL( | ||
267 | HANDLE hDeviceContext | ||
268 | ) | ||
269 | { | 240 | { |
270 | PSDevice pDevice = (PSDevice)hDeviceContext; | 241 | PSDevice pDevice = (PSDevice)hDeviceContext; |
271 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); | 242 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); |
@@ -297,8 +268,6 @@ PSvSendPSPOLL( | |||
297 | return; | 268 | return; |
298 | } | 269 | } |
299 | 270 | ||
300 | |||
301 | |||
302 | /*+ | 271 | /*+ |
303 | * | 272 | * |
304 | * Routine Description: | 273 | * Routine Description: |
@@ -308,10 +277,8 @@ PSvSendPSPOLL( | |||
308 | * None. | 277 | * None. |
309 | * | 278 | * |
310 | -*/ | 279 | -*/ |
311 | BOOL | 280 | |
312 | PSbSendNullPacket( | 281 | BOOL PSbSendNullPacket(void *hDeviceContext) |
313 | HANDLE hDeviceContext | ||
314 | ) | ||
315 | { | 282 | { |
316 | PSDevice pDevice = (PSDevice)hDeviceContext; | 283 | PSDevice pDevice = (PSDevice)hDeviceContext; |
317 | PSTxMgmtPacket pTxPacket = NULL; | 284 | PSTxMgmtPacket pTxPacket = NULL; |
@@ -388,10 +355,7 @@ PSbSendNullPacket( | |||
388 | * | 355 | * |
389 | -*/ | 356 | -*/ |
390 | 357 | ||
391 | BOOL | 358 | BOOL PSbIsNextTBTTWakeUp(void *hDeviceContext) |
392 | PSbIsNextTBTTWakeUp( | ||
393 | HANDLE hDeviceContext | ||
394 | ) | ||
395 | { | 359 | { |
396 | 360 | ||
397 | PSDevice pDevice = (PSDevice)hDeviceContext; | 361 | PSDevice pDevice = (PSDevice)hDeviceContext; |
diff --git a/drivers/staging/vt6656/power.h b/drivers/staging/vt6656/power.h index c34e3899d95..50792bb8c97 100644 --- a/drivers/staging/vt6656/power.h +++ b/drivers/staging/vt6656/power.h | |||
@@ -48,37 +48,14 @@ | |||
48 | /* PSDevice pDevice */ | 48 | /* PSDevice pDevice */ |
49 | /* PSDevice hDeviceContext */ | 49 | /* PSDevice hDeviceContext */ |
50 | 50 | ||
51 | BOOL | 51 | BOOL PSbConsiderPowerDown(void *hDeviceContext, |
52 | PSbConsiderPowerDown( | 52 | BOOL bCheckRxDMA, |
53 | HANDLE hDeviceContext, | 53 | BOOL bCheckCountToWakeUp); |
54 | BOOL bCheckRxDMA, | 54 | |
55 | BOOL bCheckCountToWakeUp | 55 | void PSvDisablePowerSaving(void *hDeviceContext); |
56 | ); | 56 | void PSvEnablePowerSaving(void *hDeviceContext, WORD wListenInterval); |
57 | 57 | void PSvSendPSPOLL(void *hDeviceContext); | |
58 | void | 58 | BOOL PSbSendNullPacket(void *hDeviceContext); |
59 | PSvDisablePowerSaving( | 59 | BOOL PSbIsNextTBTTWakeUp(void *hDeviceContext); |
60 | HANDLE hDeviceContext | ||
61 | ); | ||
62 | |||
63 | void | ||
64 | PSvEnablePowerSaving( | ||
65 | HANDLE hDeviceContext, | ||
66 | WORD wListenInterval | ||
67 | ); | ||
68 | |||
69 | void | ||
70 | PSvSendPSPOLL( | ||
71 | HANDLE hDeviceContext | ||
72 | ); | ||
73 | |||
74 | BOOL | ||
75 | PSbSendNullPacket( | ||
76 | HANDLE hDeviceContext | ||
77 | ); | ||
78 | |||
79 | BOOL | ||
80 | PSbIsNextTBTTWakeUp( | ||
81 | HANDLE hDeviceContext | ||
82 | ); | ||
83 | 60 | ||
84 | #endif /* __POWER_H__ */ | 61 | #endif /* __POWER_H__ */ |
diff --git a/drivers/staging/vt6656/rxtx.c b/drivers/staging/vt6656/rxtx.c index b9f67882199..bfc786059ad 100644 --- a/drivers/staging/vt6656/rxtx.c +++ b/drivers/staging/vt6656/rxtx.c | |||
@@ -3032,10 +3032,12 @@ nsDMA_tx_packet( | |||
3032 | } | 3032 | } |
3033 | } | 3033 | } |
3034 | 3034 | ||
3035 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "dma_tx: pDevice->wCurrentRate = %d \n", pDevice->wCurrentRate); | 3035 | DBG_PRT(MSG_LEVEL_DEBUG, |
3036 | KERN_INFO "dma_tx: pDevice->wCurrentRate = %d\n", | ||
3037 | pDevice->wCurrentRate); | ||
3036 | 3038 | ||
3037 | if (wKeepRate != pDevice->wCurrentRate) { | 3039 | if (wKeepRate != pDevice->wCurrentRate) { |
3038 | bScheduleCommand((HANDLE)pDevice, WLAN_CMD_SETPOWER, NULL); | 3040 | bScheduleCommand((void *) pDevice, WLAN_CMD_SETPOWER, NULL); |
3039 | } | 3041 | } |
3040 | 3042 | ||
3041 | if (pDevice->wCurrentRate <= RATE_11M) { | 3043 | if (pDevice->wCurrentRate <= RATE_11M) { |
@@ -3118,7 +3120,9 @@ nsDMA_tx_packet( | |||
3118 | 3120 | ||
3119 | if ( pDevice->bEnablePSMode == TRUE ) { | 3121 | if ( pDevice->bEnablePSMode == TRUE ) { |
3120 | if ( !pDevice->bPSModeTxBurst ) { | 3122 | if ( !pDevice->bPSModeTxBurst ) { |
3121 | bScheduleCommand((HANDLE) pDevice, WLAN_CMD_MAC_DISPOWERSAVING, NULL); | 3123 | bScheduleCommand((void *) pDevice, |
3124 | WLAN_CMD_MAC_DISPOWERSAVING, | ||
3125 | NULL); | ||
3122 | pDevice->bPSModeTxBurst = TRUE; | 3126 | pDevice->bPSModeTxBurst = TRUE; |
3123 | } | 3127 | } |
3124 | } | 3128 | } |
@@ -3138,7 +3142,7 @@ nsDMA_tx_packet( | |||
3138 | if (bNeedDeAuth == TRUE) { | 3142 | if (bNeedDeAuth == TRUE) { |
3139 | WORD wReason = WLAN_MGMT_REASON_MIC_FAILURE; | 3143 | WORD wReason = WLAN_MGMT_REASON_MIC_FAILURE; |
3140 | 3144 | ||
3141 | bScheduleCommand((HANDLE) pDevice, WLAN_CMD_DEAUTH, (PBYTE)&wReason); | 3145 | bScheduleCommand((void *) pDevice, WLAN_CMD_DEAUTH, (PBYTE) &wReason); |
3142 | } | 3146 | } |
3143 | 3147 | ||
3144 | if(status!=STATUS_PENDING) { | 3148 | if(status!=STATUS_PENDING) { |
@@ -3258,9 +3262,8 @@ bRelayPacketSend ( | |||
3258 | pDevice->wCurrentRate = pMgmt->sNodeDBTable[uNodeIndex].wTxDataRate; | 3262 | pDevice->wCurrentRate = pMgmt->sNodeDBTable[uNodeIndex].wTxDataRate; |
3259 | } | 3263 | } |
3260 | 3264 | ||
3261 | |||
3262 | if (wKeepRate != pDevice->wCurrentRate) { | 3265 | if (wKeepRate != pDevice->wCurrentRate) { |
3263 | bScheduleCommand((HANDLE) pDevice, WLAN_CMD_SETPOWER, NULL); | 3266 | bScheduleCommand((void *) pDevice, WLAN_CMD_SETPOWER, NULL); |
3264 | } | 3267 | } |
3265 | 3268 | ||
3266 | if (pDevice->wCurrentRate <= RATE_11M) | 3269 | if (pDevice->wCurrentRate <= RATE_11M) |
diff --git a/drivers/staging/vt6656/ttype.h b/drivers/staging/vt6656/ttype.h index 692b63e4dab..13e8bbb6711 100644 --- a/drivers/staging/vt6656/ttype.h +++ b/drivers/staging/vt6656/ttype.h | |||
@@ -133,11 +133,4 @@ typedef DWORD * PDWORD; | |||
133 | 133 | ||
134 | typedef QWORD * PQWORD; | 134 | typedef QWORD * PQWORD; |
135 | 135 | ||
136 | // handle declaration | ||
137 | #ifdef STRICT | ||
138 | typedef void *HANDLE; | ||
139 | #else | ||
140 | typedef void *HANDLE; | ||
141 | #endif | ||
142 | |||
143 | #endif /* __TTYPE_H__ */ | 136 | #endif /* __TTYPE_H__ */ |
diff --git a/drivers/staging/vt6656/wcmd.c b/drivers/staging/vt6656/wcmd.c index 23db5f63c78..6fec9094ccd 100644 --- a/drivers/staging/vt6656/wcmd.c +++ b/drivers/staging/vt6656/wcmd.c | |||
@@ -94,18 +94,12 @@ s_bCommandComplete ( | |||
94 | ); | 94 | ); |
95 | 95 | ||
96 | 96 | ||
97 | static | 97 | static BOOL s_bClearBSSID_SCAN(void *hDeviceContext); |
98 | BOOL s_bClearBSSID_SCAN ( | ||
99 | HANDLE hDeviceContext | ||
100 | ); | ||
101 | 98 | ||
102 | /*--------------------- Export Variables --------------------------*/ | 99 | /*--------------------- Export Variables --------------------------*/ |
103 | 100 | ||
104 | |||
105 | /*--------------------- Export Functions --------------------------*/ | 101 | /*--------------------- Export Functions --------------------------*/ |
106 | 102 | ||
107 | |||
108 | |||
109 | /* | 103 | /* |
110 | * Description: | 104 | * Description: |
111 | * Stop AdHoc beacon during scan process | 105 | * Stop AdHoc beacon during scan process |
@@ -119,6 +113,7 @@ BOOL s_bClearBSSID_SCAN ( | |||
119 | * Return Value: none | 113 | * Return Value: none |
120 | * | 114 | * |
121 | */ | 115 | */ |
116 | |||
122 | static | 117 | static |
123 | void | 118 | void |
124 | vAdHocBeaconStop(PSDevice pDevice) | 119 | vAdHocBeaconStop(PSDevice pDevice) |
@@ -321,15 +316,7 @@ s_MgrMakeProbeRequest( | |||
321 | return pTxPacket; | 316 | return pTxPacket; |
322 | } | 317 | } |
323 | 318 | ||
324 | 319 | void vCommandTimerWait(void *hDeviceContext, UINT MSecond) | |
325 | |||
326 | |||
327 | |||
328 | void | ||
329 | vCommandTimerWait( | ||
330 | HANDLE hDeviceContext, | ||
331 | UINT MSecond | ||
332 | ) | ||
333 | { | 320 | { |
334 | PSDevice pDevice = (PSDevice)hDeviceContext; | 321 | PSDevice pDevice = (PSDevice)hDeviceContext; |
335 | 322 | ||
@@ -342,13 +329,7 @@ vCommandTimerWait( | |||
342 | return; | 329 | return; |
343 | } | 330 | } |
344 | 331 | ||
345 | 332 | void vRunCommand(void *hDeviceContext) | |
346 | |||
347 | |||
348 | void | ||
349 | vRunCommand( | ||
350 | HANDLE hDeviceContext | ||
351 | ) | ||
352 | { | 333 | { |
353 | PSDevice pDevice = (PSDevice)hDeviceContext; | 334 | PSDevice pDevice = (PSDevice)hDeviceContext; |
354 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); | 335 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); |
@@ -435,7 +416,8 @@ vRunCommand( | |||
435 | pMgmt->abyScanBSSID[5] = 0xFF; | 416 | pMgmt->abyScanBSSID[5] = 0xFF; |
436 | pItemSSID->byElementID = WLAN_EID_SSID; | 417 | pItemSSID->byElementID = WLAN_EID_SSID; |
437 | // clear bssid list | 418 | // clear bssid list |
438 | // BSSvClearBSSList((HANDLE)pDevice, pDevice->bLinkPass); | 419 | /* BSSvClearBSSList((void *) pDevice, |
420 | pDevice->bLinkPass); */ | ||
439 | pMgmt->eScanState = WMAC_IS_SCANNING; | 421 | pMgmt->eScanState = WMAC_IS_SCANNING; |
440 | pDevice->byScanBBType = pDevice->byBBType; //lucas | 422 | pDevice->byScanBBType = pDevice->byBBType; //lucas |
441 | pDevice->bStopDataPkt = TRUE; | 423 | pDevice->bStopDataPkt = TRUE; |
@@ -480,11 +462,11 @@ vRunCommand( | |||
480 | (pMgmt->uScanChannel < CB_MAX_CHANNEL_24G)) { | 462 | (pMgmt->uScanChannel < CB_MAX_CHANNEL_24G)) { |
481 | s_vProbeChannel(pDevice); | 463 | s_vProbeChannel(pDevice); |
482 | spin_unlock_irq(&pDevice->lock); | 464 | spin_unlock_irq(&pDevice->lock); |
483 | vCommandTimerWait((HANDLE)pDevice, 100); | 465 | vCommandTimerWait((void *) pDevice, 100); |
484 | return; | 466 | return; |
485 | } else { | 467 | } else { |
486 | spin_unlock_irq(&pDevice->lock); | 468 | spin_unlock_irq(&pDevice->lock); |
487 | vCommandTimerWait((HANDLE)pDevice, WCMD_PASSIVE_SCAN_TIME); | 469 | vCommandTimerWait((void *) pDevice, WCMD_PASSIVE_SCAN_TIME); |
488 | return; | 470 | return; |
489 | } | 471 | } |
490 | 472 | ||
@@ -552,7 +534,11 @@ vRunCommand( | |||
552 | 534 | ||
553 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"Send Disassociation Packet..\n"); | 535 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"Send Disassociation Packet..\n"); |
554 | // reason = 8 : disassoc because sta has left | 536 | // reason = 8 : disassoc because sta has left |
555 | vMgrDisassocBeginSta((HANDLE)pDevice, pMgmt, pMgmt->abyCurrBSSID, (8), &Status); | 537 | vMgrDisassocBeginSta((void *) pDevice, |
538 | pMgmt, | ||
539 | pMgmt->abyCurrBSSID, | ||
540 | (8), | ||
541 | &Status); | ||
556 | pDevice->bLinkPass = FALSE; | 542 | pDevice->bLinkPass = FALSE; |
557 | ControlvMaskByte(pDevice,MESSAGE_REQUEST_MACREG,MAC_REG_PAPEDELAY,LEDSTS_STS,LEDSTS_SLOW); | 543 | ControlvMaskByte(pDevice,MESSAGE_REQUEST_MACREG,MAC_REG_PAPEDELAY,LEDSTS_STS,LEDSTS_SLOW); |
558 | // unlock command busy | 544 | // unlock command busy |
@@ -614,22 +600,26 @@ vRunCommand( | |||
614 | // set initial state | 600 | // set initial state |
615 | pMgmt->eCurrState = WMAC_STATE_IDLE; | 601 | pMgmt->eCurrState = WMAC_STATE_IDLE; |
616 | pMgmt->eCurrMode = WMAC_MODE_STANDBY; | 602 | pMgmt->eCurrMode = WMAC_MODE_STANDBY; |
617 | PSvDisablePowerSaving((HANDLE)pDevice); | 603 | PSvDisablePowerSaving((void *) pDevice); |
618 | BSSvClearNodeDBTable(pDevice, 0); | 604 | BSSvClearNodeDBTable(pDevice, 0); |
619 | vMgrJoinBSSBegin((HANDLE)pDevice, &Status); | 605 | vMgrJoinBSSBegin((void *) pDevice, &Status); |
620 | // if Infra mode | 606 | // if Infra mode |
621 | if ((pMgmt->eCurrMode == WMAC_MODE_ESS_STA) && (pMgmt->eCurrState == WMAC_STATE_JOINTED)) { | 607 | if ((pMgmt->eCurrMode == WMAC_MODE_ESS_STA) && (pMgmt->eCurrState == WMAC_STATE_JOINTED)) { |
622 | // Call mgr to begin the deauthentication | 608 | // Call mgr to begin the deauthentication |
623 | // reason = (3) beacuse sta has left ESS | 609 | // reason = (3) beacuse sta has left ESS |
624 | if (pMgmt->eCurrState>= WMAC_STATE_AUTH) { | 610 | if (pMgmt->eCurrState >= WMAC_STATE_AUTH) { |
625 | vMgrDeAuthenBeginSta((HANDLE)pDevice, pMgmt, pMgmt->abyCurrBSSID, (3), &Status); | 611 | vMgrDeAuthenBeginSta((void *)pDevice, |
626 | } | 612 | pMgmt, |
613 | pMgmt->abyCurrBSSID, | ||
614 | (3), | ||
615 | &Status); | ||
616 | } | ||
627 | // Call mgr to begin the authentication | 617 | // Call mgr to begin the authentication |
628 | vMgrAuthenBeginSta((HANDLE)pDevice, pMgmt, &Status); | 618 | vMgrAuthenBeginSta((void *) pDevice, pMgmt, &Status); |
629 | if (Status == CMD_STATUS_SUCCESS) { | 619 | if (Status == CMD_STATUS_SUCCESS) { |
630 | pDevice->byLinkWaitCount = 0; | 620 | pDevice->byLinkWaitCount = 0; |
631 | pDevice->eCommandState = WLAN_AUTHENTICATE_WAIT; | 621 | pDevice->eCommandState = WLAN_AUTHENTICATE_WAIT; |
632 | vCommandTimerWait((HANDLE)pDevice, AUTHENTICATE_TIMEOUT); | 622 | vCommandTimerWait((void *) pDevice, AUTHENTICATE_TIMEOUT); |
633 | spin_unlock_irq(&pDevice->lock); | 623 | spin_unlock_irq(&pDevice->lock); |
634 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO" Set eCommandState = WLAN_AUTHENTICATE_WAIT\n"); | 624 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO" Set eCommandState = WLAN_AUTHENTICATE_WAIT\n"); |
635 | return; | 625 | return; |
@@ -648,10 +638,12 @@ vRunCommand( | |||
648 | } | 638 | } |
649 | else { | 639 | else { |
650 | // start own IBSS | 640 | // start own IBSS |
651 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "CreateOwn IBSS by CurrMode = IBSS_STA \n"); | 641 | DBG_PRT(MSG_LEVEL_DEBUG, |
652 | vMgrCreateOwnIBSS((HANDLE)pDevice, &Status); | 642 | KERN_INFO "CreateOwn IBSS by CurrMode = IBSS_STA\n"); |
643 | vMgrCreateOwnIBSS((void *) pDevice, &Status); | ||
653 | if (Status != CMD_STATUS_SUCCESS){ | 644 | if (Status != CMD_STATUS_SUCCESS){ |
654 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO " WLAN_CMD_IBSS_CREATE fail ! \n"); | 645 | DBG_PRT(MSG_LEVEL_DEBUG, |
646 | KERN_INFO "WLAN_CMD_IBSS_CREATE fail!\n"); | ||
655 | }; | 647 | }; |
656 | BSSvAddMulticastNode(pDevice); | 648 | BSSvAddMulticastNode(pDevice); |
657 | } | 649 | } |
@@ -662,10 +654,12 @@ vRunCommand( | |||
662 | if (pMgmt->eConfigMode == WMAC_CONFIG_IBSS_STA || | 654 | if (pMgmt->eConfigMode == WMAC_CONFIG_IBSS_STA || |
663 | pMgmt->eConfigMode == WMAC_CONFIG_AUTO) { | 655 | pMgmt->eConfigMode == WMAC_CONFIG_AUTO) { |
664 | // start own IBSS | 656 | // start own IBSS |
665 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "CreateOwn IBSS by CurrMode = STANDBY \n"); | 657 | DBG_PRT(MSG_LEVEL_DEBUG, |
666 | vMgrCreateOwnIBSS((HANDLE)pDevice, &Status); | 658 | KERN_INFO "CreateOwn IBSS by CurrMode = STANDBY\n"); |
659 | vMgrCreateOwnIBSS((void *) pDevice, &Status); | ||
667 | if (Status != CMD_STATUS_SUCCESS){ | 660 | if (Status != CMD_STATUS_SUCCESS){ |
668 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO" WLAN_CMD_IBSS_CREATE fail ! \n"); | 661 | DBG_PRT(MSG_LEVEL_DEBUG, |
662 | KERN_INFO "WLAN_CMD_IBSS_CREATE fail!\n"); | ||
669 | }; | 663 | }; |
670 | BSSvAddMulticastNode(pDevice); | 664 | BSSvAddMulticastNode(pDevice); |
671 | s_bClearBSSID_SCAN(pDevice); | 665 | s_bClearBSSID_SCAN(pDevice); |
@@ -701,12 +695,12 @@ vRunCommand( | |||
701 | pDevice->byLinkWaitCount = 0; | 695 | pDevice->byLinkWaitCount = 0; |
702 | // Call mgr to begin the association | 696 | // Call mgr to begin the association |
703 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"eCurrState == WMAC_STATE_AUTH\n"); | 697 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"eCurrState == WMAC_STATE_AUTH\n"); |
704 | vMgrAssocBeginSta((HANDLE)pDevice, pMgmt, &Status); | 698 | vMgrAssocBeginSta((void *) pDevice, pMgmt, &Status); |
705 | if (Status == CMD_STATUS_SUCCESS) { | 699 | if (Status == CMD_STATUS_SUCCESS) { |
706 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"eCommandState = WLAN_ASSOCIATE_WAIT\n"); | 700 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"eCommandState = WLAN_ASSOCIATE_WAIT\n"); |
707 | pDevice->byLinkWaitCount = 0; | 701 | pDevice->byLinkWaitCount = 0; |
708 | pDevice->eCommandState = WLAN_ASSOCIATE_WAIT; | 702 | pDevice->eCommandState = WLAN_ASSOCIATE_WAIT; |
709 | vCommandTimerWait((HANDLE)pDevice, ASSOCIATE_TIMEOUT); | 703 | vCommandTimerWait((void *) pDevice, ASSOCIATE_TIMEOUT); |
710 | spin_unlock_irq(&pDevice->lock); | 704 | spin_unlock_irq(&pDevice->lock); |
711 | return; | 705 | return; |
712 | } | 706 | } |
@@ -718,7 +712,7 @@ vRunCommand( | |||
718 | pDevice->byLinkWaitCount ++; | 712 | pDevice->byLinkWaitCount ++; |
719 | printk("WLAN_AUTHENTICATE_WAIT:wait %d times!!\n",pDevice->byLinkWaitCount); | 713 | printk("WLAN_AUTHENTICATE_WAIT:wait %d times!!\n",pDevice->byLinkWaitCount); |
720 | spin_unlock_irq(&pDevice->lock); | 714 | spin_unlock_irq(&pDevice->lock); |
721 | vCommandTimerWait((HANDLE)pDevice, AUTHENTICATE_TIMEOUT/2); | 715 | vCommandTimerWait((void *) pDevice, AUTHENTICATE_TIMEOUT/2); |
722 | return; | 716 | return; |
723 | } | 717 | } |
724 | pDevice->byLinkWaitCount = 0; | 718 | pDevice->byLinkWaitCount = 0; |
@@ -742,7 +736,8 @@ vRunCommand( | |||
742 | if (pMgmt->eCurrState == WMAC_STATE_ASSOC) { | 736 | if (pMgmt->eCurrState == WMAC_STATE_ASSOC) { |
743 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"eCurrState == WMAC_STATE_ASSOC\n"); | 737 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"eCurrState == WMAC_STATE_ASSOC\n"); |
744 | if (pDevice->ePSMode != WMAC_POWER_CAM) { | 738 | if (pDevice->ePSMode != WMAC_POWER_CAM) { |
745 | PSvEnablePowerSaving((HANDLE)pDevice, pMgmt->wListenInterval); | 739 | PSvEnablePowerSaving((void *) pDevice, |
740 | pMgmt->wListenInterval); | ||
746 | } | 741 | } |
747 | /* | 742 | /* |
748 | if (pMgmt->eAuthenMode >= WMAC_AUTH_WPA) { | 743 | if (pMgmt->eAuthenMode >= WMAC_AUTH_WPA) { |
@@ -786,7 +781,7 @@ vRunCommand( | |||
786 | pDevice->byLinkWaitCount ++; | 781 | pDevice->byLinkWaitCount ++; |
787 | printk("WLAN_ASSOCIATE_WAIT:wait %d times!!\n",pDevice->byLinkWaitCount); | 782 | printk("WLAN_ASSOCIATE_WAIT:wait %d times!!\n",pDevice->byLinkWaitCount); |
788 | spin_unlock_irq(&pDevice->lock); | 783 | spin_unlock_irq(&pDevice->lock); |
789 | vCommandTimerWait((HANDLE)pDevice, ASSOCIATE_TIMEOUT/2); | 784 | vCommandTimerWait((void *) pDevice, ASSOCIATE_TIMEOUT/2); |
790 | return; | 785 | return; |
791 | } | 786 | } |
792 | pDevice->byLinkWaitCount = 0; | 787 | pDevice->byLinkWaitCount = 0; |
@@ -823,9 +818,10 @@ vRunCommand( | |||
823 | pMgmt->eCurrState = WMAC_STATE_IDLE; | 818 | pMgmt->eCurrState = WMAC_STATE_IDLE; |
824 | pDevice->bFixRate = FALSE; | 819 | pDevice->bFixRate = FALSE; |
825 | 820 | ||
826 | vMgrCreateOwnIBSS((HANDLE)pDevice, &Status); | 821 | vMgrCreateOwnIBSS((void *) pDevice, &Status); |
827 | if (Status != CMD_STATUS_SUCCESS){ | 822 | if (Status != CMD_STATUS_SUCCESS) { |
828 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO " vMgrCreateOwnIBSS fail ! \n"); | 823 | DBG_PRT(MSG_LEVEL_DEBUG, |
824 | KERN_INFO "vMgrCreateOwnIBSS fail!\n"); | ||
829 | }; | 825 | }; |
830 | // alway turn off unicast bit | 826 | // alway turn off unicast bit |
831 | MACvRegBitsOff(pDevice, MAC_REG_RCR, RCR_UNICAST); | 827 | MACvRegBitsOff(pDevice, MAC_REG_RCR, RCR_UNICAST); |
@@ -948,7 +944,11 @@ vRunCommand( | |||
948 | 944 | ||
949 | if (pDevice->bLinkPass == TRUE) { | 945 | if (pDevice->bLinkPass == TRUE) { |
950 | // reason = 8 : disassoc because sta has left | 946 | // reason = 8 : disassoc because sta has left |
951 | vMgrDisassocBeginSta((HANDLE)pDevice, pMgmt, pMgmt->abyCurrBSSID, (8), &Status); | 947 | vMgrDisassocBeginSta((void *) pDevice, |
948 | pMgmt, | ||
949 | pMgmt->abyCurrBSSID, | ||
950 | (8), | ||
951 | &Status); | ||
952 | pDevice->bLinkPass = FALSE; | 952 | pDevice->bLinkPass = FALSE; |
953 | // unlock command busy | 953 | // unlock command busy |
954 | pMgmt->eCurrState = WMAC_STATE_IDLE; | 954 | pMgmt->eCurrState = WMAC_STATE_IDLE; |
@@ -1185,18 +1185,15 @@ s_bCommandComplete ( | |||
1185 | break; | 1185 | break; |
1186 | 1186 | ||
1187 | } | 1187 | } |
1188 | 1188 | vCommandTimerWait((void *) pDevice, 0); | |
1189 | vCommandTimerWait((HANDLE)pDevice, 0); | ||
1190 | } | 1189 | } |
1191 | 1190 | ||
1192 | return TRUE; | 1191 | return TRUE; |
1193 | } | 1192 | } |
1194 | 1193 | ||
1195 | BOOL bScheduleCommand ( | 1194 | BOOL bScheduleCommand(void *hDeviceContext, |
1196 | HANDLE hDeviceContext, | 1195 | CMD_CODE eCommand, |
1197 | CMD_CODE eCommand, | 1196 | PBYTE pbyItem0) |
1198 | PBYTE pbyItem0 | ||
1199 | ) | ||
1200 | { | 1197 | { |
1201 | PSDevice pDevice = (PSDevice)hDeviceContext; | 1198 | PSDevice pDevice = (PSDevice)hDeviceContext; |
1202 | 1199 | ||
@@ -1264,10 +1261,7 @@ BOOL bScheduleCommand ( | |||
1264 | * Return Value: TRUE if success; otherwise FALSE | 1261 | * Return Value: TRUE if success; otherwise FALSE |
1265 | * | 1262 | * |
1266 | */ | 1263 | */ |
1267 | static | 1264 | static BOOL s_bClearBSSID_SCAN(void *hDeviceContext) |
1268 | BOOL s_bClearBSSID_SCAN ( | ||
1269 | HANDLE hDeviceContext | ||
1270 | ) | ||
1271 | { | 1265 | { |
1272 | PSDevice pDevice = (PSDevice)hDeviceContext; | 1266 | PSDevice pDevice = (PSDevice)hDeviceContext; |
1273 | UINT uCmdDequeueIdx = pDevice->uCmdDequeueIdx; | 1267 | UINT uCmdDequeueIdx = pDevice->uCmdDequeueIdx; |
@@ -1287,10 +1281,7 @@ BOOL s_bClearBSSID_SCAN ( | |||
1287 | 1281 | ||
1288 | 1282 | ||
1289 | //mike add:reset command timer | 1283 | //mike add:reset command timer |
1290 | void | 1284 | void vResetCommandTimer(void *hDeviceContext) |
1291 | vResetCommandTimer( | ||
1292 | HANDLE hDeviceContext | ||
1293 | ) | ||
1294 | { | 1285 | { |
1295 | PSDevice pDevice = (PSDevice)hDeviceContext; | 1286 | PSDevice pDevice = (PSDevice)hDeviceContext; |
1296 | 1287 | ||
@@ -1311,10 +1302,7 @@ vResetCommandTimer( | |||
1311 | 1302 | ||
1312 | //2007-0115-08<Add>by MikeLiu | 1303 | //2007-0115-08<Add>by MikeLiu |
1313 | #ifdef TxInSleep | 1304 | #ifdef TxInSleep |
1314 | void | 1305 | void BSSvSecondTxData(void *hDeviceContext) |
1315 | BSSvSecondTxData( | ||
1316 | HANDLE hDeviceContext | ||
1317 | ) | ||
1318 | { | 1306 | { |
1319 | PSDevice pDevice = (PSDevice)hDeviceContext; | 1307 | PSDevice pDevice = (PSDevice)hDeviceContext; |
1320 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); | 1308 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); |
diff --git a/drivers/staging/vt6656/wcmd.h b/drivers/staging/vt6656/wcmd.h index a14e56470ea..09c4411c689 100644 --- a/drivers/staging/vt6656/wcmd.h +++ b/drivers/staging/vt6656/wcmd.h | |||
@@ -105,33 +105,22 @@ typedef enum tagCMD_STATE { | |||
105 | WLAN_CMD_IDLE | 105 | WLAN_CMD_IDLE |
106 | } CMD_STATE, *PCMD_STATE; | 106 | } CMD_STATE, *PCMD_STATE; |
107 | 107 | ||
108 | |||
109 | |||
110 | /*--------------------- Export Classes ----------------------------*/ | 108 | /*--------------------- Export Classes ----------------------------*/ |
111 | 109 | ||
112 | /*--------------------- Export Variables --------------------------*/ | 110 | /*--------------------- Export Variables --------------------------*/ |
113 | 111 | ||
114 | |||
115 | /*--------------------- Export Types ------------------------------*/ | 112 | /*--------------------- Export Types ------------------------------*/ |
116 | 113 | ||
117 | |||
118 | /*--------------------- Export Functions --------------------------*/ | 114 | /*--------------------- Export Functions --------------------------*/ |
119 | void | ||
120 | vResetCommandTimer( | ||
121 | HANDLE hDeviceContext | ||
122 | ); | ||
123 | 115 | ||
124 | BOOL | 116 | void vResetCommandTimer(void *hDeviceContext); |
125 | bScheduleCommand( | 117 | |
126 | HANDLE hDeviceContext, | 118 | BOOL bScheduleCommand(void *hDeviceContext, |
127 | CMD_CODE eCommand, | 119 | CMD_CODE eCommand, |
128 | PBYTE pbyItem0 | 120 | PBYTE pbyItem0); |
129 | ); | 121 | |
122 | void vRunCommand(void *hDeviceContext); | ||
130 | 123 | ||
131 | void | ||
132 | vRunCommand( | ||
133 | HANDLE hDeviceContext | ||
134 | ); | ||
135 | /* | 124 | /* |
136 | void | 125 | void |
137 | WCMDvCommandThread( | 126 | WCMDvCommandThread( |
@@ -141,10 +130,7 @@ WCMDvCommandThread( | |||
141 | 130 | ||
142 | //2007-0115-09<Add>by MikeLiu | 131 | //2007-0115-09<Add>by MikeLiu |
143 | #ifdef TxInSleep | 132 | #ifdef TxInSleep |
144 | void | 133 | void BSSvSecondTxData(void *hDeviceContext); |
145 | BSSvSecondTxData( | ||
146 | HANDLE hDeviceContext | ||
147 | ); | ||
148 | #endif | 134 | #endif |
149 | 135 | ||
150 | #endif /* __WCMD_H__ */ | 136 | #endif /* __WCMD_H__ */ |
diff --git a/drivers/staging/vt6656/wmgr.c b/drivers/staging/vt6656/wmgr.c index 5af98e9a8f0..aaba5221170 100644 --- a/drivers/staging/vt6656/wmgr.c +++ b/drivers/staging/vt6656/wmgr.c | |||
@@ -329,14 +329,10 @@ s_bCipherMatch ( | |||
329 | PKnownBSS pCurr | 329 | PKnownBSS pCurr |
330 | ); | 330 | ); |
331 | 331 | ||
332 | |||
333 | |||
334 | /*--------------------- Export Variables --------------------------*/ | 332 | /*--------------------- Export Variables --------------------------*/ |
335 | 333 | ||
336 | |||
337 | /*--------------------- Export Functions --------------------------*/ | 334 | /*--------------------- Export Functions --------------------------*/ |
338 | 335 | ||
339 | |||
340 | /*+ | 336 | /*+ |
341 | * | 337 | * |
342 | * Routine Description: | 338 | * Routine Description: |
@@ -347,10 +343,7 @@ s_bCipherMatch ( | |||
347 | * | 343 | * |
348 | -*/ | 344 | -*/ |
349 | 345 | ||
350 | void | 346 | void vMgrObjectInit(void *hDeviceContext) |
351 | vMgrObjectInit( | ||
352 | HANDLE hDeviceContext | ||
353 | ) | ||
354 | { | 347 | { |
355 | PSDevice pDevice = (PSDevice)hDeviceContext; | 348 | PSDevice pDevice = (PSDevice)hDeviceContext; |
356 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); | 349 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); |
@@ -368,7 +361,7 @@ vMgrObjectInit( | |||
368 | pMgmt->byCSSPK = KEY_CTL_NONE; | 361 | pMgmt->byCSSPK = KEY_CTL_NONE; |
369 | pMgmt->byCSSGK = KEY_CTL_NONE; | 362 | pMgmt->byCSSGK = KEY_CTL_NONE; |
370 | pMgmt->wIBSSBeaconPeriod = DEFAULT_IBSS_BI; | 363 | pMgmt->wIBSSBeaconPeriod = DEFAULT_IBSS_BI; |
371 | BSSvClearBSSList((HANDLE)pDevice, FALSE); | 364 | BSSvClearBSSList((void *) pDevice, FALSE); |
372 | 365 | ||
373 | init_timer(&pMgmt->sTimerSecondCallback); | 366 | init_timer(&pMgmt->sTimerSecondCallback); |
374 | pMgmt->sTimerSecondCallback.data = (ULONG)pDevice; | 367 | pMgmt->sTimerSecondCallback.data = (ULONG)pDevice; |
@@ -401,8 +394,6 @@ vMgrObjectInit( | |||
401 | return; | 394 | return; |
402 | } | 395 | } |
403 | 396 | ||
404 | |||
405 | |||
406 | /*+ | 397 | /*+ |
407 | * | 398 | * |
408 | * Routine Description: | 399 | * Routine Description: |
@@ -414,13 +405,9 @@ vMgrObjectInit( | |||
414 | * | 405 | * |
415 | -*/ | 406 | -*/ |
416 | 407 | ||
417 | 408 | void vMgrAssocBeginSta(void *hDeviceContext, | |
418 | void | 409 | PSMgmtObject pMgmt, |
419 | vMgrAssocBeginSta( | 410 | PCMD_STATUS pStatus) |
420 | HANDLE hDeviceContext, | ||
421 | PSMgmtObject pMgmt, | ||
422 | PCMD_STATUS pStatus | ||
423 | ) | ||
424 | { | 411 | { |
425 | PSDevice pDevice = (PSDevice)hDeviceContext; | 412 | PSDevice pDevice = (PSDevice)hDeviceContext; |
426 | PSTxMgmtPacket pTxPacket; | 413 | PSTxMgmtPacket pTxPacket; |
@@ -491,12 +478,9 @@ vMgrAssocBeginSta( | |||
491 | * | 478 | * |
492 | -*/ | 479 | -*/ |
493 | 480 | ||
494 | void | 481 | void vMgrReAssocBeginSta(void *hDeviceContext, |
495 | vMgrReAssocBeginSta( | 482 | PSMgmtObject pMgmt, |
496 | HANDLE hDeviceContext, | 483 | PCMD_STATUS pStatus) |
497 | PSMgmtObject pMgmt, | ||
498 | PCMD_STATUS pStatus | ||
499 | ) | ||
500 | { | 484 | { |
501 | PSDevice pDevice = (PSDevice)hDeviceContext; | 485 | PSDevice pDevice = (PSDevice)hDeviceContext; |
502 | PSTxMgmtPacket pTxPacket; | 486 | PSTxMgmtPacket pTxPacket; |
@@ -570,14 +554,11 @@ vMgrReAssocBeginSta( | |||
570 | * | 554 | * |
571 | -*/ | 555 | -*/ |
572 | 556 | ||
573 | void | 557 | void vMgrDisassocBeginSta(void *hDeviceContext, |
574 | vMgrDisassocBeginSta( | 558 | PSMgmtObject pMgmt, |
575 | HANDLE hDeviceContext, | 559 | PBYTE abyDestAddress, |
576 | PSMgmtObject pMgmt, | 560 | WORD wReason, |
577 | PBYTE abyDestAddress, | 561 | PCMD_STATUS pStatus) |
578 | WORD wReason, | ||
579 | PCMD_STATUS pStatus | ||
580 | ) | ||
581 | { | 562 | { |
582 | PSDevice pDevice = (PSDevice)hDeviceContext; | 563 | PSDevice pDevice = (PSDevice)hDeviceContext; |
583 | PSTxMgmtPacket pTxPacket = NULL; | 564 | PSTxMgmtPacket pTxPacket = NULL; |
@@ -987,7 +968,10 @@ s_vMgrRxAssocResponse( | |||
987 | }; | 968 | }; |
988 | DBG_PRT(MSG_LEVEL_INFO, KERN_INFO "Association Successful, AID=%d.\n", pMgmt->wCurrAID & ~(BIT14|BIT15)); | 969 | DBG_PRT(MSG_LEVEL_INFO, KERN_INFO "Association Successful, AID=%d.\n", pMgmt->wCurrAID & ~(BIT14|BIT15)); |
989 | pMgmt->eCurrState = WMAC_STATE_ASSOC; | 970 | pMgmt->eCurrState = WMAC_STATE_ASSOC; |
990 | BSSvUpdateAPNode((HANDLE)pDevice, sFrame.pwCapInfo, sFrame.pSuppRates, sFrame.pExtSuppRates); | 971 | BSSvUpdateAPNode((void *) pDevice, |
972 | sFrame.pwCapInfo, | ||
973 | sFrame.pSuppRates, | ||
974 | sFrame.pExtSuppRates); | ||
991 | pItemSSID = (PWLAN_IE_SSID)pMgmt->abyCurrSSID; | 975 | pItemSSID = (PWLAN_IE_SSID)pMgmt->abyCurrSSID; |
992 | DBG_PRT(MSG_LEVEL_INFO, KERN_INFO "Link with AP(SSID): %s\n", pItemSSID->abySSID); | 976 | DBG_PRT(MSG_LEVEL_INFO, KERN_INFO "Link with AP(SSID): %s\n", pItemSSID->abySSID); |
993 | pDevice->bLinkPass = TRUE; | 977 | pDevice->bLinkPass = TRUE; |
@@ -1089,8 +1073,6 @@ if(pMgmt->eCurrState == WMAC_STATE_ASSOC) | |||
1089 | return; | 1073 | return; |
1090 | } | 1074 | } |
1091 | 1075 | ||
1092 | |||
1093 | |||
1094 | /*+ | 1076 | /*+ |
1095 | * | 1077 | * |
1096 | * Routine Description: | 1078 | * Routine Description: |
@@ -1102,12 +1084,9 @@ if(pMgmt->eCurrState == WMAC_STATE_ASSOC) | |||
1102 | * | 1084 | * |
1103 | -*/ | 1085 | -*/ |
1104 | 1086 | ||
1105 | void | 1087 | void vMgrAuthenBeginSta(void *hDeviceContext, |
1106 | vMgrAuthenBeginSta( | 1088 | PSMgmtObject pMgmt, |
1107 | HANDLE hDeviceContext, | 1089 | PCMD_STATUS pStatus) |
1108 | PSMgmtObject pMgmt, | ||
1109 | PCMD_STATUS pStatus | ||
1110 | ) | ||
1111 | { | 1090 | { |
1112 | PSDevice pDevice = (PSDevice)hDeviceContext; | 1091 | PSDevice pDevice = (PSDevice)hDeviceContext; |
1113 | WLAN_FR_AUTHEN sFrame; | 1092 | WLAN_FR_AUTHEN sFrame; |
@@ -1147,8 +1126,6 @@ vMgrAuthenBeginSta( | |||
1147 | return ; | 1126 | return ; |
1148 | } | 1127 | } |
1149 | 1128 | ||
1150 | |||
1151 | |||
1152 | /*+ | 1129 | /*+ |
1153 | * | 1130 | * |
1154 | * Routine Description: | 1131 | * Routine Description: |
@@ -1160,14 +1137,11 @@ vMgrAuthenBeginSta( | |||
1160 | * | 1137 | * |
1161 | -*/ | 1138 | -*/ |
1162 | 1139 | ||
1163 | void | 1140 | void vMgrDeAuthenBeginSta(void *hDeviceContext, |
1164 | vMgrDeAuthenBeginSta( | 1141 | PSMgmtObject pMgmt, |
1165 | HANDLE hDeviceContext, | 1142 | PBYTE abyDestAddress, |
1166 | PSMgmtObject pMgmt, | 1143 | WORD wReason, |
1167 | PBYTE abyDestAddress, | 1144 | PCMD_STATUS pStatus) |
1168 | WORD wReason, | ||
1169 | PCMD_STATUS pStatus | ||
1170 | ) | ||
1171 | { | 1145 | { |
1172 | PSDevice pDevice = (PSDevice)hDeviceContext; | 1146 | PSDevice pDevice = (PSDevice)hDeviceContext; |
1173 | WLAN_FR_DEAUTHEN sFrame; | 1147 | WLAN_FR_DEAUTHEN sFrame; |
@@ -1405,12 +1379,11 @@ s_vMgrRxAuthenSequence_2( | |||
1405 | s_vMgrLogStatus(pMgmt, cpu_to_le16((*(pFrame->pwStatus)))); | 1379 | s_vMgrLogStatus(pMgmt, cpu_to_le16((*(pFrame->pwStatus)))); |
1406 | pMgmt->eCurrState = WMAC_STATE_IDLE; | 1380 | pMgmt->eCurrState = WMAC_STATE_IDLE; |
1407 | } | 1381 | } |
1408 | if (pDevice->eCommandState == WLAN_AUTHENTICATE_WAIT ) { | 1382 | if (pDevice->eCommandState == WLAN_AUTHENTICATE_WAIT) { |
1409 | // spin_unlock_irq(&pDevice->lock); | 1383 | /* spin_unlock_irq(&pDevice->lock); |
1410 | // vCommandTimerWait((HANDLE)pDevice, 0); | 1384 | vCommandTimerWait((void *) pDevice, 0); |
1411 | // spin_lock_irq(&pDevice->lock); | 1385 | spin_lock_irq(&pDevice->lock); */ |
1412 | } | 1386 | } |
1413 | |||
1414 | break; | 1387 | break; |
1415 | 1388 | ||
1416 | case WLAN_AUTH_ALG_SHAREDKEY: | 1389 | case WLAN_AUTH_ALG_SHAREDKEY: |
@@ -1453,9 +1426,9 @@ s_vMgrRxAuthenSequence_2( | |||
1453 | else { | 1426 | else { |
1454 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "Mgt:rx Auth_reply sequence_2 status error ...\n"); | 1427 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "Mgt:rx Auth_reply sequence_2 status error ...\n"); |
1455 | if ( pDevice->eCommandState == WLAN_AUTHENTICATE_WAIT ) { | 1428 | if ( pDevice->eCommandState == WLAN_AUTHENTICATE_WAIT ) { |
1456 | // spin_unlock_irq(&pDevice->lock); | 1429 | /* spin_unlock_irq(&pDevice->lock); |
1457 | // vCommandTimerWait((HANDLE)pDevice, 0); | 1430 | vCommandTimerWait((void *) pDevice, 0); |
1458 | // spin_lock_irq(&pDevice->lock); | 1431 | spin_lock_irq(&pDevice->lock); */ |
1459 | } | 1432 | } |
1460 | s_vMgrLogStatus(pMgmt, cpu_to_le16((*(pFrame->pwStatus)))); | 1433 | s_vMgrLogStatus(pMgmt, cpu_to_le16((*(pFrame->pwStatus)))); |
1461 | } | 1434 | } |
@@ -1591,11 +1564,10 @@ s_vMgrRxAuthenSequence_4( | |||
1591 | } | 1564 | } |
1592 | 1565 | ||
1593 | if ( pDevice->eCommandState == WLAN_AUTHENTICATE_WAIT ) { | 1566 | if ( pDevice->eCommandState == WLAN_AUTHENTICATE_WAIT ) { |
1594 | // spin_unlock_irq(&pDevice->lock); | 1567 | /* spin_unlock_irq(&pDevice->lock); |
1595 | // vCommandTimerWait((HANDLE)pDevice, 0); | 1568 | vCommandTimerWait((void *) pDevice, 0); |
1596 | // spin_lock_irq(&pDevice->lock); | 1569 | spin_lock_irq(&pDevice->lock); */ |
1597 | } | 1570 | } |
1598 | |||
1599 | } | 1571 | } |
1600 | 1572 | ||
1601 | /*+ | 1573 | /*+ |
@@ -1913,10 +1885,12 @@ if(ChannelExceedZoneType(pDevice,byCurrChannel)==TRUE) | |||
1913 | sERP.byERP = 0; | 1885 | sERP.byERP = 0; |
1914 | } | 1886 | } |
1915 | 1887 | ||
1916 | pBSSList = BSSpAddrIsInBSSList((HANDLE)pDevice, sFrame.pHdr->sA3.abyAddr3, sFrame.pSSID); | 1888 | pBSSList = BSSpAddrIsInBSSList((void *) pDevice, |
1889 | sFrame.pHdr->sA3.abyAddr3, | ||
1890 | sFrame.pSSID); | ||
1917 | if (pBSSList == NULL) { | 1891 | if (pBSSList == NULL) { |
1918 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"Beacon/insert: RxChannel = : %d\n", byCurrChannel); | 1892 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"Beacon/insert: RxChannel = : %d\n", byCurrChannel); |
1919 | BSSbInsertToBSSList((HANDLE)pDevice, | 1893 | BSSbInsertToBSSList((void *) pDevice, |
1920 | sFrame.pHdr->sA3.abyAddr3, | 1894 | sFrame.pHdr->sA3.abyAddr3, |
1921 | *sFrame.pqwTimestamp, | 1895 | *sFrame.pqwTimestamp, |
1922 | *sFrame.pwBeaconInterval, | 1896 | *sFrame.pwBeaconInterval, |
@@ -1932,12 +1906,11 @@ if(ChannelExceedZoneType(pDevice,byCurrChannel)==TRUE) | |||
1932 | sFrame.pIE_Quiet, | 1906 | sFrame.pIE_Quiet, |
1933 | sFrame.len - WLAN_HDR_ADDR3_LEN, | 1907 | sFrame.len - WLAN_HDR_ADDR3_LEN, |
1934 | sFrame.pHdr->sA4.abyAddr4, // payload of beacon | 1908 | sFrame.pHdr->sA4.abyAddr4, // payload of beacon |
1935 | (HANDLE)pRxPacket | 1909 | (void *) pRxPacket); |
1936 | ); | ||
1937 | } | 1910 | } |
1938 | else { | 1911 | else { |
1939 | // DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"update bcn: RxChannel = : %d\n", byCurrChannel); | 1912 | // DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"update bcn: RxChannel = : %d\n", byCurrChannel); |
1940 | BSSbUpdateToBSSList((HANDLE)pDevice, | 1913 | BSSbUpdateToBSSList((void *) pDevice, |
1941 | *sFrame.pqwTimestamp, | 1914 | *sFrame.pqwTimestamp, |
1942 | *sFrame.pwBeaconInterval, | 1915 | *sFrame.pwBeaconInterval, |
1943 | *sFrame.pwCapInfo, | 1916 | *sFrame.pwCapInfo, |
@@ -1954,8 +1927,7 @@ if(ChannelExceedZoneType(pDevice,byCurrChannel)==TRUE) | |||
1954 | pBSSList, | 1927 | pBSSList, |
1955 | sFrame.len - WLAN_HDR_ADDR3_LEN, | 1928 | sFrame.len - WLAN_HDR_ADDR3_LEN, |
1956 | sFrame.pHdr->sA4.abyAddr4, // payload of probresponse | 1929 | sFrame.pHdr->sA4.abyAddr4, // payload of probresponse |
1957 | (HANDLE)pRxPacket | 1930 | (void *) pRxPacket); |
1958 | ); | ||
1959 | 1931 | ||
1960 | } | 1932 | } |
1961 | 1933 | ||
@@ -2324,7 +2296,7 @@ if(ChannelExceedZoneType(pDevice,byCurrChannel)==TRUE) | |||
2324 | // set highest basic rate | 2296 | // set highest basic rate |
2325 | // s_vSetHighestBasicRate(pDevice, (PWLAN_IE_SUPP_RATES)pMgmt->abyCurrSuppRates); | 2297 | // s_vSetHighestBasicRate(pDevice, (PWLAN_IE_SUPP_RATES)pMgmt->abyCurrSuppRates); |
2326 | // Prepare beacon frame | 2298 | // Prepare beacon frame |
2327 | bMgrPrepareBeaconToSend((HANDLE)pDevice, pMgmt); | 2299 | bMgrPrepareBeaconToSend((void *) pDevice, pMgmt); |
2328 | // } | 2300 | // } |
2329 | }; | 2301 | }; |
2330 | } | 2302 | } |
@@ -2341,8 +2313,6 @@ if(ChannelExceedZoneType(pDevice,byCurrChannel)==TRUE) | |||
2341 | return; | 2313 | return; |
2342 | } | 2314 | } |
2343 | 2315 | ||
2344 | |||
2345 | |||
2346 | /*+ | 2316 | /*+ |
2347 | * | 2317 | * |
2348 | * Routine Description: | 2318 | * Routine Description: |
@@ -2355,11 +2325,9 @@ if(ChannelExceedZoneType(pDevice,byCurrChannel)==TRUE) | |||
2355 | * CMD_STATUS | 2325 | * CMD_STATUS |
2356 | * | 2326 | * |
2357 | -*/ | 2327 | -*/ |
2358 | void | 2328 | |
2359 | vMgrCreateOwnIBSS( | 2329 | void vMgrCreateOwnIBSS(void *hDeviceContext, |
2360 | HANDLE hDeviceContext, | 2330 | PCMD_STATUS pStatus) |
2361 | PCMD_STATUS pStatus | ||
2362 | ) | ||
2363 | { | 2331 | { |
2364 | PSDevice pDevice = (PSDevice)hDeviceContext; | 2332 | PSDevice pDevice = (PSDevice)hDeviceContext; |
2365 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); | 2333 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); |
@@ -2609,13 +2577,11 @@ vMgrCreateOwnIBSS( | |||
2609 | 2577 | ||
2610 | pMgmt->eCurrState = WMAC_STATE_STARTED; | 2578 | pMgmt->eCurrState = WMAC_STATE_STARTED; |
2611 | // Prepare beacon to send | 2579 | // Prepare beacon to send |
2612 | if (bMgrPrepareBeaconToSend((HANDLE)pDevice, pMgmt)) { | 2580 | if (bMgrPrepareBeaconToSend((void *) pDevice, pMgmt)) |
2613 | *pStatus = CMD_STATUS_SUCCESS; | 2581 | *pStatus = CMD_STATUS_SUCCESS; |
2614 | } | ||
2615 | return ; | ||
2616 | } | ||
2617 | |||
2618 | 2582 | ||
2583 | return; | ||
2584 | } | ||
2619 | 2585 | ||
2620 | /*+ | 2586 | /*+ |
2621 | * | 2587 | * |
@@ -2630,13 +2596,8 @@ vMgrCreateOwnIBSS( | |||
2630 | * | 2596 | * |
2631 | -*/ | 2597 | -*/ |
2632 | 2598 | ||
2633 | void | 2599 | void vMgrJoinBSSBegin(void *hDeviceContext, PCMD_STATUS pStatus) |
2634 | vMgrJoinBSSBegin( | ||
2635 | HANDLE hDeviceContext, | ||
2636 | PCMD_STATUS pStatus | ||
2637 | ) | ||
2638 | { | 2600 | { |
2639 | |||
2640 | PSDevice pDevice = (PSDevice)hDeviceContext; | 2601 | PSDevice pDevice = (PSDevice)hDeviceContext; |
2641 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); | 2602 | PSMgmtObject pMgmt = &(pDevice->sMgmtObj); |
2642 | PKnownBSS pCurr = NULL; | 2603 | PKnownBSS pCurr = NULL; |
@@ -2782,12 +2743,17 @@ vMgrJoinBSSBegin( | |||
2782 | // Add current BSS to Candidate list | 2743 | // Add current BSS to Candidate list |
2783 | // This should only works for WPA2 BSS, and WPA2 BSS check must be done before. | 2744 | // This should only works for WPA2 BSS, and WPA2 BSS check must be done before. |
2784 | if (pMgmt->eAuthenMode == WMAC_AUTH_WPA2) { | 2745 | if (pMgmt->eAuthenMode == WMAC_AUTH_WPA2) { |
2785 | BOOL bResult = bAdd_PMKID_Candidate((HANDLE)pDevice, pMgmt->abyCurrBSSID, &pCurr->sRSNCapObj); | 2746 | BOOL bResult = bAdd_PMKID_Candidate((void *) pDevice, |
2747 | pMgmt->abyCurrBSSID, | ||
2748 | &pCurr->sRSNCapObj); | ||
2786 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"bAdd_PMKID_Candidate: 1(%d)\n", bResult); | 2749 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"bAdd_PMKID_Candidate: 1(%d)\n", bResult); |
2787 | if (bResult == FALSE) { | 2750 | if (bResult == FALSE) { |
2788 | vFlush_PMKID_Candidate((HANDLE)pDevice); | 2751 | vFlush_PMKID_Candidate((void *) pDevice); |
2789 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"vFlush_PMKID_Candidate: 4\n"); | 2752 | DBG_PRT(MSG_LEVEL_DEBUG, |
2790 | bAdd_PMKID_Candidate((HANDLE)pDevice, pMgmt->abyCurrBSSID, &pCurr->sRSNCapObj); | 2753 | KERN_INFO "vFlush_PMKID_Candidate: 4\n"); |
2754 | bAdd_PMKID_Candidate((void *) pDevice, | ||
2755 | pMgmt->abyCurrBSSID, | ||
2756 | &pCurr->sRSNCapObj); | ||
2791 | } | 2757 | } |
2792 | } | 2758 | } |
2793 | 2759 | ||
@@ -2940,7 +2906,7 @@ vMgrJoinBSSBegin( | |||
2940 | CARDvSetRSPINF(pDevice, (BYTE)pDevice->byBBType); | 2906 | CARDvSetRSPINF(pDevice, (BYTE)pDevice->byBBType); |
2941 | 2907 | ||
2942 | // Prepare beacon | 2908 | // Prepare beacon |
2943 | bMgrPrepareBeaconToSend((HANDLE)pDevice, pMgmt); | 2909 | bMgrPrepareBeaconToSend((void *) pDevice, pMgmt); |
2944 | } | 2910 | } |
2945 | else { | 2911 | else { |
2946 | pMgmt->eCurrState = WMAC_STATE_IDLE; | 2912 | pMgmt->eCurrState = WMAC_STATE_IDLE; |
@@ -4299,31 +4265,32 @@ if(ChannelExceedZoneType(pDevice,byCurrChannel)==TRUE) | |||
4299 | 4265 | ||
4300 | 4266 | ||
4301 | // update or insert the bss | 4267 | // update or insert the bss |
4302 | pBSSList = BSSpAddrIsInBSSList((HANDLE)pDevice, sFrame.pHdr->sA3.abyAddr3, sFrame.pSSID); | 4268 | pBSSList = BSSpAddrIsInBSSList((void *) pDevice, |
4269 | sFrame.pHdr->sA3.abyAddr3, | ||
4270 | sFrame.pSSID); | ||
4303 | if (pBSSList) { | 4271 | if (pBSSList) { |
4304 | BSSbUpdateToBSSList((HANDLE)pDevice, | 4272 | BSSbUpdateToBSSList((void *) pDevice, |
4305 | *sFrame.pqwTimestamp, | 4273 | *sFrame.pqwTimestamp, |
4306 | *sFrame.pwBeaconInterval, | 4274 | *sFrame.pwBeaconInterval, |
4307 | *sFrame.pwCapInfo, | 4275 | *sFrame.pwCapInfo, |
4308 | byCurrChannel, | 4276 | byCurrChannel, |
4309 | bChannelHit, | 4277 | bChannelHit, |
4310 | sFrame.pSSID, | 4278 | sFrame.pSSID, |
4311 | sFrame.pSuppRates, | 4279 | sFrame.pSuppRates, |
4312 | sFrame.pExtSuppRates, | 4280 | sFrame.pExtSuppRates, |
4313 | &sERP, | 4281 | &sERP, |
4314 | sFrame.pRSN, | 4282 | sFrame.pRSN, |
4315 | sFrame.pRSNWPA, | 4283 | sFrame.pRSNWPA, |
4316 | sFrame.pIE_Country, | 4284 | sFrame.pIE_Country, |
4317 | sFrame.pIE_Quiet, | 4285 | sFrame.pIE_Quiet, |
4318 | pBSSList, | 4286 | pBSSList, |
4319 | sFrame.len - WLAN_HDR_ADDR3_LEN, | 4287 | sFrame.len - WLAN_HDR_ADDR3_LEN, |
4320 | sFrame.pHdr->sA4.abyAddr4, // payload of probresponse | 4288 | /* payload of probresponse */ |
4321 | (HANDLE)pRxPacket | 4289 | sFrame.pHdr->sA4.abyAddr4, |
4322 | ); | 4290 | (void *) pRxPacket); |
4323 | } | 4291 | } else { |
4324 | else { | ||
4325 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"Probe resp/insert: RxChannel = : %d\n", byCurrChannel); | 4292 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"Probe resp/insert: RxChannel = : %d\n", byCurrChannel); |
4326 | BSSbInsertToBSSList((HANDLE)pDevice, | 4293 | BSSbInsertToBSSList((void *) pDevice, |
4327 | sFrame.pHdr->sA3.abyAddr3, | 4294 | sFrame.pHdr->sA3.abyAddr3, |
4328 | *sFrame.pqwTimestamp, | 4295 | *sFrame.pqwTimestamp, |
4329 | *sFrame.pwBeaconInterval, | 4296 | *sFrame.pwBeaconInterval, |
@@ -4338,9 +4305,8 @@ if(ChannelExceedZoneType(pDevice,byCurrChannel)==TRUE) | |||
4338 | sFrame.pIE_Country, | 4305 | sFrame.pIE_Country, |
4339 | sFrame.pIE_Quiet, | 4306 | sFrame.pIE_Quiet, |
4340 | sFrame.len - WLAN_HDR_ADDR3_LEN, | 4307 | sFrame.len - WLAN_HDR_ADDR3_LEN, |
4341 | sFrame.pHdr->sA4.abyAddr4, // payload of beacon | 4308 | sFrame.pHdr->sA4.abyAddr4, /* payload of beacon */ |
4342 | (HANDLE)pRxPacket | 4309 | (void *) pRxPacket); |
4343 | ); | ||
4344 | } | 4310 | } |
4345 | return; | 4311 | return; |
4346 | 4312 | ||
@@ -4436,10 +4402,6 @@ s_vMgrRxProbeRequest( | |||
4436 | return; | 4402 | return; |
4437 | } | 4403 | } |
4438 | 4404 | ||
4439 | |||
4440 | |||
4441 | |||
4442 | |||
4443 | /*+ | 4405 | /*+ |
4444 | * | 4406 | * |
4445 | * Routine Description: | 4407 | * Routine Description: |
@@ -4454,13 +4416,9 @@ s_vMgrRxProbeRequest( | |||
4454 | * | 4416 | * |
4455 | -*/ | 4417 | -*/ |
4456 | 4418 | ||
4457 | 4419 | void vMgrRxManagePacket(void *hDeviceContext, | |
4458 | void | 4420 | PSMgmtObject pMgmt, |
4459 | vMgrRxManagePacket( | 4421 | PSRxMgmtPacket pRxPacket) |
4460 | HANDLE hDeviceContext, | ||
4461 | PSMgmtObject pMgmt, | ||
4462 | PSRxMgmtPacket pRxPacket | ||
4463 | ) | ||
4464 | { | 4422 | { |
4465 | PSDevice pDevice = (PSDevice)hDeviceContext; | 4423 | PSDevice pDevice = (PSDevice)hDeviceContext; |
4466 | BOOL bInScan = FALSE; | 4424 | BOOL bInScan = FALSE; |
@@ -4593,9 +4551,6 @@ vMgrRxManagePacket( | |||
4593 | return; | 4551 | return; |
4594 | } | 4552 | } |
4595 | 4553 | ||
4596 | |||
4597 | |||
4598 | |||
4599 | /*+ | 4554 | /*+ |
4600 | * | 4555 | * |
4601 | * Routine Description: | 4556 | * Routine Description: |
@@ -4607,11 +4562,7 @@ vMgrRxManagePacket( | |||
4607 | * TRUE if success; FALSE if failed. | 4562 | * TRUE if success; FALSE if failed. |
4608 | * | 4563 | * |
4609 | -*/ | 4564 | -*/ |
4610 | BOOL | 4565 | BOOL bMgrPrepareBeaconToSend(void *hDeviceContext, PSMgmtObject pMgmt) |
4611 | bMgrPrepareBeaconToSend( | ||
4612 | HANDLE hDeviceContext, | ||
4613 | PSMgmtObject pMgmt | ||
4614 | ) | ||
4615 | { | 4566 | { |
4616 | PSDevice pDevice = (PSDevice)hDeviceContext; | 4567 | PSDevice pDevice = (PSDevice)hDeviceContext; |
4617 | PSTxMgmtPacket pTxPacket; | 4568 | PSTxMgmtPacket pTxPacket; |
@@ -4715,7 +4666,6 @@ s_vMgrLogStatus( | |||
4715 | } | 4666 | } |
4716 | } | 4667 | } |
4717 | 4668 | ||
4718 | |||
4719 | /* | 4669 | /* |
4720 | * | 4670 | * |
4721 | * Description: | 4671 | * Description: |
@@ -4732,12 +4682,10 @@ s_vMgrLogStatus( | |||
4732 | * Return Value: none. | 4682 | * Return Value: none. |
4733 | * | 4683 | * |
4734 | -*/ | 4684 | -*/ |
4735 | BOOL | 4685 | |
4736 | bAdd_PMKID_Candidate ( | 4686 | BOOL bAdd_PMKID_Candidate(void *hDeviceContext, |
4737 | HANDLE hDeviceContext, | 4687 | PBYTE pbyBSSID, |
4738 | PBYTE pbyBSSID, | 4688 | PSRSNCapObject psRSNCapObj) |
4739 | PSRSNCapObject psRSNCapObj | ||
4740 | ) | ||
4741 | { | 4689 | { |
4742 | PSDevice pDevice = (PSDevice)hDeviceContext; | 4690 | PSDevice pDevice = (PSDevice)hDeviceContext; |
4743 | PPMKID_CANDIDATE pCandidateList; | 4691 | PPMKID_CANDIDATE pCandidateList; |
@@ -4796,10 +4744,8 @@ bAdd_PMKID_Candidate ( | |||
4796 | * Return Value: none. | 4744 | * Return Value: none. |
4797 | * | 4745 | * |
4798 | -*/ | 4746 | -*/ |
4799 | void | 4747 | |
4800 | vFlush_PMKID_Candidate ( | 4748 | void vFlush_PMKID_Candidate(void *hDeviceContext) |
4801 | HANDLE hDeviceContext | ||
4802 | ) | ||
4803 | { | 4749 | { |
4804 | PSDevice pDevice = (PSDevice)hDeviceContext; | 4750 | PSDevice pDevice = (PSDevice)hDeviceContext; |
4805 | 4751 | ||
diff --git a/drivers/staging/vt6656/wmgr.h b/drivers/staging/vt6656/wmgr.h index 0eda12afd26..ec2ee7805f4 100644 --- a/drivers/staging/vt6656/wmgr.h +++ b/drivers/staging/vt6656/wmgr.h | |||
@@ -400,102 +400,61 @@ typedef struct tagSMgmtObject | |||
400 | 400 | ||
401 | } SMgmtObject, *PSMgmtObject; | 401 | } SMgmtObject, *PSMgmtObject; |
402 | 402 | ||
403 | |||
404 | /*--------------------- Export Macros ------------------------------*/ | 403 | /*--------------------- Export Macros ------------------------------*/ |
405 | 404 | ||
406 | |||
407 | /*--------------------- Export Functions --------------------------*/ | 405 | /*--------------------- Export Functions --------------------------*/ |
408 | 406 | ||
407 | void vMgrObjectInit(void *hDeviceContext); | ||
409 | 408 | ||
410 | void | 409 | void vMgrAssocBeginSta(void *hDeviceContext, |
411 | vMgrObjectInit( | 410 | PSMgmtObject pMgmt, |
412 | HANDLE hDeviceContext | 411 | PCMD_STATUS pStatus); |
413 | ); | ||
414 | 412 | ||
413 | void vMgrReAssocBeginSta(void *hDeviceContext, | ||
414 | PSMgmtObject pMgmt, | ||
415 | PCMD_STATUS pStatus); | ||
415 | 416 | ||
416 | void | 417 | void vMgrDisassocBeginSta(void *hDeviceContext, |
417 | vMgrAssocBeginSta( | 418 | PSMgmtObject pMgmt, |
418 | HANDLE hDeviceContext, | 419 | PBYTE abyDestAddress, |
419 | PSMgmtObject pMgmt, | 420 | WORD wReason, |
420 | PCMD_STATUS pStatus | 421 | PCMD_STATUS pStatus); |
421 | ); | ||
422 | 422 | ||
423 | void | 423 | void vMgrAuthenBeginSta(void *hDeviceContext, |
424 | vMgrReAssocBeginSta( | 424 | PSMgmtObject pMgmt, |
425 | HANDLE hDeviceContext, | 425 | PCMD_STATUS pStatus); |
426 | PSMgmtObject pMgmt, | ||
427 | PCMD_STATUS pStatus | ||
428 | ); | ||
429 | |||
430 | void | ||
431 | vMgrDisassocBeginSta( | ||
432 | HANDLE hDeviceContext, | ||
433 | PSMgmtObject pMgmt, | ||
434 | PBYTE abyDestAddress, | ||
435 | WORD wReason, | ||
436 | PCMD_STATUS pStatus | ||
437 | ); | ||
438 | |||
439 | void | ||
440 | vMgrAuthenBeginSta( | ||
441 | HANDLE hDeviceContext, | ||
442 | PSMgmtObject pMgmt, | ||
443 | PCMD_STATUS pStatus | ||
444 | ); | ||
445 | 426 | ||
446 | void | 427 | void vMgrCreateOwnIBSS(void *hDeviceContext, |
447 | vMgrCreateOwnIBSS( | 428 | PCMD_STATUS pStatus); |
448 | HANDLE hDeviceContext, | ||
449 | PCMD_STATUS pStatus | ||
450 | ); | ||
451 | 429 | ||
452 | void | 430 | void vMgrJoinBSSBegin(void *hDeviceContext, |
453 | vMgrJoinBSSBegin( | 431 | PCMD_STATUS pStatus); |
454 | HANDLE hDeviceContext, | ||
455 | PCMD_STATUS pStatus | ||
456 | ); | ||
457 | 432 | ||
458 | void | 433 | void vMgrRxManagePacket(void *hDeviceContext, |
459 | vMgrRxManagePacket( | 434 | PSMgmtObject pMgmt, |
460 | HANDLE hDeviceContext, | 435 | PSRxMgmtPacket pRxPacket); |
461 | PSMgmtObject pMgmt, | ||
462 | PSRxMgmtPacket pRxPacket | ||
463 | ); | ||
464 | 436 | ||
465 | /* | 437 | /* |
466 | void | 438 | void |
467 | vMgrScanBegin( | 439 | vMgrScanBegin( |
468 | HANDLE hDeviceContext, | 440 | void *hDeviceContext, |
469 | PCMD_STATUS pStatus | 441 | PCMD_STATUS pStatus |
470 | ); | 442 | ); |
471 | */ | 443 | */ |
472 | 444 | ||
473 | void | 445 | void vMgrDeAuthenBeginSta(void *hDeviceContext, |
474 | vMgrDeAuthenBeginSta( | 446 | PSMgmtObject pMgmt, |
475 | HANDLE hDeviceContext, | 447 | PBYTE abyDestAddress, |
476 | PSMgmtObject pMgmt, | 448 | WORD wReason, |
477 | PBYTE abyDestAddress, | 449 | PCMD_STATUS pStatus); |
478 | WORD wReason, | ||
479 | PCMD_STATUS pStatus | ||
480 | ); | ||
481 | |||
482 | BOOL | ||
483 | bMgrPrepareBeaconToSend( | ||
484 | HANDLE hDeviceContext, | ||
485 | PSMgmtObject pMgmt | ||
486 | ); | ||
487 | 450 | ||
451 | BOOL bMgrPrepareBeaconToSend(void *hDeviceContext, | ||
452 | PSMgmtObject pMgmt); | ||
488 | 453 | ||
489 | BOOL | 454 | BOOL bAdd_PMKID_Candidate(void *hDeviceContext, |
490 | bAdd_PMKID_Candidate ( | 455 | PBYTE pbyBSSID, |
491 | HANDLE hDeviceContext, | 456 | PSRSNCapObject psRSNCapObj); |
492 | PBYTE pbyBSSID, | ||
493 | PSRSNCapObject psRSNCapObj | ||
494 | ); | ||
495 | 457 | ||
496 | void | 458 | void vFlush_PMKID_Candidate(void *hDeviceContext); |
497 | vFlush_PMKID_Candidate ( | ||
498 | HANDLE hDeviceContext | ||
499 | ); | ||
500 | 459 | ||
501 | #endif /* __WMGR_H__ */ | 460 | #endif /* __WMGR_H__ */ |
diff --git a/drivers/staging/vt6656/wpactl.c b/drivers/staging/vt6656/wpactl.c index 25b784c26e8..04a4875e601 100644 --- a/drivers/staging/vt6656/wpactl.c +++ b/drivers/staging/vt6656/wpactl.c | |||
@@ -489,7 +489,7 @@ static int wpa_set_disassociate(PSDevice pDevice, | |||
489 | spin_lock_irq(&pDevice->lock); | 489 | spin_lock_irq(&pDevice->lock); |
490 | if (pDevice->bLinkPass) { | 490 | if (pDevice->bLinkPass) { |
491 | if (!memcmp(param->addr, pMgmt->abyCurrBSSID, 6)) | 491 | if (!memcmp(param->addr, pMgmt->abyCurrBSSID, 6)) |
492 | bScheduleCommand((HANDLE)pDevice, WLAN_CMD_DISASSOCIATE, NULL); | 492 | bScheduleCommand((void *) pDevice, WLAN_CMD_DISASSOCIATE, NULL); |
493 | } | 493 | } |
494 | spin_unlock_irq(&pDevice->lock); | 494 | spin_unlock_irq(&pDevice->lock); |
495 | 495 | ||
@@ -513,7 +513,7 @@ static int wpa_set_disassociate(PSDevice pDevice, | |||
513 | */ | 513 | */ |
514 | 514 | ||
515 | static int wpa_set_scan(PSDevice pDevice, | 515 | static int wpa_set_scan(PSDevice pDevice, |
516 | struct viawget_wpa_param *param) | 516 | struct viawget_wpa_param *param) |
517 | { | 517 | { |
518 | int ret = 0; | 518 | int ret = 0; |
519 | 519 | ||
@@ -531,9 +531,11 @@ memcpy(pItemSSID->abySSID, param->u.scan_req.ssid, param->u.scan_req.ssid_len); | |||
531 | pItemSSID->len = param->u.scan_req.ssid_len; | 531 | pItemSSID->len = param->u.scan_req.ssid_len; |
532 | 532 | ||
533 | spin_lock_irq(&pDevice->lock); | 533 | spin_lock_irq(&pDevice->lock); |
534 | BSSvClearBSSList((HANDLE)pDevice, pDevice->bLinkPass); | 534 | BSSvClearBSSList((void *) pDevice, pDevice->bLinkPass); |
535 | // bScheduleCommand((HANDLE) pDevice, WLAN_CMD_BSSID_SCAN, NULL); | 535 | /* bScheduleCommand((void *) pDevice, WLAN_CMD_BSSID_SCAN, NULL); */ |
536 | bScheduleCommand((HANDLE) pDevice, WLAN_CMD_BSSID_SCAN, pMgmt->abyDesireSSID); | 536 | bScheduleCommand((void *) pDevice, |
537 | WLAN_CMD_BSSID_SCAN, | ||
538 | pMgmt->abyDesireSSID); | ||
537 | spin_unlock_irq(&pDevice->lock); | 539 | spin_unlock_irq(&pDevice->lock); |
538 | 540 | ||
539 | return ret; | 541 | return ret; |
@@ -886,12 +888,14 @@ static int wpa_set_associate(PSDevice pDevice, | |||
886 | 888 | ||
887 | if (pCurr == NULL){ | 889 | if (pCurr == NULL){ |
888 | printk("wpa_set_associate---->hidden mode site survey before associate.......\n"); | 890 | printk("wpa_set_associate---->hidden mode site survey before associate.......\n"); |
889 | bScheduleCommand((HANDLE) pDevice, WLAN_CMD_BSSID_SCAN, pMgmt->abyDesireSSID); | 891 | bScheduleCommand((void *) pDevice, |
892 | WLAN_CMD_BSSID_SCAN, | ||
893 | pMgmt->abyDesireSSID); | ||
890 | }; | 894 | }; |
891 | } | 895 | } |
892 | /****************************************************************/ | 896 | /****************************************************************/ |
893 | 897 | ||
894 | bScheduleCommand((HANDLE) pDevice, WLAN_CMD_SSID, NULL); | 898 | bScheduleCommand((void *) pDevice, WLAN_CMD_SSID, NULL); |
895 | spin_unlock_irq(&pDevice->lock); | 899 | spin_unlock_irq(&pDevice->lock); |
896 | 900 | ||
897 | return ret; | 901 | return ret; |