Per the Linux Kernel coding style, as enforced by the kernel
checkpatch script, pointers should not be explicitly compared to
NULL. Therefore within tdls replace any such comparisons with logical
operations performed on the pointer itself.
Change-Id: I836dec2b71e0c11f11b18402c7b127bb4ccbba48
CRs-Fixed: 2418394
In 2x2 DBS mode once STA/SAP change channel from 2.4Ghz to 5Ghz,
policy_mgr_get_current_pref_hw_mode_ptr never return
PM_SINGLE_MAC_UPGRADE to start the opportunistic timer to switch to
single mac mode.
Fix is to check and start opportunistic timer once connection info are
updated. Also start opportunistic timer before
check for SAP to change channel as when SAP change channel it should
stop opportunistic timer and set required HW mode.
If single mac mode is required after channel switch it will start
opportunistic timer again in channel switch callback.
Change-Id: Id6bbc7ea51ba8147e517e7e7bf2b14931c95ea44
CRs-Fixed: 2419645
Upon client connection to SAP, WLAN IPA will pass a message
containing client MAC address and ethernet header offset to
IPA driver. Per WDI 3.0, there's no frag_header and
ipa_header prepended in front of ethernet header. Thus
ethernet header length is passed to IPA driver as header
length during interface registration. But in per-client
message, offset passed to IPA driver still accounts for
length of frag_header and ipa_header. As a result packet
queued to event ring will have wrong ethernet header.
And this causes IPA to WLAN TX HW path not work as expected.
Fix is to define frag_header and ipa_header as 0 sized
structure for WDI 3.0 so that ethernet header offset will
be 0.
Change-Id: I58cdf78732ad2909bf89058f2a5bc24c42f841d2
CRs-Fixed: 2421315
Currently there is no support to configure ito repeat
count when driver enters into wow mode.
Add support to configure ito repeat count with ini
gItoRepeatCount when driver enters into wow mode.
CRs-fixed: 2419137
Change-Id: I62d7e7df12342e9743c26e0147851347214a9ce7
If DBS 2x2 mode is supported, to operate in 2.4Ghz the driver needs to
be in DBS mode before vdev start/restart is sent on 2.4Ghz channel.
If STA is connected to a 5Ghz channel and the PEER AP switch from 5Ghz
to 2.4Ghz channel, it sends vdev restart without sending the HW mode
change to firmware.
Fix is to set HW mode before the initiating vdev restart if new channel
is 2.4Ghz and 2x2 DBS is supported and current HW mode is not DBS
Change-Id: I6dc57f37e155f0e29b17840e4e246de773f42b3e
CRs-Fixed: 2419642
Per the Linux Kernel coding style, as enforced by the kernel
checkpatch script, pointers should not be explicitly compared to
NULL. Therefore within ipa replace any such comparisons with logical
operations performed on the pointer itself.
Change-Id: I82e4bed12122ad5aea47650f6d75e72a52207883
CRs-Fixed: 2418401
Currently the driver just start the vdev according to the ini
params, without consdering the tx, rx chainmask supported by the
FW per band, per mac, which can lead to connection in 2x2, even
though FW is not capable of 2 antennas on a particular band.
Fix is to intersect both the tx, rx chainmask for both bands,
and change the ini to minimum of the nss supported by ini, and
the BDF setting of the chains.
Change-Id: Ib0e9bac19959bbcf9bade7dbd78674be4099a23d
CRs-Fixed: 2414103
Per the Linux Kernel coding style, as enforced by the kernel
checkpatch script, pointers should not be explicitly compared to
NULL. Therefore within target_if replace any such comparisons with
logical operations performed on the pointer itself.
Change-Id: Id9b5185713b91b67ddf1d965a6c7e52508558d82
CRs-Fixed: 2418397
In function tdls_delete_all_tdls_peers, bss peer can be NULL
if the bss peer is removed from vdev object. Hence, add NULL
check before getting its reference.
Change-Id: I9b2b03bc6db899c1c06de95ec5ee680d4b600aa7
CRs-Fixed: 2419567
Currently, whenever roaming is triggered after a successful roam scan
firmware sends a BTM query to current connected AP when it is 11v
capable. Driver completes roaming with candidates received as part of
BTM request from AP. STA respond to AP with BTM response after
successful initiation of roaming.
Now the requirement is FW could send "BTM query with a preferred
candidate list" after a successful roam scan for some roam scan reasons
like PER, LOW_RSSI, HIGH_RSSI, MAWC, DENSE etc. Preferred candidate list
is obtained as part of roam scan based on firmware bss scoring logic.
Add new ini "btm_query_bitmask" to configure the bitmask for roam scan
reasons which is sent to firmware as part of RSO start via wmi btm config
cmd. Fw sends "BTM query with preferred candidate list" only for those
roam scans which are enabled through this bitmask.
New INI: btm_query_bitmask
Min: 0
Max: 0xFFFFFFFF
Default: 0x8
Bitmask : 0x8 (LOW_RSSI) refer enum WMI_ROAM_TRIGGER_REASON_ID.
Change-Id: I24b538745f2ac88d4e5c990573234e0f8a881b1f
CRs-Fixed: 2408111
Per the Linux Kernel coding style, as enforced by the kernel
checkpatch script, pointers should not be explicitly compared to
NULL. Therefore within cmn_services replace any such comparisons with
logical operations performed on the pointer itself.
Change-Id: I7141cd900916bd4bbab1bc8c7a1b90589286582b
CRs-Fixed: 2418402
Currently there is no support to configure the inactivity
timeout when driver goes to wow mode or when driver resumes
from wow mode.
Add support for PMO component to configure the wow mode
inactivity timeout with ini g_wow_data_inactivity_timeout
when driver enters into wow mode and when driver resumes
from wow mode add support to configure the inactivity
timeout for non wow mode with ini gDataInactivityTimeout.
CRs-fixed: 2412866
Change-Id: I0672f22a5dfec870e5e67b23058db2729b9a0848
Per the Linux Kernel coding style, as enforced by the kernel
checkpatch script, pointers should not be explicitly compared to
NULL. Therefore within mlme replace any such comparisons with logical
operations performed on the pointer itself.
Change-Id: Iac19509c5fdcce036e0288653d61638cf04f01d6
CRs-Fixed: 2418400
Per the Linux Kernel coding style, as enforced by the kernel
checkpatch script, pointers should not be explicitly compared to
NULL. Therefore within disa replace any such comparisons with logical
operations performed on the pointer itself.
Change-Id: Id25e4748819d206e361a55532a5ccfd648744b15
CRs-Fixed: 2418403
Per the Linux Kernel coding style, as enforced by the kernel
checkpatch script, pointers should not be explicitly compared to
NULL. Therefore within p2p replace any such comparisons with logical
operations performed on the pointer itself.
Change-Id: I3f987cc2603bd3e4d41881db8c847046884d7e76
CRs-Fixed: 2418399
1) Refine the documentation text of 4 ini items:
gStaKeepAlivePeriod
gApKeepAlivePeriod
gChannelBondingMode5GHz
gChannelBondingMode24GHz
2) Fix a discrepancy which happens when ini cfg values
are converted from those defined in enum
eIniChanBondState to the corresponding values in
enum ePhyChanBondState.
3) Use the related APIs to setup channel bonding modes
instead of directly assigning values.
4) Remove the redundant inclusion of the following two
header files in csr_api_roam.c:
cfg_ucfg_api.h
wlan_mlme_api.h
Change-Id: I43c1e5a05bbb34952a5c7bdbde734f4014592c12
CRs-Fixed: 2416991
Per the Linux Kernel coding style, as enforced by the kernel
checkpatch script, pointers should not be explicitly compared to
NULL. Therefore within pmo replace any such comparisons with logical
operations performed on the pointer itself.
Change-Id: I3697ede27e074252017e31be23caa93fc25885c5
CRs-Fixed: 2418398
Due to PTA master limitation, zigbee joining network success rate
is low while wlan is working. Wlan host driver need to configure
some parameters including Zigbee state and specific WLAN period to
enhance PTA master. This mechanism is called MPTA helper. The INI
parameter gMPTAHelperEnable is used to enable/disable this feature.
Change-Id: I070c06a00ec2c405540cc40251f5cb7fec211cbd
CRs-Fixed: 2407801
Current ACS logic sometimes selects MCC channel based on its
algo for SAP / GO which results in SAP / GO bring-up failures.
This issue is seen in below concurrency combinations:
1. SAP + SAP
2. SAP + P2P-GO
3. SAP + SAP + SAP
4. SAP + SAP + P2P-GO
So with this change driver restricts ACS scan to intersection of
PCL and ACS channel list.
This implementation will take care of existing STA + SAP case as well,
as PCL will have channels according to 1st connection being STA.
Change-Id: Ic715fb29533c20b63cffda8a82b7317904f0d291
CRs-Fixed: 2407289
Some malformed comments were discovered when generating
the official documentation of wlan cfg ini items.
Refine the documentation text of the following items
in one batch:
gEnableDynamicDTIM
g_sap_chanswitch_mode
gVhtChannelWidth
gDataInactivityTimeout
Change-Id: I2b1455d0ea27fd35dc0cf66316c7dc3b348ee0ac
CRs-Fixed: 2416086
1) 'ssdp' in t_wma_handle structure is not used anymore,
remove this redundant field.
2) ucfg_pmo_set_sta_mod_dtim and ucfg_pmo_get_sta_mod_dtim
should have been accessing 'sta_mod_dtim' instead of
'sta_dynamic_dtim' in struct pmo_psoc_cfg.
Change-Id: Iedd7bed1c9f637a819f97b6d8c687b784739dd62
CRs-Fixed: 2415087
Some malformed comments were discovered when generating
the official documentation of wlan cfg ini items.
Refine the documentation text of the following items
in one batch:
gEnableVendorVhtFor24GHzBand
hostArpOffload
ssdp
gEnableDynamicDTIM
gEnableModulatedDTIM
Change-Id: I3cd617e52e86e2a890e35edb33b37ba3df8f4f6e
CRs-Fixed: 2414259
If Firmware supports NDI DBS mode, driver can support NDI
concurrency along with NAN and STA type connecitons. Use
Policy Manager API's to add support for these concurrencies.
Add policy mgr related changes to support NDI concurrencies.
Change-Id: If272be34606c0897d0b145c602b4bc2ba4462cb0
CRs-Fixed: 2384549
Policy manager is not aware of NAN Datapath Interface(NDI)
which is used to establish datapath with NAN peers. Define
and enumerate policy manager definitions and tables to
support NDI alongside NAN Discovery and Station interfaces.
Important thing to note is that NDI cannot be active without
presence of a NAN Discovery interface.
Define NAN Datapath related definitions in Policy Manager.
Change-Id: I6ecdf5a89a8161d9c5d671e4e718dd615f46019e
CRs-Fixed: 2407225
NAN Datapath implementation allows more than one concurrent
NDI's to be active at the same time. But this isn't supported
if there is a higher priority incoming connection such as
STA. Add modules that check for unsupported NDI concurrency
and initiates termination of all NDP's on it.
Add modules that check and disable unsupported NDI concurrency.
Change-Id: I6ad9afbfc41beda1d1c8f31bf58a8ea70027f5ca
CRs-Fixed: 2407215
If DBS 2x2 mode is supported, to operate in 2.4Ghz the driver needs to
be in DBS mode before vdev start/restart is sent on 2.4Ghz channel.
In scenareo with gWlanMccToSccSwitchMode 4, when AP is in 5Ghz and
STA connect to any other channel in 5ghz, it force AP to switch to 2.4 Ghz
channel. Thus AP sends vdev restart without sending the HW mode change
to firmware.
Fix is to set HW mode before the AP start channel switch.
Change-Id: I2a1c176d5f3ed8cc2f62dc24c72959db1afbaae3
CRs-Fixed: 2414034
To address kernel control flow integrity (CFI) issues related to type
mismatch, correct the input argument type for sme_ser_cmd_callback().
Change-Id: I3f0b5df70163eca9282d2b1c2a48203448e4f0a6
CRs-Fixed: 2402977
When forming P2P connection, mgmt tx timer timeout when tx ack event
queued in scheduler but not processed, and then wild pointer access
in tx timer timeout callback since processed tx ack event and tx
context is freed.
Change-Id: I598e611a9e1d72bbaddbbe3541f37479f3cb9bbb
CRs-Fixed: 2372686
After STA or P2P cli disconnection, TDLS component is notfied
of the disconnection to check if the TDLS can be enabled in FW
and host. But while sending tdls set state command to FW,
the disconnected vdev_id is given to FW. This can result in
FW assert while processing the next tdls commands.
Change-Id: Ib79547ce9d192b1d8bba3767655b3dada36e5e95
CRs-Fixed: 2412170
CBF report is not sent as response to NDPA frames
sent by AP when STA goes to powersave. This is
resulting in VHT-5.2.63A cert test case failure,
where pass criteria is to check the last CBF frame
from STA.
Fix is to increase default value of bmps timer to
600secs.
Change-Id: Ibca5fe0af0be22f0bef463a5b4d11d617ac4391b
CRs-Fixed: 2412177
In functions ucfg_tdls_update_rx_pkt_cnt and
ucfg_tdls_update_tx_pkt_cnt, driver tries
to get the vdev ref, even if it is NULL.
This can result in assert.
Change-Id: I62b3a9b088324e06518e82203092a2ac9098ac13
CRs-Fixed: 2412095
Allow SSR during driver resume. Assume firmware goes down during driver
is in suspend state. Avoid get into bad state and wmi access during driver
resume.
Change-Id: Ie1689e0b080f940666fbbb19c9f0e3b0fecfe564
CRs-Fixed: 2412130
BOOLEAN is native c type so external range validation is not needed.
Cleanup references to cfg_in_range(), cfg_min and cfg_max for
BOOLEAN items
Change-Id: I4a60d1bbd12ad3cce00b33c551b3927b2f01f638
CRs-Fixed: 2359500
In SAP mode apps should wake up to handle the client kick out event
from fw and delete the remote peer such that remote peer is not hanging
in partial connected state when apps is in power save mode. Mark client
kick out event as wake event in SAP mode such that apps can wake up and
properly disconnect the kicked out remote client.
Change-Id: I9e2e56820be0bed8019d2fb810a12a129deadd37
CRs-Fixed: 2410124
In p2p go mode the peer type in wlan peer common object is always
set to P2P_CLI. This leads to non-cancellation of NoA after connecting
to legacy stations. Correct the peer type for legacy stations.
Change-Id: Ib706f9a80d0ad367e27fd21eca6cf026cba63f57
CRs-Fixed: 2406127
If the curr_peer link status is tearing or connected,
activate peer cmd is rejected and the return status is sent
to supplcant as success even.
But return failure status to supplicant if the link is tearing.
Change-Id: Ia976fee03c77191a7e617a3e21e8c5ddf98759d0
CRs-Fixed: 2411146
Unlike other connection types, vdev start parameters for NDI
do not reflect the correct connection information for the
datapath. Once an NDP is established on NDI this info in WMA
needs to be updated accordingly. Define a WMA callback and
use it after NDP confirm and NDP End to update the connection
info for NDI.
Use WMA callback for updating NDI connection info.
Change-Id: Iefb515a751bd3fb5e10610d191bdadaf3a01f59a
CRs-Fixed: 2407153
To support NAN Datapath concurrencies driver needs to be aware
of the primary NDP connection for each NDI. If the primary
NDP has ended, driver needs to update NDI with the second NDP
if it exists. For this purpose driver needs to track the NDP
connections for every peer associated with NDI. Store and
update the primary NDP connection info in peer object for
NDP confirm, NDP End & NDP schedule update.
Store and update NDP connection info in NAN's peer objects.
Change-Id: I7d2c8c513beceebf155596bfa73841a834d9a97a
CRs-Fixed: 2406402
Up layer tx probe response frame with wait/duration 0, which may be
start ROC with duration 0 and then tx mgmt frame fail since of very
short ROC and no enough time to wait for tx ack.
Change-Id: I5243ff10726b642d8cf18992a230d741f9d2655f
CRs-Fixed: 2397719
Allow the SAP to move from DFS channel to another DFS channel in
STA+SAP SCC concurrency scenario.
Change-Id: Ie2091bbdd758ed7f3bef1757ff42bbe5034fe908
CRs-Fixed: 2408892
Host presently stores NAN Peer specific info, such as number
of active NDP sessions, in an array inside vdev private object.
The array uses Peer index from HDD connection info. Instead,
use object manager to define peer private objects to store
this information.
Define NAN peer objects for storing NDP Peer info
Change-Id: I43d9339d06acc0eff61cafb337ccb084c372c7e1
CRs-Fixed: 2405507