While processing QCA_WLAN_VENDOR_BEACON_REPORTING_OP_START vendor
cmd, the expectation is FW should not wakeup host if host is in
wow mode. Wakeup of HOST happens purely based on Nth beacon
WMI event WMI_VDEV_PARAM_NTH_BEACON_TO_HOST config to firmware
where host gives Nth value and MSB bit to indicate whether
to wake up host or not. MSB bit is 1 means fw should not wakeup
host(By default MSB bit is 0).
WOW_BEACON_EVENT registration on host is required only in case
if HOST sends WMI_RMV_BCN_FILTER_CMDID in order to allow fw to send
connected AP beacons. Currently, HOST sends NTH BEACON CMD to fw with
MSB bit of Nth value equal to 1 in order to allow send connected AP
beacons to HOST only if HOST is not in wow mode.
Fix is to remove default WOW_BEACON_EVENT registration for STA on host.
Change-Id: I4717925fbcb38efb14f3336706f93d90f7a3888e
CRs-Fixed: 2496594
Do not set tx beam forming related ie's in ht cap, vht cap,
he cap when set IE command is sent to FW for NDI vdev.
Change-Id: If629eedeab5d35b1799c6eb5ee7d71726ada262a
CRs-Fixed: 2499132
adapter->scan_block_work is workqueue, which may be scheduled after
driver is removed.
To fix this issue, flush the workqueue and clean up blocked scan
request.
Change-Id: I0e9cb1b3f2fdceb25ad3566766000b78e1bf0ca1
CRs-Fixed: 2500369
Featurize DHCP indication for SAP and disable it
for QCN7605 as this feature is broken for HL
Data Path.
Change-Id: If1db649131d887a2aab18461187403b4b9a2c5b4
CRs-Fixed: 2496032
If SAP is not up, it is meaningless to handle assoc req.
If assoc req is handled, ref peer may be created without deleted in
DFS CAC state, which causes FW does not work.
Change-Id: Ia489fa8cfb4406e782fc240c553f5e3074982380
CRs-Fixed: 2487946
wpa_supplicant/framework sends different vendor specific IEs in
connect request. Currently driver is parsing the IEs and appending
specific IEs to the assoc request frame. But all vendor specific
IEs are supposed to be sent in the assoc request. Extract all vendor
specific IEs and append at the end of the frame.
MBO IEs are expected to be present at the end of the frame.
So append rest of the vendor IEs just before MBO IE.
Change-Id: I3d49c72a31d142ef3b14b439af2ae4cd8be059ea
CRs-Fixed: 2498976
Currently lim_strip_ie strips the matched IEs from given buffer
but return only last matched IE. All the previous IEs matched to
the given type are lost. Fix this to strip and extract all IEs
matched to given type.
This is to address the case when multiple vendor specific IEs are
given from userspace. Current implementation returns only
last vendor specific IE. This is to fix the same
Change-Id: I64ca5d2e679b8457dc2cbaf7b4b12dc0a840260d
CRs-Fixed: 2499592
Currently in case of SAP mode, Host gets FILS discovery frame
in every 20TU for the first 3 mins. These frames are not required
in host and will be dropped. But Host has pe_warn print in order
to indicate this action frame is Unhandled.
Fix is to change level of log (warning to debug) in order
to avoid spamming in kernel message buffer.
Change-Id: I3ec585a37b190041ef2f88a03e201aa7a5ff7938
CRs-Fixed: 2499907
Issue is : In case of STA + STA, Host sends BTM config enable on
both STA. This results assert in FW as at a time FW supports BTM
only on one vdev.
Following are the fix:
1. Send 11k offload and BTM config enable to fw irrespective of
roam reason. Enable of both while RSO start and disable of both
while RSO stop should be symmetric.
2. Currently, Host sends RSO_UPDATE_CONFIG for blacklisting case
if the vdev is in connected state irrespective of RSO start is
sent or not. Added check to make sure RSO_UPDATE_CONFIG should
not go if driver_disabled_roaming flag set.
Change-Id: Ib92089906a2e1690ec6181ac184bc008ccfbc928
CRs-Fixed: 2497813
Add separate Coldboot calibration mode (10) for Coldboot Calibration
done during FTM Mode in PLD.
Change-Id: I7e4bb5209d87613bb49a0a958d8e691c73fdcfe1
CRs-Fixed: 2499766
1) freq_list value population:
Allocate memory for freq_list within tagCsrChannelInfo
whenever ChannelList is allocated for the same struct.
Populate channel frequencies into freq_list whenever
ChannelList is populated for the same struct.
Free the memory used by freq_list whenever ChannelList's
memory is to be freed for the same struct.
2) Special treatment for sme_rrm_send_scan_result:
To ease the freq_list population within function
sme_rrm_send_scan_result, a parameter(freq_list) has
been added into the parameter list of it.
Meanwhile, all callers of the same function have been
modified to pass freq_list to it.
3) Fix a number of camel cases detected by checkpatch.
Change-Id: I732b084d3e1edfc4f26e7ed44be1c6e826be8602
CRs-Fixed: 2496716
Remove some unused fields in struct bss_description.
Also remove the unnecessary padding fields within
the same struct, as compiler will do automatic
padding for us.
Change-Id: Id754391e20e4dce6261a8df54b12ccdcf31ba5c9
CRs-Fixed: 2497872
The change 2812433 needs revert it got merged with still some
pending comments.
Change-Id: I4555d60bf0c8cea1b3a812063ee24956b07c0d8b
CRs-Fixed: 2499426
In some platform, it reports error "old_credit is used uninitialized".
Initialize old_credit before using it.
Change-Id: I06351bba0abdfc5efb32406d1d245f8d8c658684
CRs-Fixed: 2495209
The SDIO HIF for QCN7605 requires to use the SDIO Abstraction Layer.
Used the SDIO CNSS2 PLD layer api's to interface with SDIO AL
Change-Id: I839a580941e4651e3dcff4f87cda26cc567687fc
CRs-Fixed: 2275631
This is revert of Change-Id: I9a9554ef0aa9288bf5abe22cd2513d8cc41c29d4
When peer_unmap_timer_handler runs for multiple peers, same work
is INITed for multiple peers as this work is not per peer based.
This will update the work param i.e. peer gets updated each time,
which leads in deletion of wrong peer.
Remove the work INIT and scheduling of "peer_unmap_timer_work_function"
as cds_trigger_recover() has already taken care of atomic context.
Change-Id: Ida0a50f27cfe4c08763b359dab51c82e757ec100
CRs-Fixed: 2498498
NAN config param initialization from CFG component is done
during PSOC object created notification. But as per component
design it must be done at psoc open to avoid CFG component
not initialized case. Thus update nan component to reorganize
NAN cfg params init.
Change-Id: I9636b527b796202e55a57c28d604795a705de026
CRs-fixed: 2489286
Add channel frequency(freq) into struct hdd_mon_set_ch_info and
populate its value where channel in the same structure is
populated.
Remove a few camel cases detected by checkpatch.
Change-Id: I5f0d64a88c054476739bc06887bffd37238b10fc
CRs-Fixed: 2496707
For the latest chipsets because of architecture change the
lim session for monitor mode is not required but for the
older chipsets using the mainline the lim session has to be created.
If the session is not created the channel setting to capture
the packets on the monitor interface fails.
Create the monitor session in lim for older targets.
Change-Id: Ide44201e91c2d92cddff66f563898015f9e28ca7
CRs-Fixed: 2498775
Currently when driver gets a command to dump the
driver info, it allocates the memory and retrieves
the information in that allocated memory. Maximum data
that can be copied to user space buffer is equal to
one PAGE_SIZE. In the command driver gets the size of
the data which user space wants to read, minimum of the
user space requested size or one PAGE_SIZE of the data
is copied to user space buffer and current position of
the driver buffer till which the data is copied is
updated to user space is also updated.
Driver copies the retrieved information to the user
space buffer as explained above and updates the position
pointer to the user space. In the next request driver
expects from user space to request the remaining data
from the updated position in last request, once all the
data is copied to user space, driver frees internally
allocated memory.
In case if driver does not get the request to read
remaining data after first request, it does not free
the memory. Current handling of this memory is done
in init domain after stop modules, but since this
memory is allocated in active domain, driver should free
the memory in active domain.
Since with current implementation memory allocated in
active domain is not freed in active domain, memleak is
getting detected.
To resolve above issue, move mem cleanup logic for
driver dump info command from init domain to active domain in stop
modules.
Change-Id: Idb4f35f0a599ad55eebe13348b68562fa401fd7e
CRs-Fixed: 2489877
Replace operationChannel with op_freq for tagCsrRoamConnectedProfile
in files:
csr_api_roam.c
csr_api_scan.c
csr_neighbor_roam.c
Change-Id: Ibb8df79ed7ed4c837e569a7e320a705bbcf522e4
CRs-Fixed: 2497121
Define ext_vdev_ptr and ext_pdev_ptr with specific type, remove void
pointer usage for part of mlme code.
Change-Id: Ie71d59386224e4671bdae071aa7425a998d5e242
CRs-Fixed: 2488192