Enhance htt_rx_ring_fill_n by:
- Start timer in case the function is not able to find memory to fill rx
buffers.
- Handle case where one stream can starve the other stream by constantly
adding to the debt.
CRs-Fixed: 2001325
Change-Id: Idff33d9c28daaf7a00334134459a3633f5ccde7c
The offending code did not get the order of operations right.
It was: shift 16, cast 64,shift 16 and should have been:
cast, shift 16, shift 16.
CRs-Fixed: 2000844
Change-Id: I65cf4aaf0c20535070eb63b15d77b8c3c7dcb4e4
Add detection of non posted RX buffers from FW (rx_in_order_ind msgs)
by marking the higher(16) unused bits of the 64-bit physical addresses.
On reception, if the paddr received does not have the markings, assert,
otherwise clean the markings and proceed.
Duplicate rx-buffers will be detected in the FW.
CRs-Fixed: 2000844
Change-Id: I9c50cce182a12f3edd3c5b2606836d62f684f816
Add the following:
- Global cumulative counters for posted and received.
- CPU for each individual records
- Counters for refill timer starts
- iwpriv support (dumpStats 10) to dump the counters
CRs-Fixed: 2001331
Change-Id: I66a8a818ffa0b2522358bab404c92a3cdaa603f7
In case of parallel rx execution, fill_count was being updated
by multiple threads and this was causing fill_count to be incorrect
in parallel rx execution cases. This was causing rx ring to be under
filled and in time was causing rx starvation (data stall).
Fix this by:
- making sure that we always fill the right number of buffers based
on the msdu_count in the in_order_indication message.
- making sure that only one execution thread fills the ring
- making sure that the lock holder (filling the ring) does not
run too long by introducing a max fill limit, in which case the
filler will give up and the contender (the other rx execution
thread) takes the lock and fills the ring itself.
CRs-Fixed: 1103851
Change-Id: I59ee2903d51877afc112a1a76b7a5529f1c6a5c0
There was a typo in USR variant of the DEBUG_RX_RING_BUFFER
featured code, which caused a symbol not defined in the header
file, triggering an implicit function definition warning/error.
Fixed typo.
CRs-Fixed: 1104718
Change-Id: I6573904add1453d8c3765f030349a214b058e2c0
Make sure that peer is deleted at every path where
the ref-count is decremented and it reaches zero.
Change-Id: Ibaaae1e66855ebbd285b3647f9b862e823b6f335
CRs-Fixed: 1094439
Enhance rx ring buffer history to include both post and recv
time-stamps. Add a new event for alloc-index updates.
Change-Id: I061afdcda5d2d41c016be9d3b12e5c4a1cda0c65
CRs-Fixed: 1098656
Changes are done in wifi hal to syncronize the driver
probing.
Remove the wait from module init as the wait is now
done in dev node write handler for syncronization.
Change-Id: I8664d70c60731889fdbe2ad90df9ce9219747ae9
CRs-Fixed: 2034178
Presently, during unload, driver waits for max of 40sec if there are
any external threads. But if driver unload won't happen within 30sec
framework's watchdog kills system server, leading to device reboot.
Also this may lead to driver not to print external threads which got
stuck in driver.
To mitigate this issue reduce wait for external threads completion
to 20sec from 40sec.
Change-Id: I35cfb0ec20a7d4584196243ec0b1167b5eaa6bf0
CRs-Fixed: 2030112
Move the logs to appropriate log levels to reduce
the log spam in lim_ft.c, lim_process_auth_frame.c,
and lim_process_probe_req_frame.c
Change-Id: I4bc6c34fb91845b9b1d9be76f09ec63c2f363d11
CRs-Fixed: 1093093
Move the logs to appropriate log levels to reduce
the log spam in lim_sta_hash_api.c
Change-Id: I24b33db3ba1fb0fdca342f81518ded4467b951ec
CRs-Fixed: 1093093
When driver sets the channel banwidth, if HT and VHT are disabled
then kernel sets the width to NL80211_CHAN_WIDTH_20_NOHT. Currently
driver is not honoring this.
To resolve this issue add support for NL80211_CHAN_WIDTH_20_NOHT.
Change-Id: I98be22003bf88128ba39a0d2de43c2b3f3e5e2f0
CRs-Fixed: 2035625
WMA pdev reference clear is called after the wma close hence
wma handle is NULL and pdev refernce is not cleared.
Clear the pdev reference during WMA close procedure
Change-Id: I6c4caa21e9329f5d7542d114763cd6ae8931a604
CRs-Fixed: 2008013
Replace the legacy regulatory apis with regulatory component
public service apis
Change-Id: Ifd8c93fc8f57116cfc432b853248b35fd7ed1b94
CRs-Fixed: 2008013
There are few instances in current driver code, where SAP's
session is getting opened or closed internally by SAP module
which is wrong. It should come from HDD module.
Resolve above mentioned issue by following:
1) allocating and opening sap session through wlansap_open and
wlansap_start APIs respectively.
2) freeing and closing sap session through wlansap_close and
wlansap_stop APIs respectively.
Remove all other instances of sap_open_session and
sap_close_session.
Change-Id: I9ac9f68c9cd1f8c856b6228d4e3b32d3310c936a
CRs-Fixed: 2036385
Divide sap_open_session in to two parts. One where sme_open_session
is happening and the other one where sap context is getting initialized
to some values.
Divide sap_close_session in to three parts. One where sme_close_session
is happening, another where sap context is getting reset, and the
remaining one where global dfs parameters are getting reset.
Change-Id: I3126acbf4174261938c1f1ff19637bce87d7bddf
CRs-Fixed: 2036385