When the variable 'false_radar_found' is 1 a set of dfs variables are
supposed to be reset. The reset of the variables are done from within
dfs_radarfound_action_fcc() and dfs_radarfound_action_generic().
However, neither the function dfs_radarfound_action_fcc() nor the
function dfs_radarfound_action_generic() is called when
'false_radar_found' is 1. Therefore, remove resetting of the dfs
variables from the two functions and perform resetting of the
dfs independent of the radar found action.
Change-Id: I120dd8dc7abe13aa9dcaa7a29c10deea06cb8043
CRs-Fixed: 2289775
QDF_DEBUG_PANIC_FL is currently not defined when PANIC_ON_BUG is not
enabled. Add a stub for this case to prevent compilation failures on
non-debug builds.
Change-Id: Id78ac189ad3e3ab096d2e44db5ce01afe599c3bb
CRs-Fixed: 2293402
Currently if ini config dfsPhyerrFilterOffload is set zero on Rome
attached Platform, wlan interface will fail when do interface up.
This makes no sense, since ini configure can be set to zero, also
in this case host can handle the phyerr event instead.
Remove this check in target_if_reg_phyerr_events_dfs2.
Change-Id: Ie33072c8d40925eb550bd820462fc9ab93f0e0c0
CRs-Fixed: 2286382
TWT delete, pause and resume command is upadted by FW to include peer
mac address. Update host implementation to include peer mac in these
commands. Also, resume command is updated to include next_twt_size.
Update resume command for the same.
Change-Id: Iec184d0449b06aaeb9bac558e8cb5322f867e12f
CRs-Fixed: 2279309
1. Allocate and Initialize host and target copy engine configuration
for QCA6390 based products.
2. Setup Copy engine service map for QCA6390.
3. Add conditional compilation flag QCA_WIFI_QCA6390 to support
QCA6390 based products.
Change-Id: Ia4dd4d436b8ecae0e9f91faa0c1fe7dbd14f001f
CRs-Fixed: 2259312
All the dfs timers that are initialized with qdf_timer_init()
must be freed with qdf_timer_free() to avoid the timer leaks.
Change-Id: I5425f0a84d0e252e3a1dc9b835f1b655fe79a691
CRs-Fixed: 2262081
Spectral allocates its nbuf using qdf_nbuf_alloc() and calls
Netlink functions to send the SKB to the application layer.
After sending SKB, the Netlink send functions free the SKB using
dev_kfree_skb(). As a result, QDF nbuf tracker treats this
an SKB leak and panics the system.
To avoid this leak, remove the SKB entry from QDF nbuf debug hash table
by calling qdf_net_buf_debug_release_skb() before handling
the SKB to Netlink send functions.
Change-Id: I62c7046d1481c2a38ef5321410ebca9f5f5f34ed
CRs-Fixed: 2285654
Move rate table API changes from umac to common
data path in order to make the APIs available
throughout the driver.
Change-Id: I1a8aeb3b73ca9df3ab7535c23c8b7e02e6af13de
CRs-Fixed: 2286841
Add NULL check before dereferencing pointer in TKIP demic function
in RX defrag path.
Change-Id: Id13f91409c2891ae833e58e4c9d9d09231682f8a
CRs-Fixed: 2287517
Add support to parse Multiple BSSID element
from Beacon and Probe Response frames and to
update the scan database.
Change-Id: If2c58529c4dca3d3866bd7f905d4a1b6983f468a
CRs-Fixed: 2274579
The driver currently changes the hw_mode based upon
the first candidate found in the scan list, and tries
to connect to it. It may happen that the connection
fails, and the STA then tries to connect to the AP
on same channel as the concurrent adapter.
It would result in hw_mode = DBS, as it is not
updated after connection success/failure.
Also if the first AP channel is in same band as that
of concurrent adapter, and the connection fails,
and the STA tries to connect to an AP in a different
band, this too is not allowed as hw_mode is not DBS
Fix is to change the hw_mode based upon the scan list.
If the driver finds any scan result which may lead to
DBS connection, the hw_mode should be set to DBS.
Once the connection is done or failed, the driver
can check and update the hw_mode again.
Change-Id: I3c186f47dd5528f0af2598bb02c1b7e297d01548
CRs-Fixed: 2290760
We are taking spinlock irqsave before requesting group irqs. But some
times interrupt is coming immediately for the iqr we reuested even before
releasing spinlock irqlock. Since We are trying to take same spin lock
again for disabling interruts in irq handler dead lock is happening.
Fixing the issue by not handling irqs coming during request irq time.
Change-Id: I31484ab64942cc9e318139c522aac3d7cef9b109
CRs-Fixed: 2286715
It doesn't update TDLS feature flag when handling FW ready event, and
cause feature mismatch between FW and host. So update TDLS feature
feature flag when updating tdls configures.
Change-Id: Ib5978063581cac0f4c0ebc90f8981a5b68aed1da
CRs-Fixed: 2291311
When new napi is added unique napi_id is assigned and an entry
is allocated in kernel napi hash table of size 256, vice versa
napi del will remove the entry from hash table. Currently during
driver unload dummy rx napi's(added for GRO case) are not deleted
which causes resource leakage in kernel napi hash table.
While adding new napi if napi_id exceeds hash table size,
then entry from zero index is accessed to find unclaimed
hash entry which trigger invalid entry access since previous
driver unload did not delete napis properly.
In use case where multiple wlan driver instances are used this issue
can be quickly reproducible since it triggers napi_id to exceed
hash table size within less number of driver load/unload.
Fix is to delete rx dummy napi's during driver unload
Change-Id: Idfb24c5c09ebc131c2b19d894d08a8ea34675ed6
CRs-Fixed: 2288118
ba_window_size_valid and ba_window size support is missing
while sending wmi_peer_reorder_queue_setup. This is needed
for handing 256 BA which is not FW default.
Change-Id: I3218921c48c0f82225b7992076e73ac0acf7bd11
CRs-fixed: 2285423
Add ENABLE_DBS_CXN_AND_DISABLE_SIMULTANEOUS_SCAN option for the ini
gDualMacFeatureDisable. This is to enable DBS support for the
connection and disable simultaneous scan from upper layer. But DBS
scan remains enabled in FW.
Change-Id: Ic280de2cc63a3775c0d9dd61985ff89df58a4a89
CRs-Fixed: 2291935
If user tries to enable pktlog multiple times, pktlog enable
fails as the pktlog is already enabled.
while returning failure, current pktlog state is not updated
to PKTLOG_OPR_NOT_IN_PROGRESS in pktlog_enable api.
Now if user tries to get pktlog using cat command driver
returns resource busy from pktlog_enable as the current
pktlog state is not set to PKTLOG_OPR_NOT_IN_PROGRESS.
To address this issue, set the current pktlog state to
PKTLOG_OPR_NOT_IN_PROGRESS in case of failure.
Change-Id: I08e67c13e7a781340a97ad4c37308f3e61972c99
CRs-Fixed: 2278363
The current diagnostic message that gets printed in the event some
memory is freed in a different memory domain than it was allocated from
is confusing. Rather than using "found" and "expected," use "allocated"
and "current" to differentiate the different memory domains.
Change-Id: I45efeb892d2c75a3f0b13d41e43b421a2b1a139e
CRs-Fixed: 2290148
Populate the RSSI value for the non associated clients
added in pdev->neighbour_peers_list from monitor status
ring
Change-Id: I509d06bec6eafe8377681c8a3da9a64f301c3c73
CRs-fixed: 2286571
Add new ast_get_type API for DBDC repeater feature.
Add other changes required in WDS and MEC handling
required for DBDC repeater feature to function properly.
Apply sta kickout logic to handle roaming cases
only within same radio. For roaming across radios, DP should
rely on control path.
Change-Id: If9b35720082dd87de40827843a14238e818bc454
There is an existing WMI command which is used to start the extscan
hotlist monitor, wmi_unified_get_buf_extscan_hotlist_cmd(), but this
API has multiple issues:
1) The "get_buf" in the name implies it retrieves something, but it
doesn't.
2) The full name is not a "mirror" of the companion function that
stops the monitor, wmi_unified_extscan_stop_hotlist_monitor_cmd().
3) The current function has an "int *buf_len" parameter that is unused.
To address these issue introduce a new function with "mirror" naming,
wmi_unified_extscan_start_hotlist_monitor_cmd(), which has an
appropriate parameter list.
It is expected that all clients of the existing API will be moved to
the new API, at which point the existing API can be removed.
Change-Id: Ie705f2462c7d5befa691f1ab57293e55ab68e3e2
CRs-Fixed: 2289368
qdf_nbuf_free_debug() does a hashtable lookup for nbuf metadata without
grabbing the appropriate spinlock. This naturally leads to a variety of
issues. Acquire the nbuf metadata lock while accessing the metadata
hashtable in qdf_nbuf_free_debug().
Change-Id: I058b00abcf0162c764fc9ad5011be341a07f2b9d
CRs-Fixed: 2288522
Add necessary wrapper functions so that other components/umac
can check if a HT20 channel is in NOL.
Change-Id: Ie2cda1fe8f71d829e261ebdcf4563a4c2ff352ae
CRs-Fixed: 2180879
Added extra check to prevent buffer overflow pointed out
by static code analyzer tool.
Change-Id: Ieeb3e89089b63eac3dc210447d7ec8e964cd52c9
CRs-Fixed: 2285486
Move the state to in_progress when we process addba
request and upon tx comletion of addba response, move
the state to active. Any addba request received during
in_progress is ignored and reo queue is updated with
window size 1 and set to inactive.
Change-Id: I69cfbc162d873f9e6842ca3e7971146dafba2695
Crs-fixed: 2188927
___qdf_dmaaddr_to_32s is not related to TSO.
Move ___qdf_dmaaddr_to_32s out of FEATURE_TSO macro
Change-Id: Ieabdf6066d23b10aa61b9f999828e26f6d689d54
CRs-Fixed: 2258196
When the number of bytes to be transmitted in HTC is greater than
allocate buffer length, dump_stack messages are seen on console.
For further debugging on the difference in the length of the buffer
this debug log is added.
Change-Id: I63f105b1f2251726fdd31efbabb14c985525b879
CRs-Fixed: 2274020
In __htc_send_pkt, pointer is checked against null but then
dereferenced later.
Fix it by checking null before dereference it.
Change-Id: I8a0dcfccbe458f5b85b8c930eb9685a75b64829b
CRs-Fixed: 2232835
In htc_add_receive_pkt_multiple, out-of-bounds write to a buffer.
Fix by checking the endpoint against the max endpoint.
Change-Id: Iaa82c7e8f3ae59f007380a7697959dd79dfb81ed
CRs-Fixed: 2232836
Return NULL peer in case an invalid peer->local_id is passed to the
peer_find_by_local_id API. In case this peer is already deleted,
the local_id may be invalid, hence simply return a NULL value.
Change-Id: I0cbae4138daa643dfa07b88caf6f32d3948d6d42
CRs-Fixed: 2280399
Do not invoke get_pcl when calculating weightage of channels sent to FW
as part of set_pcl WMI command.
Change-Id: I62b39aaf0943cf10deab380d8030d1ef08fbbcb3
CRs-Fixed: 2287649
Change CE poll timer to wake up CPU so that timer kicks in even though
CPU is in idle state. This is needed so that poll happens in regular
10ms intervals. Also made ce_inited false during wifi down path to
prevent polling during wifi down.
Also made some cleanup in polling implementation to remove global scn
flag to enable polled mode and use attr flag to enable per CE polling.
Change-Id: I1d894c99193cc9902fcf4d6cbfd179c557ec6219
CRs-fixed: 2269599
Directed Multicast Service (DMS) allows a client to request the AP
to convert multicast frames that match a certain traffic classifier
into unicast frames for the client. This request can be sent either
as a DMS Request Information Element in the Association/Reassociation
Request frame or explicitly via a DMS Request Action Frame after the
client has completed association. If the AP accepts the DMS Request,
all multicast frames matching the traffic classifier specified in the
DMS Request will be unicasted directly to the client as an AMSDU.
The original multicast frame will still be transmitted for the benefit
of those clients that do not support or request for DMS.
Add new CB ftype to differentiate data packets intended for DMS subscribed
clients
CRs-Fixed: 2056341
Change-Id: I687e4f4d182869753e2c3670ec07aa64f95fda1b
Potential NULL pointer dereferences of wmi_handle are found in these
functions:
wmi_extract_dfs_cac_complete_event()
wmi_extract_dfs_radar_detection_event()
wmi_extract_reg_chan_list_update_event()
wmi_extract_reg_11d_new_cc_event()
wmi_extract_reg_ch_avoid_event()
Introduce wmi_handle NULL check in the above functions.
Change-Id: I30a842818dff400b8648293f65794ff382eb24e7
CRs-Fixed: 2286258
Disable m_copy/enhanced_stats feature causes the bpr feature disable.
Hence add check for bpr feature status during enable/disable of m_copy
and enhanced_stats.
CRs-Fixed: 2275686
Change-Id: I5592b422823446374ce560fe3653990be4c796b0
Currently wmi_unified_api defines a wmi_unified_vdev_restart_send()
prototype, but there is no implementation of this function. This
discrepancy dates back to the initial introduction of the prototype in
change "qcacmn: Add tlv implementation of common unified API" (Change
Id I7e70b48ef5e1df0c0f81c639579e6eb1a6685dc3). Since this function
does not exist, and in fact has never existed, remove the prototype.
Note that another API, wmi_unified_vdev_start_send(), supports both
start and restart capability.
Change-Id: Ia88d8b1e825c806b454428e72d9731ccefd05c01
CRs-Fixed: 2286613
Excessive logging in target_if has been identified as the root cause of
a watchdog timeout. Reduce target_if logging in normal operation paths
to debug level to avoid excessive CPU use.
Change-Id: If384474270bb4b860100b98e5eea81d54b7c2184
CRs-Fixed: 2286630
During objmgr psoc teardown, it would be useful to assert that there are
no longer any peers attached. Add an API that logs a list of all
peers attached to a given psoc, and panics if any are found.
Change-Id: I30deeba87c5575a17e0b6e3a2a1840e5cfb3f1bf
CRs-Fixed: 2285139
We are suspecting that peer_rx_reorder_queue_remove_cmd is causing
drop of ARP response frames from REO by the FW. This may cause drop of
ping packets.
Add a check in the function to detect if its being called.
Change-Id: I368aa8155830e8e6fadccfaf9ab5bfbfc8bfdd35
CRs-Fixed: 2254858
Currently the 'setratemask' command supports setting
the rate mask for upto MCS0-9 and NSS 4. Add 'lower32_2'
field in the ratemask_params struct to extend support
for the 'setratemask' command to set rate mask
for upto MCS0-11 and NSS 8.
Change-Id: I9c06ae238142dca37df9826ca34449dd34ee6782
CRs-fixed: 2251392
The current Lithium DP configuration items are hard
code and cannot be configured for different values
without rebuilding the driver
Add the INI configurability option for the Lithium
DP config parameters
Change-Id: I30012903ccb0654bdff706beff80655313aca289
CRs-Fixed: 2246404