/linux-4.4.14/drivers/staging/rtl8192e/ |
H A D | rtl819x_TSProc.c | 119 static void ResetTxTsEntry(struct tx_ts_record *pTS) ResetTxTsEntry() argument 121 ResetTsCommonInfo(&pTS->TsCommonInfo); ResetTxTsEntry() 122 pTS->TxCurSeq = 0; ResetTxTsEntry() 123 pTS->bAddBaReqInProgress = false; ResetTxTsEntry() 124 pTS->bAddBaReqDelayed = false; ResetTxTsEntry() 125 pTS->bUsingBa = false; ResetTxTsEntry() 126 pTS->bDisable_AddBa = false; ResetTxTsEntry() 127 ResetBaEntry(&pTS->TxAdmittedBARecord); ResetTxTsEntry() 128 ResetBaEntry(&pTS->TxPendingBARecord); ResetTxTsEntry() 131 static void ResetRxTsEntry(struct rx_ts_record *pTS) ResetRxTsEntry() argument 133 ResetTsCommonInfo(&pTS->TsCommonInfo); ResetRxTsEntry() 134 pTS->RxIndicateSeq = 0xffff; ResetRxTsEntry() 135 pTS->RxTimeoutIndicateSeq = 0xffff; ResetRxTsEntry() 136 ResetBaEntry(&pTS->RxAdmittedBARecord); ResetRxTsEntry() 461 struct ts_common_info *pTS, *pTmpTS; RemovePeerTS() local 465 list_for_each_entry_safe(pTS, pTmpTS, &ieee->Tx_TS_Pending_List, List) { RemovePeerTS() 466 if (memcmp(pTS->Addr, Addr, 6) == 0) { RemovePeerTS() 467 RemoveTsEntry(ieee, pTS, TX_DIR); RemovePeerTS() 468 list_del_init(&pTS->List); RemovePeerTS() 469 list_add_tail(&pTS->List, &ieee->Tx_TS_Unused_List); RemovePeerTS() 473 list_for_each_entry_safe(pTS, pTmpTS, &ieee->Tx_TS_Admit_List, List) { RemovePeerTS() 474 if (memcmp(pTS->Addr, Addr, 6) == 0) { RemovePeerTS() 477 RemoveTsEntry(ieee, pTS, TX_DIR); RemovePeerTS() 478 list_del_init(&pTS->List); RemovePeerTS() 479 list_add_tail(&pTS->List, &ieee->Tx_TS_Unused_List); RemovePeerTS() 483 list_for_each_entry_safe(pTS, pTmpTS, &ieee->Rx_TS_Pending_List, List) { RemovePeerTS() 484 if (memcmp(pTS->Addr, Addr, 6) == 0) { RemovePeerTS() 485 RemoveTsEntry(ieee, pTS, RX_DIR); RemovePeerTS() 486 list_del_init(&pTS->List); RemovePeerTS() 487 list_add_tail(&pTS->List, &ieee->Rx_TS_Unused_List); RemovePeerTS() 491 list_for_each_entry_safe(pTS, pTmpTS, &ieee->Rx_TS_Admit_List, List) { RemovePeerTS() 492 if (memcmp(pTS->Addr, Addr, 6) == 0) { RemovePeerTS() 493 RemoveTsEntry(ieee, pTS, RX_DIR); RemovePeerTS() 494 list_del_init(&pTS->List); RemovePeerTS() 495 list_add_tail(&pTS->List, &ieee->Rx_TS_Unused_List); RemovePeerTS() 503 struct ts_common_info *pTS, *pTmpTS; RemoveAllTS() local 505 list_for_each_entry_safe(pTS, pTmpTS, &ieee->Tx_TS_Pending_List, List) { RemoveAllTS() 506 RemoveTsEntry(ieee, pTS, TX_DIR); RemoveAllTS() 507 list_del_init(&pTS->List); RemoveAllTS() 508 list_add_tail(&pTS->List, &ieee->Tx_TS_Unused_List); RemoveAllTS() 511 list_for_each_entry_safe(pTS, pTmpTS, &ieee->Tx_TS_Admit_List, List) { RemoveAllTS() 512 RemoveTsEntry(ieee, pTS, TX_DIR); RemoveAllTS() 513 list_del_init(&pTS->List); RemoveAllTS() 514 list_add_tail(&pTS->List, &ieee->Tx_TS_Unused_List); RemoveAllTS() 517 list_for_each_entry_safe(pTS, pTmpTS, &ieee->Rx_TS_Pending_List, List) { RemoveAllTS() 518 RemoveTsEntry(ieee, pTS, RX_DIR); RemoveAllTS() 519 list_del_init(&pTS->List); RemoveAllTS() 520 list_add_tail(&pTS->List, &ieee->Rx_TS_Unused_List); RemoveAllTS() 523 list_for_each_entry_safe(pTS, pTmpTS, &ieee->Rx_TS_Admit_List, List) { RemoveAllTS() 524 RemoveTsEntry(ieee, pTS, RX_DIR); RemoveAllTS() 525 list_del_init(&pTS->List); RemoveAllTS() 526 list_add_tail(&pTS->List, &ieee->Rx_TS_Unused_List); RemoveAllTS()
|
H A D | rtl819x_BAProc.c | 238 struct rx_ts_record *pTS = NULL; rtllib_rx_ADDBAReq() local 272 if (!GetTs(ieee, (struct ts_common_info **)(&pTS), dst, rtllib_rx_ADDBAReq() 278 pBA = &pTS->RxAdmittedBARecord; rtllib_rx_ADDBAReq() 287 rtllib_FlushRxTsPendingPkts(ieee, pTS); rtllib_rx_ADDBAReq() 323 struct tx_ts_record *pTS = NULL; rtllib_rx_ADDBARsp() local 358 if (!GetTs(ieee, (struct ts_common_info **)(&pTS), dst, rtllib_rx_ADDBARsp() 365 pTS->bAddBaReqInProgress = false; rtllib_rx_ADDBARsp() 366 pPendingBA = &pTS->TxPendingBARecord; rtllib_rx_ADDBARsp() 367 pAdmittedBA = &pTS->TxAdmittedBARecord; rtllib_rx_ADDBARsp() 391 pTS->bAddBaReqDelayed = true; rtllib_rx_ADDBARsp() 405 pTS->bAddBaReqDelayed = true; rtllib_rx_ADDBARsp() 406 pTS->bDisable_AddBa = true; rtllib_rx_ADDBARsp() 485 void TsInitAddBA(struct rtllib_device *ieee, struct tx_ts_record *pTS, TsInitAddBA() argument 488 struct ba_record *pBA = &pTS->TxPendingBARecord; TsInitAddBA() 499 pTS->TsCommonInfo.TSpec.f.TSInfo.field.ucTSID; TsInitAddBA() 502 pBA->BaStartSeqCtrl.field.SeqNum = (pTS->TxCurSeq + 3) % 4096; TsInitAddBA() 506 rtllib_send_ADDBAReq(ieee, pTS->TsCommonInfo.Addr, pBA); TsInitAddBA()
|
H A D | rtllib_rx.c | 457 static bool AddReorderEntry(struct rx_ts_record *pTS, AddReorderEntry() argument 460 struct list_head *pList = &pTS->RxPendingPktList; AddReorderEntry() 462 while (pList->next != &pTS->RxPendingPktList) { AddReorderEntry() 542 struct rx_ts_record *pTS) rtllib_FlushRxTsPendingPkts() 547 del_timer_sync(&pTS->RxPktPendingTimer); rtllib_FlushRxTsPendingPkts() 548 while (!list_empty(&pTS->RxPendingPktList)) { rtllib_FlushRxTsPendingPkts() 557 list_entry(pTS->RxPendingPktList.prev, rtllib_FlushRxTsPendingPkts() 571 pTS->RxIndicateSeq = 0xffff; rtllib_FlushRxTsPendingPkts() 576 struct rx_ts_record *pTS, u16 SeqNum) RxReorderIndicatePacket() 587 "%s(): Seq is %d, pTS->RxIndicateSeq is %d, WinSize is %d\n", RxReorderIndicatePacket() 588 __func__, SeqNum, pTS->RxIndicateSeq, WinSize); RxReorderIndicatePacket() 592 WinEnd = (pTS->RxIndicateSeq + WinSize - 1) % 4096; RxReorderIndicatePacket() 594 if (pTS->RxIndicateSeq == 0xffff) RxReorderIndicatePacket() 595 pTS->RxIndicateSeq = SeqNum; RxReorderIndicatePacket() 598 if (SN_LESS(SeqNum, pTS->RxIndicateSeq)) { RxReorderIndicatePacket() 601 pTS->RxIndicateSeq, SeqNum); RxReorderIndicatePacket() 619 if (SN_EQUAL(SeqNum, pTS->RxIndicateSeq)) { RxReorderIndicatePacket() 620 pTS->RxIndicateSeq = (pTS->RxIndicateSeq + 1) % 4096; RxReorderIndicatePacket() 624 pTS->RxIndicateSeq = SeqNum + 1 - WinSize; RxReorderIndicatePacket() 626 pTS->RxIndicateSeq = 4095 - RxReorderIndicatePacket() 630 pTS->RxIndicateSeq, SeqNum); RxReorderIndicatePacket() 647 pTS->RxIndicateSeq, SeqNum); RxReorderIndicatePacket() 664 if (!AddReorderEntry(pTS, pReorderEntry)) { RxReorderIndicatePacket() 669 __func__, pTS->RxIndicateSeq, RxReorderIndicatePacket() 681 pTS->RxIndicateSeq, SeqNum); RxReorderIndicatePacket() 704 while (!list_empty(&pTS->RxPendingPktList)) { RxReorderIndicatePacket() 709 list_entry(pTS->RxPendingPktList.prev, RxReorderIndicatePacket() 712 if (SN_LESS(pReorderEntry->SeqNum, pTS->RxIndicateSeq) || RxReorderIndicatePacket() 713 SN_EQUAL(pReorderEntry->SeqNum, pTS->RxIndicateSeq)) { RxReorderIndicatePacket() 725 if (SN_EQUAL(pReorderEntry->SeqNum, pTS->RxIndicateSeq)) RxReorderIndicatePacket() 726 pTS->RxIndicateSeq = (pTS->RxIndicateSeq + 1) % RxReorderIndicatePacket() 746 if (timer_pending(&pTS->RxPktPendingTimer)) RxReorderIndicatePacket() 747 del_timer_sync(&pTS->RxPktPendingTimer); RxReorderIndicatePacket() 748 pTS->RxTimeoutIndicateSeq = 0xffff; RxReorderIndicatePacket() 762 if (bPktInBuf && pTS->RxTimeoutIndicateSeq == 0xffff) { RxReorderIndicatePacket() 764 pTS->RxTimeoutIndicateSeq = pTS->RxIndicateSeq; RxReorderIndicatePacket() 765 mod_timer(&pTS->RxPktPendingTimer, jiffies + RxReorderIndicatePacket() 1314 struct rx_ts_record *pTS = NULL; rtllib_rx_InfraAdhoc() local 1423 GetTs(ieee, (struct ts_common_info **) &pTS, hdr->addr2, TID, rtllib_rx_InfraAdhoc() 1463 if (ieee->pHTInfo->bCurRxReorderEnable == false || pTS == NULL || rtllib_rx_InfraAdhoc() 1467 RxReorderIndicatePacket(ieee, rxb, pTS, SeqNum); rtllib_rx_InfraAdhoc() 541 rtllib_FlushRxTsPendingPkts(struct rtllib_device *ieee, struct rx_ts_record *pTS) rtllib_FlushRxTsPendingPkts() argument 574 RxReorderIndicatePacket(struct rtllib_device *ieee, struct rtllib_rxb *prxb, struct rx_ts_record *pTS, u16 SeqNum) RxReorderIndicatePacket() argument
|
H A D | rtllib_tx.c | 521 struct tx_ts_record *pTS = NULL; rtllib_query_seqnum() local 523 if (!GetTs(ieee, (struct ts_common_info **)(&pTS), dst, rtllib_query_seqnum() 526 seqnum = pTS->TxCurSeq; rtllib_query_seqnum() 527 pTS->TxCurSeq = (pTS->TxCurSeq+1)%4096; rtllib_query_seqnum()
|
H A D | rtllib.h | 2164 void TsInitAddBA(struct rtllib_device *ieee, struct tx_ts_record *pTS, 2204 struct rx_ts_record *pTS);
|
/linux-4.4.14/drivers/staging/rtl8192u/ieee80211/ |
H A D | rtl819x_TSProc.c | 122 static void ResetTxTsEntry(PTX_TS_RECORD pTS) ResetTxTsEntry() argument 124 ResetTsCommonInfo(&pTS->TsCommonInfo); ResetTxTsEntry() 125 pTS->TxCurSeq = 0; ResetTxTsEntry() 126 pTS->bAddBaReqInProgress = false; ResetTxTsEntry() 127 pTS->bAddBaReqDelayed = false; ResetTxTsEntry() 128 pTS->bUsingBa = false; ResetTxTsEntry() 129 ResetBaEntry(&pTS->TxAdmittedBARecord); //For BA Originator ResetTxTsEntry() 130 ResetBaEntry(&pTS->TxPendingBARecord); ResetTxTsEntry() 133 static void ResetRxTsEntry(PRX_TS_RECORD pTS) ResetRxTsEntry() argument 135 ResetTsCommonInfo(&pTS->TsCommonInfo); ResetRxTsEntry() 136 pTS->RxIndicateSeq = 0xffff; // This indicate the RxIndicateSeq is not used now!! ResetRxTsEntry() 137 pTS->RxTimeoutIndicateSeq = 0xffff; // This indicate the RxTimeoutIndicateSeq is not used now!! ResetRxTsEntry() 138 ResetBaEntry(&pTS->RxAdmittedBARecord); // For BA Recipient ResetRxTsEntry() 507 PTS_COMMON_INFO pTS, pTmpTS; RemovePeerTS() local 510 list_for_each_entry_safe(pTS, pTmpTS, &ieee->Tx_TS_Pending_List, List) RemovePeerTS() 512 if (memcmp(pTS->Addr, Addr, 6) == 0) RemovePeerTS() 514 RemoveTsEntry(ieee, pTS, TX_DIR); RemovePeerTS() 515 list_del_init(&pTS->List); RemovePeerTS() 516 list_add_tail(&pTS->List, &ieee->Tx_TS_Unused_List); RemovePeerTS() 520 list_for_each_entry_safe(pTS, pTmpTS, &ieee->Tx_TS_Admit_List, List) RemovePeerTS() 522 if (memcmp(pTS->Addr, Addr, 6) == 0) RemovePeerTS() 525 RemoveTsEntry(ieee, pTS, TX_DIR); RemovePeerTS() 526 list_del_init(&pTS->List); RemovePeerTS() 527 list_add_tail(&pTS->List, &ieee->Tx_TS_Unused_List); RemovePeerTS() 531 list_for_each_entry_safe(pTS, pTmpTS, &ieee->Rx_TS_Pending_List, List) RemovePeerTS() 533 if (memcmp(pTS->Addr, Addr, 6) == 0) RemovePeerTS() 535 RemoveTsEntry(ieee, pTS, RX_DIR); RemovePeerTS() 536 list_del_init(&pTS->List); RemovePeerTS() 537 list_add_tail(&pTS->List, &ieee->Rx_TS_Unused_List); RemovePeerTS() 541 list_for_each_entry_safe(pTS, pTmpTS, &ieee->Rx_TS_Admit_List, List) RemovePeerTS() 543 if (memcmp(pTS->Addr, Addr, 6) == 0) RemovePeerTS() 545 RemoveTsEntry(ieee, pTS, RX_DIR); RemovePeerTS() 546 list_del_init(&pTS->List); RemovePeerTS() 547 list_add_tail(&pTS->List, &ieee->Rx_TS_Unused_List); RemovePeerTS() 554 PTS_COMMON_INFO pTS, pTmpTS; RemoveAllTS() local 556 list_for_each_entry_safe(pTS, pTmpTS, &ieee->Tx_TS_Pending_List, List) RemoveAllTS() 558 RemoveTsEntry(ieee, pTS, TX_DIR); RemoveAllTS() 559 list_del_init(&pTS->List); RemoveAllTS() 560 list_add_tail(&pTS->List, &ieee->Tx_TS_Unused_List); RemoveAllTS() 563 list_for_each_entry_safe(pTS, pTmpTS, &ieee->Tx_TS_Admit_List, List) RemoveAllTS() 565 RemoveTsEntry(ieee, pTS, TX_DIR); RemoveAllTS() 566 list_del_init(&pTS->List); RemoveAllTS() 567 list_add_tail(&pTS->List, &ieee->Tx_TS_Unused_List); RemoveAllTS() 570 list_for_each_entry_safe(pTS, pTmpTS, &ieee->Rx_TS_Pending_List, List) RemoveAllTS() 572 RemoveTsEntry(ieee, pTS, RX_DIR); RemoveAllTS() 573 list_del_init(&pTS->List); RemoveAllTS() 574 list_add_tail(&pTS->List, &ieee->Rx_TS_Unused_List); RemoveAllTS() 577 list_for_each_entry_safe(pTS, pTmpTS, &ieee->Rx_TS_Admit_List, List) RemoveAllTS() 579 RemoveTsEntry(ieee, pTS, RX_DIR); RemoveAllTS() 580 list_del_init(&pTS->List); RemoveAllTS() 581 list_add_tail(&pTS->List, &ieee->Rx_TS_Unused_List); RemoveAllTS()
|
H A D | rtl819x_BAProc.c | 343 PRX_TS_RECORD pTS = NULL; ieee80211_rx_ADDBAReq() local 378 (PTS_COMMON_INFO *)(&pTS), ieee80211_rx_ADDBAReq() 388 pBA = &pTS->RxAdmittedBARecord; ieee80211_rx_ADDBAReq() 440 PTX_TS_RECORD pTS = NULL; ieee80211_rx_ADDBARsp() local 479 (PTS_COMMON_INFO *)(&pTS), ieee80211_rx_ADDBARsp() 490 pTS->bAddBaReqInProgress = false; ieee80211_rx_ADDBARsp() 491 pPendingBA = &pTS->TxPendingBARecord; ieee80211_rx_ADDBARsp() 492 pAdmittedBA = &pTS->TxAdmittedBARecord; ieee80211_rx_ADDBARsp() 528 pTS->bAddBaReqDelayed = true; ieee80211_rx_ADDBARsp() 548 pTS->bAddBaReqDelayed = true; ieee80211_rx_ADDBARsp() 646 PTX_TS_RECORD pTS, TsInitAddBA() 651 PBA_RECORD pBA = &pTS->TxPendingBARecord; TsInitAddBA() 662 pBA->BaParamSet.field.TID = pTS->TsCommonInfo.TSpec.f.TSInfo.field.ucTSID; // TID TsInitAddBA() 666 pBA->BaStartSeqCtrl.field.SeqNum = (pTS->TxCurSeq + 3) % 4096; // Block Ack will start after 3 packets later. TsInitAddBA() 670 ieee80211_send_ADDBAReq(ieee, pTS->TsCommonInfo.Addr, pBA); TsInitAddBA() 644 TsInitAddBA( struct ieee80211_device *ieee, PTX_TS_RECORD pTS, u8 Policy, u8 bOverwritePending ) TsInitAddBA() argument
|
H A D | ieee80211_rx.c | 513 static bool AddReorderEntry(PRX_TS_RECORD pTS, PRX_REORDER_ENTRY pReorderEntry) AddReorderEntry() argument 515 struct list_head *pList = &pTS->RxPendingPktList; AddReorderEntry() 516 while(pList->next != &pTS->RxPendingPktList) AddReorderEntry() 593 PRX_TS_RECORD pTS, u16 SeqNum) RxReorderIndicatePacket() 599 u16 WinEnd = (pTS->RxIndicateSeq + WinSize -1)%4096; RxReorderIndicatePacket() 602 IEEE80211_DEBUG(IEEE80211_DL_REORDER,"%s(): Seq is %d,pTS->RxIndicateSeq is %d, WinSize is %d\n",__func__,SeqNum,pTS->RxIndicateSeq,WinSize); RxReorderIndicatePacket() 604 if (pTS->RxIndicateSeq == 0xffff) { RxReorderIndicatePacket() 605 pTS->RxIndicateSeq = SeqNum; RxReorderIndicatePacket() 609 if (SN_LESS(SeqNum, pTS->RxIndicateSeq)) { RxReorderIndicatePacket() 611 pTS->RxIndicateSeq, SeqNum); RxReorderIndicatePacket() 629 if(SN_EQUAL(SeqNum, pTS->RxIndicateSeq)) { RxReorderIndicatePacket() 630 pTS->RxIndicateSeq = (pTS->RxIndicateSeq + 1) % 4096; RxReorderIndicatePacket() 634 pTS->RxIndicateSeq = SeqNum + 1 -WinSize; RxReorderIndicatePacket() 636 pTS->RxIndicateSeq = 4095 - (WinSize - (SeqNum +1)) + 1; RxReorderIndicatePacket() 638 IEEE80211_DEBUG(IEEE80211_DL_REORDER, "Window Shift! IndicateSeq: %d, NewSeq: %d\n",pTS->RxIndicateSeq, SeqNum); RxReorderIndicatePacket() 653 pTS->RxIndicateSeq, SeqNum); RxReorderIndicatePacket() 669 if(!AddReorderEntry(pTS, pReorderEntry)) { RxReorderIndicatePacket() 671 __func__, pTS->RxIndicateSeq, SeqNum); RxReorderIndicatePacket() 683 "Pkt insert into buffer!! IndicateSeq: %d, NewSeq: %d\n",pTS->RxIndicateSeq, SeqNum); RxReorderIndicatePacket() 705 while(!list_empty(&pTS->RxPendingPktList)) { RxReorderIndicatePacket() 707 pReorderEntry = (PRX_REORDER_ENTRY)list_entry(pTS->RxPendingPktList.prev,RX_REORDER_ENTRY,List); RxReorderIndicatePacket() 708 if (SN_LESS(pReorderEntry->SeqNum, pTS->RxIndicateSeq) || RxReorderIndicatePacket() 709 SN_EQUAL(pReorderEntry->SeqNum, pTS->RxIndicateSeq)) RxReorderIndicatePacket() 720 if(SN_EQUAL(pReorderEntry->SeqNum, pTS->RxIndicateSeq)) RxReorderIndicatePacket() 721 pTS->RxIndicateSeq = (pTS->RxIndicateSeq + 1) % 4096; RxReorderIndicatePacket() 723 IEEE80211_DEBUG(IEEE80211_DL_REORDER,"Packets indication!! IndicateSeq: %d, NewSeq: %d\n",pTS->RxIndicateSeq, SeqNum); RxReorderIndicatePacket() 738 // del_timer_sync(&pTS->RxPktPendingTimer); RxReorderIndicatePacket() 739 pTS->RxTimeoutIndicateSeq = 0xffff; RxReorderIndicatePacket() 749 if (bPktInBuf && pTS->RxTimeoutIndicateSeq==0xffff) { RxReorderIndicatePacket() 752 pTS->RxTimeoutIndicateSeq = pTS->RxIndicateSeq; RxReorderIndicatePacket() 753 if(timer_pending(&pTS->RxPktPendingTimer)) RxReorderIndicatePacket() 754 del_timer_sync(&pTS->RxPktPendingTimer); RxReorderIndicatePacket() 755 pTS->RxPktPendingTimer.expires = jiffies + MSECS(pHTInfo->RxReorderPendingTime); RxReorderIndicatePacket() 756 add_timer(&pTS->RxPktPendingTimer); RxReorderIndicatePacket() 895 PRX_TS_RECORD pTS = NULL; ieee80211_rx() local 1269 GetTs(ieee,(PTS_COMMON_INFO *) &pTS,hdr->addr2,TID,RX_DIR,true); ieee80211_rx() 1298 if (!ieee->pHTInfo->bCurRxReorderEnable || pTS == NULL){ ieee80211_rx() 1347 RxReorderIndicatePacket(ieee, rxb, pTS, SeqNum); ieee80211_rx() 591 RxReorderIndicatePacket(struct ieee80211_device *ieee, struct ieee80211_rxb *prxb, PRX_TS_RECORD pTS, u16 SeqNum) RxReorderIndicatePacket() argument
|
H A D | ieee80211_tx.c | 588 PTX_TS_RECORD pTS = NULL; ieee80211_query_seqnum() local 589 if (!GetTs(ieee, (PTS_COMMON_INFO *)(&pTS), dst, skb->priority, TX_DIR, true)) ieee80211_query_seqnum() 593 pTS->TxCurSeq = (pTS->TxCurSeq+1)%4096; ieee80211_query_seqnum()
|
H A D | ieee80211.h | 2389 void TsInitAddBA(struct ieee80211_device *ieee, PTX_TS_RECORD pTS,
|