tx capture does not capture mpdu, which missed due to
block ack failure. with subsequent retries it recieve block ack for
all the previous transmitted mpdu in a ppdu was handled.
Change-Id: I23d1bfd7ba05edaec934379fbc036b164a45ceb6
Use timer to schedule work queue for tx capture stats
process to fix the deauth missing issue in tx capture
when AP is down.
Change-Id: Ie1d1e3fa9f576cd6034fe6035ef933b1e78df99b
tid queue init can be called from peer MAP event handler and peer
setup functions. Since they can run at same time because of the
sequencing, make init_done an atomic variable and set it before
allocating the retry ppdu. Otherwise, it can result in double
allocation and memory leak.
Change-Id: I354bf2763b8ddedcf83f04eccccaafc329eac66d
Use dp_vdev_get_ref_by_id() to get vdev object from vdev id
array also call dp_vdev_unref_delete() API to release
reference held by dp_vdev_get_ref_by_id
Change-Id: Icd8fac503d46dc0a010c6911116d9243effee777
Remove peer pointer in AST entry and store peer_id instead
to avoid access of peer memory without taking reference
Change-Id: I1e9c2a6880b3582866b821bf56a8400e056665f2
Currently, per-user information in Tx PPDU completion is allocated for
37 users though FW may send information for fewer number of users. In
new scheme, FW provides number of users in USERS_INFO TLV and host can
allocate the per-user struct based on this number. This can save memory
while processing each completion message.
Make related changes in tx capture files to use pointer instead of fixed
size member.
CRs-Fixed: 2730933
Change-Id: I8709665a481d64dc4ab086ce9b27e8837c38b53f
Debugfs is added to store the last 30 ppdu desc and display
as readable format to user. Feature of storing ppdu desc is
enabled through debugfs and it is not enabled by default.
Change-Id: I85ff52760462abd9a6e33d082db45d8179e67c0d
Currently, same user can be processed multiple times, which leads to
release ref count wrongly, with this, some of the users in PPDU
desc are never processed and can possibly cause memory leak.
Added a flag in PPDU user to indicate that the user is already
processed.
CRs-Fixed: 2718150
Change-Id: Ia00e0ad12999578157e9f8a6df0ad4763f828c88
For some peers, tx capture tid init is not invoked,
It is resulting in ppdu_desc leak.
Invoking tid init on tid peer update, if tid is not
initialized.
Change-Id: Ia49c7e6d093a42e57e8d9239a60ad0b8dabfcc5b
CRs-Fixed: 2718150
for MU frame, rts and cts are transmitted only for first user.
fix other place to use index from caller instead of 0.
Change-Id: I672d91c3df2fac358942304ad6613ee32313e442
deauth frames are treated as speacial frame where peer id
point to bss peer id but payload RA points to station
mac address. Peer filter is done based on payload.
Change-Id: I4238a108a62accbf3a53f74332a10377675870b8
CRs-Fixed: 2692363
Before adding a ppdu to the retry queue, check if the
sched_cmdid matches that of the first ppdu in the queue.
If it does not, then the retry queue should be freed as
the received ppdu is not a retry of the ppdu in the queue.
Change-Id: I96a097f57d86539c8395af28f6fd57c13f4cad49
delete redefinition of mcs from rx_user_status and keep mcs
derived from preamble which came from rts.
Change-Id: I5323d7944abd474a82d34b812caac1290168ea94
Add support
a. Drop msdu on queue exceed threshold of 4096
b. Add support to print consolidated peer tid queue.
Change-Id: I2b91b151531c839657716ac52987cf5e4a62e7cc
preamble value for mubar case is stored in phy_mode variable. this needs
to get carried over to preamble variable in mpdu_info so its used
correctly in radiotap setup.
Change-Id: If149f7b58a3d8b788bab706f8943d66f95e8517c
For BRP frame ppdu, frame control is not valid in all user
completion tlv, which is causing to drop ppdu as wrong ctrl mgmt
queue checked for payload.
To fix this, updated frame control based on ppdu frame type
Change-Id: Ia5eb67da14647cccfe2ade7c0626a97171454446
CRs-Fixed: 2677252
all probe responses and disassoc from bss peer will be accepted and
later filtered by
mac. Additionally retry queue is having a treshold for this new
mechanism to be able to flush queue in case it gets filled up.
this is meant to work for every control frame that has reached such a
state in its retry q.
Change-Id: Ie49d00d9b9422f02f5d9512a891ceb546cdd432d
a. ppdu desc in pending ppdu queue is dropped on queue length exceeds
threshold which is 32.
b. configuring ring map for soc only once.
Change-Id: I7398a478ce9e4d974d9ecc2a06d30821f151a1b5