diff options
Diffstat (limited to 'drivers/staging/vt6656/bssdb.c')
-rw-r--r-- | drivers/staging/vt6656/bssdb.c | 117 |
1 files changed, 48 insertions, 69 deletions
diff --git a/drivers/staging/vt6656/bssdb.c b/drivers/staging/vt6656/bssdb.c index 36ed61b595ca..a9f68bd5afa6 100644 --- a/drivers/staging/vt6656/bssdb.c +++ b/drivers/staging/vt6656/bssdb.c @@ -93,10 +93,7 @@ const WORD awHWRetry1[5][5] = { void s_vCheckSensitivity(void *hDeviceContext); void s_vCheckPreEDThreshold(void *hDeviceContext); - -#ifdef Calcu_LinkQual void s_uCalculateLinkQual(void *hDeviceContext); -#endif /*--------------------- Export Variables --------------------------*/ @@ -135,7 +132,7 @@ PKnownBSS BSSpSearchBSSList(void *hDeviceContext, DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"BSSpSearchBSSList BSSID[%02X %02X %02X-%02X %02X %02X]\n", *pbyDesireBSSID,*(pbyDesireBSSID+1),*(pbyDesireBSSID+2), *(pbyDesireBSSID+3),*(pbyDesireBSSID+4),*(pbyDesireBSSID+5)); - if ((!IS_BROADCAST_ADDRESS(pbyDesireBSSID)) && + if ((!is_broadcast_ether_addr(pbyDesireBSSID)) && (memcmp(pbyDesireBSSID, ZeroBSSID, 6)!= 0)){ pbyBSSID = pbyDesireBSSID; } @@ -156,7 +153,7 @@ PKnownBSS BSSpSearchBSSList(void *hDeviceContext, if ((pCurrBSS->bActive) && (pCurrBSS->bSelected == FALSE)) { - if (IS_ETH_ADDRESS_EQUAL(pCurrBSS->abyBSSID, pbyBSSID)) { + if (!compare_ether_addr(pCurrBSS->abyBSSID, pbyBSSID)) { if (pSSID != NULL) { // compare ssid if ( !memcmp(pSSID->abySSID, @@ -296,7 +293,8 @@ void BSSvClearBSSList(void *hDeviceContext, BOOL bKeepCurrBSSID) for (ii = 0; ii < MAX_BSS_NUM; ii++) { if (bKeepCurrBSSID) { if (pMgmt->sBSSList[ii].bActive && - IS_ETH_ADDRESS_EQUAL(pMgmt->sBSSList[ii].abyBSSID, pMgmt->abyCurrBSSID)) { + !compare_ether_addr(pMgmt->sBSSList[ii].abyBSSID, + pMgmt->abyCurrBSSID)) { //mike mark: there are two same BSSID in list if that AP is in hidden ssid mode,one 's SSID is null, // but other's is obvious, so if it acssociate with your STA exactly,you must keep two // of them!!!!!!!!! @@ -341,7 +339,7 @@ PKnownBSS BSSpAddrIsInBSSList(void *hDeviceContext, for (ii = 0; ii < MAX_BSS_NUM; ii++) { pBSSList = &(pMgmt->sBSSList[ii]); if (pBSSList->bActive) { - if (IS_ETH_ADDRESS_EQUAL(pBSSList->abyBSSID, abyBSSID)) { + if (!compare_ether_addr(pBSSList->abyBSSID, abyBSSID)) { if (pSSID->len == ((PWLAN_IE_SSID)pBSSList->abySSID)->len){ if (memcmp(pSSID->abySSID, ((PWLAN_IE_SSID)pBSSList->abySSID)->abySSID, @@ -699,12 +697,14 @@ BOOL BSSbUpdateToBSSList(void *hDeviceContext, pBSSList->byRSSIStatCnt %= RSSI_STAT_COUNT; pBSSList->ldBmAverage[pBSSList->byRSSIStatCnt] = ldBm; ldBmSum = 0; - for(ii=0, jj=0;ii<RSSI_STAT_COUNT;ii++) { - if (pBSSList->ldBmAverage[ii] != 0) { - pBSSList->ldBmMAX = max(pBSSList->ldBmAverage[ii], ldBm); - ldBmSum += pBSSList->ldBmAverage[ii]; - jj++; - } + for (ii = 0, jj = 0; ii < RSSI_STAT_COUNT; ii++) { + if (pBSSList->ldBmAverage[ii] != 0) { + pBSSList->ldBmMAX = + max(pBSSList->ldBmAverage[ii], ldBm); + ldBmSum += + pBSSList->ldBmAverage[ii]; + jj++; + } } pBSSList->ldBmAverRange = ldBmSum /jj; } @@ -714,28 +714,6 @@ BOOL BSSbUpdateToBSSList(void *hDeviceContext, pBSSList->uIELength = WLAN_BEACON_FR_MAXLEN; memcpy(pBSSList->abyIEs, pbyIEs, pBSSList->uIELength); -//mike add: if the AP in this pBSSList is hidden ssid and we can find two of them, -// you need upgrade the other related pBSSList of which ssid is obvious, -// for these two AP is the same one!!!! -/********judge by:BSSID is the same,but ssid is different!*****************/ -#if 0 - for (ii = 0; ii < MAX_BSS_NUM; ii++) { - if (IS_ETH_ADDRESS_EQUAL(pMgmt->sBSSList[ii].abyBSSID, pBSSList->abyBSSID)) { //BSSID is the same! - if (memcmp(((PWLAN_IE_SSID)pMgmt->sBSSList[ii].abySSID)->abySSID, //ssid is different?? - ((PWLAN_IE_SSID)pBSSList->abySSID)->abySSID, - ((PWLAN_IE_SSID)pBSSList->abySSID)->len) != 0) { - //reserve temp - memset(abyTmpSSID,0,sizeof(abyTmpSSID)); - memcpy(abyTmpSSID,pMgmt->sBSSList[ii].abySSID,sizeof(abyTmpSSID)); - //upgrade the other one pBSSList - memcpy(&(pMgmt->sBSSList[ii]),pBSSList,sizeof(KnownBSS)); - //recover ssid info - memcpy(pMgmt->sBSSList[ii].abySSID,abyTmpSSID,sizeof(abyTmpSSID)); - } - } - } -#endif - return TRUE; } @@ -755,7 +733,7 @@ BOOL BSSbUpdateToBSSList(void *hDeviceContext, BOOL BSSbIsSTAInNodeDB(void *hDeviceContext, PBYTE abyDstAddr, - PUINT puNodeIndex) + unsigned int *puNodeIndex) { PSDevice pDevice = (PSDevice)hDeviceContext; PSMgmtObject pMgmt = &(pDevice->sMgmtObj); @@ -764,7 +742,8 @@ BOOL BSSbIsSTAInNodeDB(void *hDeviceContext, // Index = 0 reserved for AP Node for (ii = 1; ii < (MAX_NODE_NUM + 1); ii++) { if (pMgmt->sNodeDBTable[ii].bActive) { - if (IS_ETH_ADDRESS_EQUAL(abyDstAddr, pMgmt->sNodeDBTable[ii].abyMACAddr)) { + if (!compare_ether_addr(abyDstAddr, + pMgmt->sNodeDBTable[ii].abyMACAddr)) { *puNodeIndex = ii; return TRUE; } @@ -786,7 +765,7 @@ BOOL BSSbIsSTAInNodeDB(void *hDeviceContext, * None * -*/ -void BSSvCreateOneNode(void *hDeviceContext, PUINT puNodeIndex) +void BSSvCreateOneNode(void *hDeviceContext, unsigned int *puNodeIndex) { PSDevice pDevice = (PSDevice)hDeviceContext; @@ -1023,7 +1002,6 @@ if(pDevice->byReAssocCount > 0) { pDevice->byReAssocCount = 0; } -#ifdef SndEvt_ToAPI if((pMgmt->eCurrState!=WMAC_STATE_ASSOC) && (pMgmt->eLastState==WMAC_STATE_ASSOC)) { @@ -1033,11 +1011,8 @@ if((pMgmt->eCurrState!=WMAC_STATE_ASSOC) && wireless_send_event(pDevice->dev, IWEVCUSTOM, &wrqu, NULL); } pMgmt->eLastState = pMgmt->eCurrState ; -#endif -#ifdef Calcu_LinkQual s_uCalculateLinkQual((void *)pDevice); -#endif for (ii = 0; ii < (MAX_NODE_NUM + 1); ii++) { @@ -1422,21 +1397,25 @@ void BSSvUpdateNodeTxCounter(void *hDeviceContext, (wRate < RATE_18M) ) { pMgmt->sNodeDBTable[0].uTxFail[wRate]+=byTxRetry; } else if (byFallBack == AUTO_FB_0) { - for(ii=0;ii<byTxRetry;ii++) { - if (ii < 5) - wFallBackRate = awHWRetry0[wRate-RATE_18M][ii]; - else - wFallBackRate = awHWRetry0[wRate-RATE_18M][4]; - pMgmt->sNodeDBTable[0].uTxFail[wFallBackRate]++; - } + for (ii = 0; ii < byTxRetry; ii++) { + if (ii < 5) + wFallBackRate = + awHWRetry0[wRate-RATE_18M][ii]; + else + wFallBackRate = + awHWRetry0[wRate-RATE_18M][4]; + pMgmt->sNodeDBTable[0].uTxFail[wFallBackRate]++; + } } else if (byFallBack == AUTO_FB_1) { - for(ii=0;ii<byTxRetry;ii++) { - if (ii < 5) - wFallBackRate = awHWRetry1[wRate-RATE_18M][ii]; - else - wFallBackRate = awHWRetry1[wRate-RATE_18M][4]; - pMgmt->sNodeDBTable[0].uTxFail[wFallBackRate]++; - } + for (ii = 0; ii < byTxRetry; ii++) { + if (ii < 5) + wFallBackRate = + awHWRetry1[wRate-RATE_18M][ii]; + else + wFallBackRate = + awHWRetry1[wRate-RATE_18M][4]; + pMgmt->sNodeDBTable[0].uTxFail[wFallBackRate]++; + } } } }; @@ -1476,21 +1455,23 @@ void BSSvUpdateNodeTxCounter(void *hDeviceContext, (wRate < RATE_18M) ) { pMgmt->sNodeDBTable[uNodeIndex].uTxFail[wRate]+=byTxRetry; } else if (byFallBack == AUTO_FB_0) { - for(ii=0;ii<byTxRetry;ii++) { - if (ii < 5) - wFallBackRate = awHWRetry0[wRate-RATE_18M][ii]; - else - wFallBackRate = awHWRetry0[wRate-RATE_18M][4]; - pMgmt->sNodeDBTable[uNodeIndex].uTxFail[wFallBackRate]++; + for (ii = 0; ii < byTxRetry; ii++) { + if (ii < 5) + wFallBackRate = + awHWRetry0[wRate-RATE_18M][ii]; + else + wFallBackRate = + awHWRetry0[wRate-RATE_18M][4]; + pMgmt->sNodeDBTable[uNodeIndex].uTxFail[wFallBackRate]++; } } else if (byFallBack == AUTO_FB_1) { - for(ii=0;ii<byTxRetry;ii++) { - if (ii < 5) + for (ii = 0; ii < byTxRetry; ii++) { + if (ii < 5) wFallBackRate = awHWRetry1[wRate-RATE_18M][ii]; - else + else wFallBackRate = awHWRetry1[wRate-RATE_18M][4]; - pMgmt->sNodeDBTable[uNodeIndex].uTxFail[wFallBackRate]++; - } + pMgmt->sNodeDBTable[uNodeIndex].uTxFail[wFallBackRate]++; + } } } }; @@ -1587,7 +1568,6 @@ void s_vCheckSensitivity(void *hDeviceContext) } } -#ifdef Calcu_LinkQual void s_uCalculateLinkQual(void *hDeviceContext) { PSDevice pDevice = (PSDevice)hDeviceContext; @@ -1632,7 +1612,6 @@ else pDevice->scStatistic.TxRetryOkCount = 0; return; } -#endif void BSSvClearAnyBSSJoinRecord(void *hDeviceContext) { |