The operation class field in RNR is using global operation class.
When getting frequency from RNR IE, we should search operation
class in global operation class table.
Change-Id: Ie9ff62e1d98cb10debfcff734e28ffaecf14e321
CRs-Fixed: 3031211
During unload driver, if hdd_reg_notifier to be called
from kernel, it has the possibility that cause
regulatory_update_event to be reset after it has been
destroyed, which causes "Failed assertion 'event->cookie
== LINUX_EVENT_COOKIE'". So adds this fix to ignore the
regulatory notify request if it is in unloading state.
Meanwhile destroy the event after unregister wiphy
also can help on such kind of issue.
Change-Id: I527517c7f1443a4e211782f74b03e2fca40ab552
CRs-Fixed: 3028357
CSA IE TX isn't offload to FW, the count of Beacon with CSA IE
actually DUT sent exceeds the required. So, this change clear CSA IE
and update Beacon frame.
Change-Id: Ib433b9d2877b332365a4cfdf1a6bca56d6194672
CRs-Fixed: 3008327
In order to support four STA default interfaces
to be created and up after driver loaded, it
requires setting bmiss_offload_max_vdev=4 to
Hastings fw. So export this variable to be
configurable and can be modified if in need.
Change-Id: I25db5dd72de7d45c6be682891abba711edaf20dd
CRs-Fixed: 3030148
For STA connection in HE 160, HE160 MCS is validated
during the session creation. If the HE160 is invalid,
the connection falls back to 80MHz. But, this check needs
to be bypassed for SAP, because during session creation SAP
will not have the peer capability, so the HE160 MCS validation
needs to be bypassed.
Change-Id: I3bbb2f35c40a123b5d05a94038970a0e7e43ac60
CRs-Fixed: 3025102
Currently host driver processes radio stats events with
scheduler thread without any lock and invokes hdd callback.
In hdd these stats gets handled in user space thread and after
processing stats, user space thread frees the memory allocated
in wma. Since one thread allocates the memory and other
thread frees the memory, this can lead to race conditions where
this memory might not get freed and mem leak can happen.
With this change add locking mechanism to allocate, use and to
free the memory.
Change-Id: I95906133bb2208a258c5cec16f4f01b1321ed0c2
CRs-Fixed: 3020218
Use macro PKTLOG_LEGACY instead of HELIUMPLUS to avoid Rome
PKTLOG setup failure. PKTLOG_LEGACY is used for HELIUM/ROME.
Change-Id: If3476660f19606b84341cce084db3d06d69de4c5
CRs-Fixed: 3028261
Currently driver does not check the mode of the current interface
whether it is STA of CLI and it caches the connection info, in this
process it allocates the memory to cache he operation, this memory
get freed only for station type adapter because of which there is
a possibility of memleak for CLI interface.
To avoid above issue, add a change to only cache the information
STA interface.
Change-Id: Ic68d71dfd9887600fe1a287de66d735c2c802491
CRs-Fixed: 3028583
Since walt is msm-only scheduler group of features,
not upstreamed. Include walt.h header when CONFIG_SCHED_WALT
has been enabled.
CRs-Fixed: 3023911
Change-Id: I7f334952fd624606b9ddf1b53237cea52628abbb
When the connect request is pending on MLME and NB disconnect comes,
driver will wait for previous connect finish to process the disconnect
request. This delay the disconnect and may cause framework ANR.
Add code to fire the timeout event of active timers in various MLME
state. This will abort the connect request and get disconnect done fast.
Change-Id: I19cc03108c966c8f1efc0a554dfc59123dfe37f1
CRs-Fixed: 3026311
For MLO, add support to hdd install key api's
on wdevs without netdev. Add changes under config
flag "CFG80211_KEY_INSTALL_SUPPORT_ON_WDEV".
Change-Id: I67de2ba36dd86f0814c820756d5f49b765defda6
CRs-Fixed: 3017312
Remove STA specific enums from eConnectionState. Also remove
its prints from STA dependent code.
Change-Id: I1a06d16a060bec90147dcf94925582877352d1a8
CRs-Fixed: 3028099
In some stress test, like doing random on/off sap and random SSR, sometimes we
can hit below test situation:
1. trigger SSR first by calling hdd_crash_inject, then immediately off SAP, the
two actions almost happen at the same time.
2. the action of off SAP calls __wlan_hdd_del_virtual_intf to delete SAP interface
and is waiting for qdf_stop_bss_event completion event.
3. at the moment, sys error interrupt happened, CNSS layer would send PLD_FW_DOWN
event to host driver first. Due to PLD_FW_DOWN event call qdf_complete_wait_events()
to forcedly reset all completion wait event, this action may cause
__wlan_hdd_del_virtual_intf to do vdev destroy before vdev resp mlme state machine
is processed. Once vdev destroy is executed, it will set vdev obj_state to
WLAN_OBJ_STATE_LOGICALLY_DELETED, then vdev resp will not have chances to be flushed,
and then cause peer reference count leakage.
Fix solution: use qdf_wait_single_event instead of qdf_wait_for_event_completion to
avoid stop_bss_event forcedly reset before stop_bss_event is done or timeout.
Change-Id: I45b662fd17ec56bb8fc4453627bdcb41dedf79e0
CRs-Fixed: 2987511
This reverts commit "Change-Id: I847468f0c1839974ea1c6cd31260fb7ef4fbb897"
Revert this change as kernel is not reading cac duration from
wiphy channels, kernel reads the cac duration from reg rules.
Change-Id: I794bb3ddd67f551daf9b4c3b9320909224ac4d76
CRs-Fixed: 3020354
As part of the new GKI model, multiple driver are loaded parallelly
resulting in a error message from the kernel regarding the multiple
registrations of the /dev/wlan.
Register the /dev/wlan file to the kernel once the device is
identified and driver registration is success.
Change-Id: Iaca40abb62be5f59f129604a9a6d74ada6a4ad3a
CRs-Fixed: 3027521
Update unit test command for policy mgr pcl validation to
support new SBS PCL type.
Change-Id: Ib02ce6c69400d0f47307523d690e1d81a8c0ef83
CRs-Fixed: 2998526
Currently the PS config received from kernel/userspace is set
to mac_ctx globally. This causes PS config set for one vdev to
override on the other vdev.
To avoid this, set the PS config per vdev.
Change-Id: I6a2e2a9d8fb67b94d9d5f1d4164077990bdaf4a5
CRs-Fixed: 3007060
In the 2.4G 1x1 + 5G 2x2 Hastings specific case,
host will receive below HE MCS info:
1. hw mode id[0], phy id[0]
he_supp_mcs_2G=0x0
he_supp_mcs_5G=0xfffefffa
2. hw_mode_id=1 phy_id=0
he_supp_mcs_2G=0x0
he_supp_mcs_5G=0xfffefffa
3. hw_mode_id=1 phy_id=1
he_supp_mcs_2G=0xfffe
he_supp_mcs_5G=0x0
But in the wma_update_target_ext_he_cap, it always
updates the last mcs=0xfffe info into he_cap,
which will be used in the HE capability of beacon
or probe response frame whatever it running on
2.4G or 5G and it is not right.
So add this fix to update the MCS separately according
to the current operating channel.
Change-Id: I277aa708ae7e13917cf2068f01b05d3864ad7618
CRs-Fixed: 2992253
Optimize STA disconnect handling In LIM, by improving logging
and seperating logic from SAP's peer disconnect handling.
Change-Id: Iad2cc1ac0b5dc3e5ce7294e410d6d8040934ea0d
CRs-Fixed: 3026218
Whenever the host receives the SETROAMSCANFREQUENCIES command,
the host sets ROAMSCANCONTROL to 1 internally. This results
host ignore the ADDROAMSCANFREQUENCIES command if the specific
channel list is already configured.
As per new requirements, the host should not ignore any
ADDROAMSCANFREQUENCIES command which comes after
SETROAMSCANFREQUENCIES.
Change-Id: I9896ff21cdf97ebfcdcf5b198e981f5bd2f501c6
CRs-Fixed: 3022063
Remove ioctl cmd GETROAMSCANCHANNELS in the driver as this
is no longer required from Android S onwards.
Change-Id: I5b57a9a34cbe4b023334855751263fe435d0bdbf
CRs-Fixed: 3021665
Remove ioctl cmd SETROAMSCANCHANNELS in the driver as this
is no longer required from Android S onwards.
Change-Id: I904b7a5407997b07c23a40f14d6c7328ec9de8ea
CRs-Fixed: 3021662