Currently in wma_extscan_hotlist_match_event_handler
API, dest_hotlist get memory allocation based on numap
which takes value from event->total_entries.
But numap is limited to WMA_EXTSCAN_MAX_HOTLIST_ENTRIES
and event->total_entries more than WMA_EXTSCAN_MAX_HOTLIST_ENTRIES
can cause out of bound issue.
Fix is to populate dest_hotlist->numOfAps from numap
instead of event->total_entries to avoid any out of bound issue.
Change-Id: If8c5de81bec2cf2a1a6546a4319e41e9b07a139d
CRs-Fixed: 3346781
Mot-CRs-fixed: (CR)
CVE- fixed: CVE-2023-21656
QC-CR#3346781
Signed-off-by: Sipra Patel <siprap@motorola.com>
Change-Id: If8c5de81bec2cf2a1a6546a4319e41e9b07a139d
Reviewed-on: https://gerrit.mot.com/2594249
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Tested-by: Jira Key
Reviewed-by: Zhengjie Zhu <zhuzj5@motorola.com>
Reviewed-by: Bin Liu <liubin7@motorola.com>
Submit-Approved: Jira Key
In api hdd_update_nss(), when unit test command 'iwpriv wlan0 nss 1'
is used in 1x1 mode, the fail status is returned resulting in test
case failure.
Return a success status in api hdd_update_nss() for 1x1 mode resulting
successful execution of test case.
Change-Id: Id482c2686b48a0b6cdd41980c4eb4424da775ad0
CRs-Fixed: 3195517
Mot-CRs-fixed: (CR)
Reviewed-on: https://gerrit.mot.com/2295901
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Tested-by: Jira Key
Reviewed-by: Daniel Finimundi <danielrf@motorola.com>
Submit-Approved: Jira Key
The link layer speed is useful for the Android frameworks hence
we need report the actual value
Change-Id: Ibbca77c79c96746ff07604889396f613d8b5d915
Signed-off-by: sunyue5 <sunyue5@motorola.com>
Reviewed-on: https://gerrit.mot.com/2131949
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Zhilu Yin <yinzl1@motorola.com>
Submit-Approved: Jira Key
Reviewed-by: Bin Liu <liubin7@motorola.com>
Currently, the Rx/Tx highest Long GI data rate field in
the VHT IE is filled with short GI data rate. Therefore,
change the highest supported data rate back to LGI data
rate.
Allow the short GI rate to be filled as the highest supported
rate in the wiphy if short GI is enabled.
Change-Id: Ie0652b4cdeef370cb8ad3d11b5d36b6959c1cbcb
CRs-Fixed: 3053946
Mot-CRs-fixed:(CR)
Reviewed-on: https://gerrit.mot.com/2088370
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Tested-by: Jira Key
Reviewed-by: Prashanth ChakRavarthy <a19110@motorola.com>
Submit-Approved: Jira Key
During the wakeup sequence if there is any firmware recovery
the resume would be rejected and the flag "is_wiphy_suspended"
would not be reset in the system resume.
So, at the end of the SSR reset the flag since the system has
already resumed completely.
Change-Id: I9f8d9fcc27d0909af2c8cd0486ce7b8c8b661287
CRs-Fixed: 3005606
Mot-CRs-fixed: (CR)
Signed-off-by: zhaoqh3 <zhaoqh3@mt.com>
Change-Id: I9f8d9fcc27d0909af2c8cd0486ce7b8c8b661287
Reviewed-on: https://gerrit.mot.com/2032304
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Tested-by: Jira Key
Reviewed-by: Rui Hu <hurui1@motorola.com>
Reviewed-by: Ming Xiang <xiangmin@motorola.com>
Reviewed-by: Tao Sun <suntao2@motorola.com>
Submit-Approved: Jira Key
(cherry picked from commit 306e6895b502be64778921ceb613b17655a3404d)
Reviewed-on: https://gerrit.mot.com/2033628
Reviewed-by: Zhilu Yin <yinzl1@motorola.com>
Odessa will use WLAN.HL.3.0.1 in order to match the modem release.
Export the correct ELF file.
Change-Id: I2a8afc725ff873acbdb99380b22b12e6ac4d1789
Reviewed-on: https://gerrit.mot.com/1915723
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Tested-by: Jira Key
Reviewed-by: Daniel Finimundi <danielrf@motorola.com>
Submit-Approved: Jira Key
In order to reuse hardware to save cost, our projects have gradually
begun to use different software but the same set of hardware.
Therefore, we have been unable to override some specific ini
configurations in the driver according to the different hwid.
Now we introduce a new file WCNSS_mot_cfg.ini which will be packaged
into different software and be read by the driver to override some
specific configurations
Change-Id: I954497039b69af2b193b9fcd9bf278d9ed3b06a2
Signed-off-by: sunyue5 <sunyue5@motorola.com>
Reviewed-on: https://gerrit.mot.com/1870064
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Tested-by: Jira Key
Reviewed-by: Zhilu Yin <yinzl1@motorola.com>
Submit-Approved: Jira Key
Currently when Adaptive 11R feature is disable via ini
then user space parse Vendor Specific IE and trigger
connection in FT-PSK/EAP based on STA configured key
mgmt, but due to feature disabled via ini it failed
to connect AP and trigger Assoc reject to user space.
To overcome this advertise Adaptive 11R supported feature
bit to user space and based on this feature bit user space
parse, trigger connection in FT-PSK/EAP other wise fallback to
PSK/EAP.
Change-Id: I5d67a0cb77c3f39328467a6313a7a795e6a7a4d8
CRs-Fixed: 2785878
Mot-CRs-fixed: (CR)
Reviewed-on: https://gerrit.mot.com/1855372
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Prashanth ChakRavarthy <a19110@motorola.com>
Submit-Approved: Jira Key
Validate TWT setup request type value obtained from
user space, before sending down to fw
Change-Id: I820f4912bafb84b76583ac9ed1cd88f59ea9fb3d
CRs-Fixed: 2770628
Reviewed-on: https://gerrit.mot.com/1848491
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Sireesha Kosuri <sireeshak@motorola.com>
Reviewed-by: Bin Liu <liubin7@motorola.com>
Submit-Approved: Jira Key
1. Compatible with utag that only has one MAC address
2. For the generated MAC address from serialno, set the provisioned mac
address as the custom mac address
Change-Id: I80e96dd906c32411a42e875447504baadd66d4b6
Signed-off-by: sunyue5 <sunyue5@motorola.com>
Reviewed-on: https://gerrit.mot.com/1744536
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Sireesha Kosuri <sireeshak@motorola.com>
Reviewed-by: Zhilu Yin <yinzl1@motorola.com>
Submit-Approved: Jira Key
7250 products will use the same WLAN version on R WLAN.HL.3.3.1.
Only copy this version.
Change-Id: I8d97d00a5271f23b7723020d5740e4677f51a338
Signed-off-by: Daniel Finimundi <danielrf@motorola.com>
Reviewed-on: https://gerrit.mot.com/1687654
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Yinjun Chen <a7301c@motorola.com>
Submit-Approved: Jira Key
Remove wifimacaddr from android ro.boot property set as this property
is not required and just leaks information.
Change-Id: If097394bc4e9dff819fd871bcff66575a4db04c7
Reviewed-on: https://gerrit.mot.com/1714017
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Reviewed-by: Sireesha Kosuri <sireeshak@motorola.com>
Reviewed-by: Prashanth ChakRavarthy <a19110@motorola.com>
Tested-by: Jira Key
Submit-Approved: Jira Key
(CR) add wifi tx pwr limit cmd for mimo device
(CR) add wifi mimo tx pwr limit cmd under softap mode
Per RF team req, add cmd to call QCom wmi api, so we can change
TX power limit values of each ANT channel.
add sub ioctl for wifi mimo tx pwr limit settings under softap mode
reworked for Android R.
Change-Id: Ibafe21c99b6f91e6ddf881a6109cb1a478e9284f
In the current infrastructure , “setPowerSave false” is known for DHCP
start and “setPowerSave true” for DHCP stop. Thus, the BT Coex will give
preference to Wi-Fi during this period of DHCP start – stop.
This setPowerSave false / true interface is not only triggered on DHCP
start / stop but this is also a public API which can be triggered by the
applications when they want the Wi-Fi system to go in to
WIFI_MODE_FULL_HIGH_PERF. Thus , the “setpowersave false“ will be
triggered but not the corresponding “true” . As a result , the BT Coex
module shall assume that the DHCP is still in progress and keeps giving
preference to Wi-Fi.
and WifiNative.setBluetoothCoexistenceMode() is invoked only when DHCP
start & stop, hence we can use bt_coex_mode_set to deterministically
signify the DHCP start / Stop and send DHCP start / stop indication to FW
Change-Id: If5cca595aec22b7a10af4b127a5f75118d1ddc26
Signed-off-by: liubin7 <liubin7@motorola.com>
Reviewed-on: https://gerrit.mot.com/1464100
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Submit-Approved: Jira Key
Copy qca_cld3_wlan.ko.unstripped and WLAN_MERGED.elf files to out
symbols folder during build time. This will save significant time
to fetch the unstripped and elf files during Kernel panic analysis
by avoiding repo Sync and rebuilding the image on which issue happened.
This is a squash for all Helium products.
Change-Id: I5a4ce7b77e9ead134ae969efa46bbecedc0f9d37
We do not enable CH14 for JAPAN on all of our
products and have disabled it on 8998 as well.
QC SR : 04679882
Change-Id: Ibd37d238877c81b180dcd1e3e72e84ef4d868592
Signed-off-by: vineetv <vineetv@motorola.com>
Reviewed-on: https://gerrit.mot.com/1642393
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Prashanth ChakRavarthy <a19110@motorola.com>
Submit-Approved: Jira Key
Copy qca_cld3_wlan.ko.unstripped to out symbols folder during build time.
This will save significant time to fetch the unstripped during Kernel panic analysis
by avoiding repo Sync and rebuilding the image on which issue happened.
Change-Id: I1fc720560e0f74178Montana0ef604413e5b553dbd2f
Reviewed-on: https://gerrit.mot.com/1119046
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Prashanth ChakRavarthy <a19110@motorola.com>
Submit-Approved: Jira Key
Reviewed-on: https://gerrit.mot.com/1456501
Submit-Approved: Raja Phani K <a16821@motorola.c
For the concurrency mode sta+sap , we need 2 mac addresses
DUT is generating only 1 mac address based on serial number
added the code to generate the remaining mac addresses
Change-Id: I6d2880f746656d332ace67417edb29ad8b97b44a
Reviewed-on: https://gerrit.mot.com/1481319
Reviewed-by: Prashanth ChakRavarthy <a19110@motorola.com>
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Submit-Approved: Jira Key
Moving this log as debug logs by Motorola as
Qualcomm need to support multiple configuration.
Change-Id: Ic7dbfe906b844d23f159e73d2795159158e4dbcc
Reviewed-on: https://gerrit.mot.com/1469662
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Prashanth ChakRavarthy <a19110@motorola.com>
Submit-Approved: Jira Key
Since we use wrqu structure to pass data from
qsap, use copy_from_user function to avoid
data corruption.
Change-Id: Ic5f4f8631246c932432fc2317829534b521ec438
Reviewed-on: https://gerrit.mot.com/1456951
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Prashanth ChakRavarthy <a19110@motorola.com>
Submit-Approved: Raja Phani K <a16821@motorola.com>
Propogate (CR) : get correct tx power from ioctl.
Restructured based on the 8250 files
Change-Id: I2216a0442cbb8dbb7fd9a1fcbbed5be9bec177ac
Reviewed-on: https://gerrit.mot.com/1456950
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Prashanth ChakRavarthy <a19110@motorola.com>
Submit-Approved: Raja Phani K <a16821@motorola.com>
The ioctl handling needs to be differentiated between
calls made by Mot code and iwpriv code since they
fill in different parameters.
Change-Id: If5276c14e20f87c88123c8d3c68849ac8f4e6173
Reviewed-on: https://gerrit.mot.com/1456948
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Reviewed-by: Prashanth ChakRavarthy <a19110@motorola.com>
Tested-by: Jira Key
Submit-Approved: Raja Phani K <a16821@motorola.com>
Ioctls value was being filled up with wrq data structure in
softap sdk, but extra parameter was being read from driver.
Fix to read the wrq data structure in driver
Change-Id: I06d8be4e3665bad937614fcb579c36f5f1159e10
Reviewed-on: https://gerrit.mot.com/1456947
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Prashanth ChakRavarthy <a19110@motorola.com>
Submit-Approved: Raja Phani K <a16821@motorola.com>
iwpriv tool uses extra parameter whereas Mot
ioctl uses wrqu data structure. Need to differentiate
between the two to resolve panic
Change-Id: Icb1c9e4f75ad1f89f43ff2be5fc7f551f3176851
Reviewed-on: https://gerrit.mot.com/1456946
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Prashanth ChakRavarthy <a19110@motorola.com>
Submit-Approved: Raja Phani K <a16821@motorola.com>
Create sar_mhs and sar_sta sysfs entries for recording wlan states
for SAR cutback. The WLAN driver does not care about these entries
but they are needed as IPC over to the mdmcutback daemon.
Change-Id: I277f7c68e3b74557edb6ff82fa0224d1f470fd95
Reviewed-on: https://gerrit.mot.com/1264155
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Tested-by: Jira Key
Reviewed-by: Binesh Balasingh <binesh@motorola.com>
Submit-Approved: Jira Key
Reviewed-on: https://gerrit.mot.com/1456500
Reviewed-by: Prashanth ChakRavarthy <a19110@motorola.com>
Submit-Approved: Raja Phani K <a16821@motorola.com>
In WLAN driver for Helium family, QC has updated hdd_context_t
structure and removed intfMacAddr variable. As a result,
with Motorola MAC address changes, compilation was failing.
Replaced intfMacAddr with new provisioned and derived variables
to read and use MAC address from UTAG properly.
Updated the MOT OUI with latest MOT OUI values.
Change-Id: I78e942aefc5b802e6297402c796d5d002b6d955a
Reviewed-on: https://gerrit.mot.com/1196122
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Prashanth ChakRavarthy <a19110@motorola.com>
Submit-Approved: Yun Ma <yunma@motorola.com>
- Read MAC Address from UTAG
- Generate new MAC address from serial number, if UTAG
is not programmed with MAC addresses in Factory.
Port changes from (CR) to new Helium platform(sm6150).
Change-Id: If6d2e532907ff0cd267262710b3c694bf73c9129
Reviewed-on: https://gerrit.mot.com/1257719
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Bin Liu <liubin7@motorola.com>
Submit-Approved: Jira Key
Reject any incoming get_all_peers TDLS command if there
are any currently in progress.
The later commands will only be processed once the earlier
commands finish, since they are processed sequentially.
However, once a command finishes, the memory allocated for
it from userspace is freed up. Each command is passed the
same address so the later commands will end up writing to
a freed address. To avoid this, reject incoming requests
if there are any still in progress.
For this, the condition should be corrected.
We shouldn't use completion_done here for checking for
completion as this will always return false, as
tdls_user_cmd_comp.done will remain in init state always.
So, the very first command will also not work.
In general completion_done is used to check if there are
multiple threads waiting on the complete event that's
why it will return true only when tdls_user_cmd_comp.done
is set with complete().
Also, if the state is in wait_for_completion, this function
will return true after the wait timer is over or condition
is met as wait_for_completion will hold out the hold lock
and will will prevent completion_done from returning.
Better to use a flag to determine command condition.
Change-Id: I1b6b270dbb9b0b103f10e7ae22a60030ea2fbb98
CRs-Fixed: 3162184
Reject any incoming get_all_peers TDLS command if there are any
currently in progress.
The later commands will only be processed once the earlier commands
finish, since they are processed sequentially. However, once a
command finishes, the memory allocated for it from userspace is freed
up. Each command is passed the same address so the later commands will
end up writing to a freed address. To avoid this, reject incoming
requests if there are any still in progress.
Change-Id: I6970e3b73c6ce5afc921edaaf477825928800342
CRs-Fixed: 3150044
To use skb_orphan instead of skb_unshare, this is
aimed to prevent addition skb_alloc possible failures
in TX path, then avoid of unnecessary packet drop when
memory runs low.
Change-Id: Ic8dfdb09c73a1071678612430fff2f23180ad336
CRs-Fixed: 3162137
Since structure wmi_wlan_profile_t includes tlv header, it has
to consider the tlv header in each iteration.
CRs-Fixed: 3136374
Change-Id: I14a86ed14f616a5f1aaeabd25a81fa22d762ffe3
Firmware might send NDP peer indication/NDP responder response
while NDI deletion is in progress. Currently, NDP peer entry
gets added though vdev is moved to DOWN state and cleanup is
in progress. This leads to stale peer entry on that NDI vdev
and doesn't allow vdev delete when IFF_DOWN comes, as a peer
is present.
Check the vdev state before creating peer for NDP and skip
peer creation if NDI vdev is not in UP state(which indicates
that the vdev down is happening).
Also, don't process the NDP confirm if NDP peer is not created.
Change-Id: I73e79cc33b1a294e3f4a4a6e2f371033862c5709
CRs-Fixed: 3061756
Enable DUMP_REO_QUEUE_INFO_IN_DDR to send cache flush cmd
to REO using cmd: iwpriv wlan0 txrx_stats 34 0
Cache flush cmd will invalidate the h/w cache and ensure
that h/w writes to DDR.
In the cmd callback, the reo status tlvs are processed
and the vaddr of the reo queue desc is used to read the
queue information from DDR and dump it in the host driver logs.
Change-Id: I4521b777d13c490ac687f9ff673182262bc52f62
CRs-Fixed: 2899824