Host driver should exit if it fails to initialize
__cfg_global_store to avoid assertion hit.
Change-Id: I404e5da69cd2c4cf06d55a1d7a96d0aee1e5e4a4
CRs-Fixed: 2454969
Update default value of force max nss action OUI ini
to include AP that advertises rx nss as 1 before
connection and advertises rx nss as 4 in association
response and in beacons or probe responses immediately
after connection.
Change-Id: Ica6314547a2aa39d4887ac4231745d6a59cd6b0a
CRs-Fixed: 2466562
Fix the logic to not to advertise twt requester for SAP &
twt responder for STA.
Change-Id: I153f7c52d0107c75f7c59b4c880bb4aa0757356b
CRs-Fixed: 2473541
Driver is updating wiphy band capabilities incorrectly as
it is always updating 2G band as always supported, in case
if 2G band is disabled from ini "BandCapability", driver
should not update 2G band capabilities to wiphy.
To avoid above issue, add a api to check if 2G band is
supported and then only update 2G band capabilities to
wiphy.
Change-Id: Ib921fa106158d93bfdb7aa57cfd5aa4370fab7d8
CRs-Fixed: 2470067
Array sta_to_adapter of hdd_ctx is accessed from several functions of
NAN and softap without bound check which can lead to out of bound read
or write access.
To fix this, add range check for sta_id.
Change-Id: I0b8c4e8bce26c6514df489c3305000691c7e1fe0
CRs-Fixed: 2456954
Linux coding guidelines don't allow use of camel case identifiers.
So rename selfMacAddr to self_mac_addr to be in compliance.
Change-Id: Id70e00744883f9fd797da8d4bb1cf4f65c8aa9ff
CRs-Fixed: 2463827
Memory pointed by stakeyparams is not made NULL after
freeing in wma_set_stakey. This results in double free
during wma_add_bss_sta.
Change-Id: Ifa24d536e116be60f572d9926a511f9f498e6696
CRs-Fixed: 2463399
qcacld-2.0 to qcacld-3.0 propagation
This change adds support for driver supported TCP
delayed ack to increase TCP RX performance in
third-party platform which does't support kernel
TCP delayed ack feature.
TCP delayed ack is dependent on count and timer
values. Whatever is achieved first will trigger
sending TCP ack.
This feature can be controlled through ini values.
gDriverDelAckTimerValue - timer value in ms
gDriverDelAckPktCount - delayed ack count
gDriverDelAckEnable - enable/disable feature
Change-Id: I8105bbb90965295b5a4aefeb00d344a90155974d
CRs-fixed: 2414224
Disable LFR2 in cld-3.2 mainline as roaming is offloaded
to firmware in LFR3. Also fix linker issues with lfr2 disabled.
Featurize LFR2 properly with adding correct header files
and bringing LFR2 only functions under WLAN_FEATURE_HOST_ROAM
compile time flag.
Change-Id: Iac81b693feaab503d371753a4d16cc3e70df2a87
CRs-Fixed: 2459786
Optionally set by userspace to request the driver not to resume
beacon reporting after a pause is completed, when the
QCA_WLAN_VENDOR_ATTR_BEACON_REPORTING_OP_TYPE is set to
QCA_WLAN_VENDOR_BEACON_REPORTING_OP_START.
If this flag is set, the driver will not resume beacon reporting
after beacon reporting pause is completed. Userspace has to
send QCA_WLAN_VENDOR_BEACON_REPORTING_OP_START command again in order
to initiate beacon reporting again.
If this flag is set in the recent
QCA_WLAN_VENDOR_BEACON_REPORTING_OP_START command, then in the
subsequent QCA_WLAN_VENDOR_BEACON_REPORTING_OP_PAUSE event (if any)
the QCA_WLAN_VENDOR_ATTR_BEACON_REPORTING_AUTO_RESUMES shall not be
set by the driver.
Change-Id: I371a218cb513dcb077b7df675c549818c2b657b2
CRs-Fixed: 2466480
In order to process QCA_NL80211_VENDOR_SUBCMD_BEACON_REPORTING
vendor command, driver sends remove beacon filter cmd to fw to
allow fw to send all beacons of connected AP to driver.
But in some cases fw may wakeup host in wow mode.
To avoid these cases, with this change beacon reporting feature
will use WMI_VDEV_PARAM_NTH_BEACON_TO_HOST
command to FW instead of WMI_RMV_BCN_FILTER_CMDID
With WMI_VDEV_PARAM_NTH_BEACON_TO_HOST, in case of active reporting,
fw should send all beacons of connected AP to HOST
and also no wakeup of driver should happen in wow mode.
Change-Id: I9d0e255a6d4accb523bf4613146574239e7e0d09
CRs-Fixed: 2471627
In __spectral_scan_msg_handler(), payload section of input data is
type casted to driver internal structure spectral_scan_msg without
validating payload length which can lead to kernel info leak
if the payload length is less than size of spectral_scan_msg.
To fix this, avoid type-cast and return error if payload length is
less than size of spectral_scan_msg.
Change-Id: Ie7e74cc2cdcf8136582e81ffc3a088fd5a881dc9
CRs-Fixed: 2468493
Command timeouts for VDEV stop and PEER assoc/delete is 2 sec, which
doesn't consider delays in scheduling.
To consider scheduling delays set these values to 4 sec and change
the serialization and HDD timeouts accordingly.
Change-Id: Ifc8ca857727a7e73bbae586c0728816024f1c687
CRs-Fixed: 2472122
When Rome host F/W out of sync, cds_trigger_recovery_handler is
called, but pld_collect_rddm is added in it by change
Id9f1dfefe1560affff6c4ecfca1b8fdba3eb0928,
Rome doesn't support RDDM, panic will always happen without F/W
dump.
With this change and ini gEnableSelfRecovery=1, when host F/W out
of sync happens, crash inject is sent to F/W to trigger F/W dump,
if subsystem restart level is "system", panic will happen,
If subsystem restart level is "related", SSR will happen.
Change-Id: I3c714e6b2750ef3305b0f4c64ea5fe8fdc74c1d8
CRs-Fixed: 2472484
The roaming FT session dot11mode value is set with self
configuration, peer capability from beacon is not checked to
set the value.
Check peer AP beacon capabilities along with self configuration
to set the dot11mode setting in FT session.
Change-Id: Idd0edafccc6664b3b0f41ba7ca3dd8d59094ff3e
CRs-Fixed: 2467600
Currently the driver checks MCC/SCC with the present connections,
and band interference in restart case of both SAP, and P2P-GO,
which can lead to p2p-go fail, as supplicant which is the
initiator of the switch channel does not care about MCC, and wants
the driver to restart the p2p-go in the channel given.
Fix is to overide the checks for P2P-GO only, and restart the
vdev in the given channel by supplicant.
Change-Id: I5db1da5452272696d80128e16b9e0ee50aa0de28
CRs-Fixed: 2466292
Currently the driver checks whether the DFS channel is
in the range of acs channel list given, i.e the start
and end channel, which is not always correct as the channel
range does not imply that all channels in that range are present.
Fix is to explicitley check for the number of channels, and
compare each channel in the acs channel list with the DFS
channel.
Change-Id: Ib0b2d66dc325c340ab5cc837109a4f63e48ef4df
CRs-Fixed: 2466223
Add string for page fault wake up reason such that wake up
reason is logged properly.
Change-Id: I0f7138f730f5b9ca66f1d524d5d1868a99ccd88f
CRs-Fixed: 2471522
Propagation from qcacld2.0 to qcacld3.0.
The WMI CMD and EVENT of "get antenna isolation" are already defined,
but not used before in qcacld3.0.
Now, The host driver uses vendor command to get this information
instead of iwpriv command in qcacld-2.0.
The attribution of this feature is already defined in file
"qca_vendor.h". The name is "QCA_WLAN_VENDOR_ATTR_ANTENNA_ISOLATION".
So host driver will use vendor command
"QCA_NL80211_VENDOR_SUBCMD_GET_HW_CAPABILITY" to get the information
from lower layer.
Change-Id: I915768f622ddc9a70a95ce4fe952f19917a8f901
CRs-Fixed: 2447360
During dynamic request voting(DRV) suspend PCIe link
is in L1SS sleep state such that target can do page
faults without waking up APPS and hence add debug
assert on page fault wake ups if target triggered
a page fault wake up during DRV wow suspend.
Change-Id: I130a9a568b7007366fe582bd2e231c9fca324368
CRs-Fixed: 2467471
Set the max_station config correctly at wma_open instead of using
the default value.
Change-Id: I63cd05462351359fbdcaae03dbdff940817b9bde
CRs-Fixed: 2468829
When ini acs_with_more_param is configured as 1, more params should be
added into ACS calculation process. Currently, even acs_with_more_param
is set as 1, mac->sap.acs_with_more_param is still 0 and no params are
added to ACS calculation process.
Make mac->sap.acs_with_more_param change as ini acs_with_more_param.
Change-Id: I4ced3b1d7d07c0f919183df42191e51ba66b90e8
CRs-Fixed: 2458086
Add QCA_LL_PDEV_TX_FLOW_CONTROL for both
QCA_LL_LEGACY_TX_FLOW_CONTROL and QCA_LL_TX_FLOW_CONTROL_V2
disabled platform, avoid frame drop in driver which leads to bad TCP
TX throughput. Change NUM_TX_QUEUES to 5 for this case to avoid invalid
memory access in wlan_hdd_netif_queue_control().
Change-Id: Ifa649e31a41d1bf89eadc8cc7e9520f0e27b9fe4
CRs-Fixed: 2466996
In TSO enabled case, update HTC header payload length
after adjusting download length for TSO. Also initialize
download length for every segment to avoid send wrong
payload length.
Change-Id: Ie63d11e5543429d00e40864191f5e7d6a11a689f
CRs-Fixed: 2454727
Fix cfg80211_ops.set_tx_power invalid bssid issue. User could set
txpower via cfg80211 interface.
Change-Id: Ie103a45e426b920846b8e4d23c4995ce660dde70
CRs-Fixed: 2468749
In lte coex case, when ini gEnableSapInternalRestart set to 1,
driver will indicate WLAN_SVC_LTE_COEX_IND message to upper layer,
then upper layer will restart sap, driver also will do inetrnal sap
restart in this case, this will cause duplicate sap restart.
Add ini gEnableSapInternalRestart check when indicate
WLAN_SVC_LTE_COEX_IND message to upper layer.
Change-Id: I045f8c40d1931aef088a2dbc700f6ae2706a3c79
CRs-Fixed: 2469012
Currently the driver fills the vdev nss, and default nss
in ft session according to the band on which the roaming
happenend. For eg. if the roaming happenend on 5ghz band,
then the nss value would be filled from the nss 5ghz value.
But the nss is filled before the channel is populated in
the structure, which can lead to wrong nss.
Fix is to fill the nss value after the channel has been
populated in the session.
Change-Id: Ie4fc2452107fe5b1be296be7768868d251796a73
CRs-Fixed: 2467718
In roaming scenario, if association is not completed with
new AP, there is possibility of trying to send disassoc in
failure handling. So, if vdev is in INIT state send
disassoc failure and cleanup session.
Change-Id: I0fcf3b0b51aa810323911c5ebc121767ca22a502
CRs-Fixed: 2453160
Add per module logging macros without function/line info
to avoid adding function/line info where it is not required.
Change-Id: I0bd9248122b4f49274ee05a225ce6f880fede0cb
CRs-Fixed: 2468414
Do not start idle timer for epping mode when starting.
Deinit bus bandwidth and replenish timer when stopping, otherwise,
there will be resource leak.
Change-Id: Ib596f51445b739acd4551640b73270fd7693eea1
CRs-Fixed: 2464089
pScanFilter->BSSIDs.numOfBSSIDs is allocated as part
of function csr_neighbor_roam_prepare_scan_profile_filter
and this memory is not freed in error cases.
Hence free the allocated memory of pScanFilter->BSSIDs.numOfBSSIDs
in error cases before returning from function
csr_neighbor_roam_prepare_scan_profile_filter.
Change-Id: I411dba7ead796f84994e633a387730de6ee4d579
CRs-Fixed: 2464822
Cleanup CONFIG_MCL in peer_assoc_params and use common
flags and api to populate peer_flags in wmi peer assoc
command.
Change-Id: Ib06409c89ee519d8139b52158c8c907dc336beca
CRs-Fixed: 2467182
Wiphy updates band in insmod time. When wiphy is
registered, updating wiphy band a second
time sets chan_flags of wiphy to all zeros. That
results wrong wiphy chan_flags in
hdd_send_wiphy_regd_sync_event.
Add wiphy registered judgement in
wlan_hdd_update_wiphy_supported_band.
Change-Id: Iac094eea5ac2abcf068de7a35f00bdbf892e55a4
CRs-Fixed: 2452965
Set BSSID state as disconnected when roaming is successful
so that blacklist manager can clear the AP info if the
nud failure did not come for blacklist reset time value.
Change-Id: Ie602c02d7a43b46daa7f1b1f85cd98628da91280
CRs-Fixed: 2467319
In ol_tx_download_done_hl_free() when 'status != A_OK',
tx_desc and netbuf are freed in ol_tx_download_done_base() irrespective
of the reference count to tx_desc.
Hence return after ol_tx_download_done_base() if 'status != A_OK'.
Change-Id: I2e55d178abc0c2cf30d0f474962f4c06e5c8e327
CRs-Fixed: 2442568
eCsrAuthType is the enum of AKMs to be used during connection.
So the name eCsrAuthType is misleading as akm and auth algo are
different.
Also the Linux Coding Style doesn't allow mixed-case names and
so-called Hungarian notation, so rename the enum eCsrAuthType to
be compliant.
Change-Id: I35e18d1f84babd0ef2928ae9d7258028d4c9b3c5
CRs-Fixed: 2463813
For vendor command QCA_NL80211_VENDOR_SUBCMD_ROAM with sub command
QCA_WLAN_VENDOR_ATTR_ROAM_SUBCMD_SSID_WHITE_LIST, NULL SSID with
NULL terminal can be accepted since it only requires non-zero
buffer len. Should only accept buffer len greater than 1.
Change-Id: I87144d4bf169e637756a4715c7a596c32f49dc36
CRs-Fixed: 2454035
Use new API pld_smmu_get_domain in place of
pld_smmu_get_mapping, which is to be deprecated.
Change-Id: I7a083cd3c0deecdbf774b57121866cd72fc157dc
Crs-Fixed: 2464850
The Linux Coding Style doesn't allow mixed-case names and
so-called Hungarian notation, so rename the pMsgBuf to be
compliant.
Change-Id: Ia28e9e8ce69c7fbb6853278ccdb12e722ec24e06
CRs-Fixed: 2463442
Ini parameters gAllowMCCGODiffBI, gEnableMCCMode,
gEnableMacAddrSpoof are getting used before parsing the ini
conf file which is resulting in invalid parameter values.
Based on these invalid values wiphy parameters are getting
updated resulting in invalid wiphy configuration.
To resolve this issue, update these wiphy parameters after
ini conf file is parsed.
CRs-Fixed: 2457077
Change-Id: I20c14e7caeb0c0ad27ede5452e7d055ec2500026
The Linux Coding Style doesn't allow mixed-case names and
so-called camelcase notation, so rename the statusCode to be
compliant with the coding style.
Change-Id: I98e0af710401a9718bdc1402617253eb970c5861
CRs-Fixed: 2463825
The Linux Coding Style doesn't allow mixed-case names and
so-called Hungarian notation, so rename the identifier pBssDesc
to be compliant.
Change-Id: I0980de75bbaaeb1eee9321621da1f3ff90e09188
CRs-Fixed: 2463446
Currently in the driver, the max rates that are being sent to the
userspace do not take into account the value of the ini
enable_vht20_mcs9. This ini state that the connection doesn't support
MCS9 rates for vht20. As this is not taken into account, the rates
being sent are incorrect.
Add a check inside hdd_report_max_rate to check the value of the ini
before filling up the max MCS index.
Change-Id: I39742b7cc6a18c3d7693a6efef05987ec0e80cec
CRs-Fixed: 2453759
In send sta authorized event api, there is a possibility
of use of uninitialized use of structure variable mask
which may result in an invalid value of the mask.
To avoid uninitialized use of the structure variable,
mem set structure variable to zero before using it.
Change-Id: I2c8bbac949b55fd18928c5dca8744147b0a45415
CRs-Fixed: 2423878
Validate the CSR session before accessing it as the session can be
NULL for invalid session id.
Change-Id: I090d75a44bb9e78cbf7f10ac08ccad9f664e6e06
CRs-Fixed: 2462598
Currently in case of CSA announcement with channel switch mode 1,
host wraps "switch wrapper IEs" of the current operating channel
for target channel. This is not expected. Driver should send
fills information about target channel in the channel switch
wrapper IEs.
Fix is to fill IE in host and ignore the IE from hostapd.
Change-Id: Ie2447fa7affdf8211a46877e0d8b0e41796f0cc3
CRs-Fixed: 2444679
In the memory allocated for del_sta_params, set_link_params and
del_bss_params is not freed if the malloc for add_sta_params
fails. This causes memory leak in wma_roam_update_vdev.
Also in wma_extscan_operations_event_handler, oprn_ind is not
freed in case of failure.
Free the memory allocated for del_sta_params, set_link_params,
del_bss_params, oprn_ind during every return.
Change-Id: I727cc734943a2abcc2cfeca3285af13eb68cfe44
CRs-Fixed: 2464098
Currently in these APIs, driver has a potential mem leak if
the code deviates from the success path:-
1. sme_ap_disable_intra_bss_fwd, param pSapDisableIntraFwd
was not freed in case of mutex acquire gets fail.
2. sme_set_wisa_params, param cds_msg_wisa_params was not freed
in case of mutex cquire fail, and in case of msg failed to
post to scheduler.
3. sme_update_sta_inactivity_timeout, param inactivity_time was
not freed in any case, and has to be freed after use.
4. wma_del_tdls_sta, param peerStateParams needs to be freed
in every failure case, in which the driver sends a del rsp in
error case.
Change-Id: Ibb6061dc399c0f408e7469e91d8084c82786a561
CRs-Fixed: 2466435
Free Dynamic allocated memory in following scenarios:
1. In __lim_ext_scan_forward_bcn_probe_rsp()
Free dynamic allocated memory for result in failure case
2. In sme_oem_data_req()
Free dynamic allocated memory for oem_data_req in failure case.
3. In sme_notify_ht2040_mode()
Free dynamic allocated memory for pHtOpMode in default case.
4. In sme_send_rate_update_ind()
Free dynamic allocated memory for rate_upd if mutex acquire
fails.
5. In sme_txpower_limit()
Free dynamic allocated memory tx_power_limit rate_upd if mutex
acquire fails.
Change-Id: I5deccb5ac10f69ad00ea860f43c821ee7e90c71e
CRs-Fixed: 2465786
When MAC address is changed dynamically and dump station
command is invoked driver is not giving the updated MAC
address as the output of the command.
To address this issue give the correct MAC address from
net device.
Change-Id: I4effb1fe4d52f35c0df7beb7884e7943215d73f8
CRs-fixed: 2463418
As a SAP, there are two paths to deauthenticate peer STA as:
1. Deauth issued from south bound interface (peer sending deauth etc)
2. Used issued deauth from upper layer (via hostapd_cli)
We have a race condition when deauth comes for the same peer from both
the ways resulting into process one after another.
This is happening since no check is being done at north bound interface
before issuing deauth request to SME.
Adding a check validate if deauth already in-progress for the mentioned
peer before issuing deauth req.
Change-Id: I2050cf5558dbdf6d656694c39e9f1e461e17bf01
CRs-Fixed: 2459967
Failed to set the RRM scan dwelltime below 40ms.
Modified RRM scan request API to accept active dwelltime
below 40ms and 110ms for passive scan.
Change-Id: I0a1030c6c719950c08db0bc164623556b187fe9d
CRs-Fixed: 2454281
Add qtime & host_time in __hdd_wlan_tsf_show, so that "cat tsf" will
print out qtime and host_time at the instant.
Change-Id: I4da440f92b7415440f9064a49777c3c3680ac1b1
CRs-Fixed: 2461503
The MCL qcmbr ioctl process has duplicated copy_from/to_user actions,
to make sure MCL and WIN qcmbr command processing converge, remove
the redundant copy_from/to_user in wlan_hdd_ftm.c.
This change also fixs FTM test fail issue.
Change-Id: Ie740c3dd1774f5a2bf8f928814d58fb310a7a76d
CRs-Fixed: 2436024
Add NULL validaiton check for WMA global context
to avoid possible NULL pointer dereference.
Change-Id: I1cf0bcf574d397eb712ca0e1c39dcf848b9c5328
CRs-Fixed: 2423998
In LFR2 scenario, STA roams to IOT AP with which max nss
capability is advertised because ini configured vendor OUI
and data for max nss is found in AP's beacons or probe
responses. On receiving association response with reduced
nss, nss is not updated as part of add_sta. This is resulting
in incorrect nss to be sent in peer_assoc command.
Fix is to update MCS set so that appropriate nss is sent in
peer_assoc command.
Change-Id: Id137a09f24063c8260c21eda6cd74cbb571b9129
CRs-Fixed: 2464318
In some cases i.e. after successful roaming, NUD FAILURE is
triggered due to no ARP REQ packets are sent out by netdev.
Currently, we do not have any information to verify if ARP
packets are not sent because netdev queues are paused or not.
Retrieve the netdev queues status in case of NUD FAILURE to
verify if TX is stopped due to paused queue.
Change-Id: I324afdc349cf6b028471a21ed89bc702f99e5f99
CRs-Fixed: 2441513
Currently with the support of Blacklist manager
component, all the blacklist, avoid list, RSSI-REJECT
list is maintained by the BLM, hence the filter logic
of the blacklist APs in the scan component is not
required.
Cleanup the blacklist BSSID APIs, and related functionality.
Change-Id: I4c8283d2c5e4ca66c24a25d31a74026510bb452c
CRs-Fixed: 2464188
Wait for LFR 2.0 based Roaming sequence to complete before
processing disconnect command from cfg80211.
Change-Id: Ib596aa56ccc322f5ba87b46685bbc299793c9d5b
CRs-Fixed: 2464112
As part of start_ap or connect_start to teardown active tdls peers
hdd_notify_teardown_tdls_links is called with argument vdev. But
TDLS might not be enabled on that vdev. With recent changes,
osif_priv object is initialized as part of tdls_vdev_init.
For the new interface if TDLS is not initialized then osif_priv
object will not be found and TDLS peers are not removed.
Change-Id: Idcf690bba2766664700a4851d390ee620f2fe73a
CRs-Fixed: 2460108
Currently the driver does not populate the score config
param for 5ghz connection, hence the nss for STA in 5ghz
connection becomes zero by default, and thus results in
a lower score for that BSSID, which should not be the
case.
Fix is to populate the vdev nss 5ghz for STA score config,
which would result in correct nss param.
Change-Id: I5276446caeaf9e68e2e422c403cfd05e68b58545
CRs-Fixed: 2463288
Add support for roaming in case the driver
detects a nud failure. The STA then would roam
to another BSSID, else if the roaming gets failed
the STA would remain connected to the same BSSID
as connected before.
Change-Id: Idbc99b0ce2f9cacd97564dd8cf9892120958eda2
CRs-Fixed: 2461675
Link BLM exposed APIs to the following:-
1. csr_get_scan_result:- Link this API with filter bssids in
the reject ap list maintained by the blacklist mgr.
2. lim_assoc_rej_add_to_rssi_based_reject_list:- Link this API
with the the blacklist mgr add bssid to reject list to add the
OCE and BTM related assoc rejects.
3. Userspace avoid list parsing logic for the userspace to set
the BSSID as avoided.
Change-Id: Id51ffb80cea3f845fefe14db25d0f7acda6ea0f3
CRs-Fixed: 2461281
In sme_handle_bcn_recv_start, 'mac_ctx->roam.roamSession' is not
validated for null before being passed to CSR_IS_SESSION_VALID where
dereference can occur.
Validate mac_ctx->roam.roamSession against null before passing it to
CSR_IS_SESSION_VALID.
Change-Id: I48638a320f29a906a6e8a35c000191265313b734
CRs-Fixed: 2462682
PMKR0 buffer's length is currently 32 bytes in struct
pe_fils_session, which is incapable of storing the
value of Q when SHA384 is used for authentication.
Enlarge the PMKR0 buffer to 48 bytes in case SHA384
is used.
Change-Id: Ib935a4dfc6fc415453d3c3b9cf458cc3b0f4f0a2
CRs-Fixed: 2462643
CSR is populating TX SSID in NonTx to NonTx
BSSID roaming scenario.
SSID is populated from the TX beacon instead
of the generated NonTX beacon. MOdified code
to populate the IE's from NonTX beacon.
Change-Id: Ib02f320ba0e6622ad79a1bd2429ad5f61e53b71b
CRs-Fixed: 2462018
When BTM config is disabled in the supplicant, the BSS
transition bit (19) of the extended capabilities will be
disabled. If BTM offload is enabled, currently driver still
advertises that the BSS transition bit(19) as disabled. This
results in AP disabling 11v for this STA.
Advertise the BSS transition bit (19) as enabled in the extended
capabilities if btm_offload ini bit 1 is enabled.
Change-Id: I7c1977294a2e166321951ee0ec31f18929c42176
CRs-Fixed: 2455919
Function mlme_get_dynamic_oce_flags can return the NULL value.
Avoid and check for NULL pointer in the callers.
Change-Id: Idc83a9e5dea812a73fed24de3aa2c2c49436f7d1
CRs-Fixed: 2462716
In case of STA+STA to configure 11k for second STA without
assertion, the driver should de-config 11k for currently
enabled STA. Currently, driver de-configures 11k but not updates
corresponding vdev id results vdev id for which roam disable and
11k disable sent to fw could be different. This leads to assert
in fw.
Fix is to update corresponding vdev id also for which driver
de-configures 11k.
Change-Id: I841a0561124cf110096f5326f2d9ba191518d3f2
CRs-Fixed: 2460097
The Linux Coding Style doesn't allow mixed-case names so rename
pePersona to opmode in struct pe_session to be in compliance.
Change-Id: I3434bdba5300fb89c7e78cd16dacfd151ba7c00b
CRs-Fixed: 2459760
Few IOT APs advertise reduced NSS capabilities on ending
up in bad state. These APs can later recover to support
the actual NSS capabilities. In this scenario, when STA
initiates connection to these APs, which are in bad state,
reduced NSS capabilities is advertised. STA cannot later
upgrade NSS capabilities to the minimum of STA max NSS
capability and APs actual NSS capability, once AP recovers.
Fix is to advertise max NSS capability during connection
with these IOT APs based on vendor OUIs and downgrade if
AP still advertises reduced NSS capability in association
response.
Change-Id: I49ea13534b1a44fd9ffadd1e8fb44e9d782147c4
CRs-Fixed: 2453938
Provide platform driver interface for idle restart/shutdown for
PCIe bus in PLD. Remove PCIe power off call for discrete PCIe bus
enabled SoC such that platform driver can execute proper SoC power
off sequence.
Change-Id: If08186247e89a4182cadbf83817dce4f02654ecc
CRs-Fixed: 2431419
The current default value for gActionOUISwitchTo11nMode ini
leads to forcing 11n connection with vendor APs which don't
require the WAR.
Fix is to update the default value of the ini to restrict
the WAR to appropriate vendor AP.
Change-Id: Ia148da288ee16a62a8b32e54b1801bb9d19031e2
CRs-Fixed: 2461414
In csr_roam_joined_state_msg_processor, roam_info->tx_stbc is
assigned twice because of a typo.
Assign roam_info->rx_stbc as the value of
pUpperLayerAssocCnf->rx_stbc.
Change-Id: Ic90f6b486a50dcc3aca8cb7171a137a34319914d
CRs-Fixed: 2460716
Abstract the callback hdd_softap_ipa_start_xmit by
hdd_softap_ipa_start_xmit, to match the return type of
wlan_ipa_softap_xmit pointer, to fix a CFI failure.
Change-Id: If1cb1a80801558d5c7831ec89ad5281b0bbe36f3
The request_firmware() will take too long time(60s) when the
requested fw file do not exist. Replace this API with
request_firmware_direct.
Change-Id: Ie40db69a24dc1e0b86f140ca1aad91bd3b10e95e
CRs-Fixed: 2435125
A VHT beamformee shall indicate the maximum number of space-time
streams it can receive in a VHT NDP in the Beamformee STS
Capability subfield of the VHT Capabilities Information field of
the VHT Capabilities element. The SAP is advertising STS value
as 8 in both 2G and 5G band. This may cause IOT issues.
Fix the default value of beamformee STS capability value as
default value 3 for SAP.
Change-Id: I026eabeea941a33f1ffab6e498e6de90e182320e
CRs-Fixed: 2448390
The linux coding style forbids use of typedef unless clearly
some rules are met. The tSirBssDescription doesn't match any of
those criteria, so replace it with underlying structure
bss_description.
Change-Id: I36ad517325117cf04d499c7c472ca6ef5921a85d
CRs-Fixed: 2459769
The Linux Coding Style doesn't allow mixed-case names so rename
bssIdx in struct pe_session to be in compliance.
Change-Id: Idf2df6cb4ca30e4fdae74b8fb39445bb878003c5
CRs-Fixed: 2459768
The Linux Coding Style doesn't allow mixed-case names so rename
eSirBssType in struct pe_session to be in compliance.
Change-Id: Iafe6649a130c77064180c67fb1385d2d7a763370
CRs-Fixed: 2459767
The Linux Coding Style enumerates a few special cases where
typedefs are useful, but stresses "NEVER EVER use a typedef
unless you can clearly match one of those rules." The
tSirMacStatusCodes typedef does not meet any of those criteria,
so replace it properly named enum.
Change-Id: I4712acc4898a60ce78e7a6e71d2e91f5b1929c97
CRs-Fixed: 2459765
In hdd_vdev_destroy, if policy_mgr_check_and_stop_opportunistic_timer
decides to move to single mac mode and while sending the HW mode change
the target goes down, this leads to timeout of the HW mode change req in
WMA layer which is 2 sec and in serialization its 4 sec, but
policy_mgr_check_and_stop_opportunistic_timer timeout in 1 sec and proceed
to sme_close_session and wait for it to complete.
sme_close_session queue WLAN_SER_CMD_DEL_STA_SESSION to serialization but
it remains in pending queue, behind HW mode change req.
Now due to SSR the wait event for sme_close_session is set and thus
hdd_vdev_destroy logically deletes the vdev.
Now on WMA timeout the HW mode change try to remove the request from
serialization which it fails to remove as it fails to get ref for vdev
with vdev being logically deleted.
Thus WLAN_SER_CMD_DEL_STA_SESSION is not processed and is flushed in
hdd_wlan_shutdown.
Thus as SSR WLAN_SER_CMD_DEL_STA_SESSION is flushed from serialization
queue, the wma_vdev_detach() is not called for that vdev and thus the
peer attached to the vdev are not deleted and wma vdev ref is also not
released, this lead vdev/peer ref leak.
To fix this update the wait timeout in
policy_mgr_check_and_stop_opportunistic_timer with proper value higher
than the serialization timeout for the HW mode change request. ALso
set the wait event in policy_mgr_pdev_set_hw_mode_cb in failure cases
as well to avoid timeout in case of hw mode change failures.
Also release pending peer and vdef refs in wma_wmi_service_close.
Change-Id: I5ddf8263b0dbf889be506332a67f5e18c1bfb111
CRs-Fixed: 2458034
Implement the interface to transfer the info between
host driver and firmware about the ap which has interop
issues with the DUT. It is detected by firmware and
forwarded to user sapce for persistent storage. And
user space configs these APs to firmware when the DUT
starts up next time.
CRs-Fixed: 2425202
Change-Id: I2e828d521f0e04862a01fa1c90626f51b7f65796
When FILS authentication is performed, the key confirmation is
performed as part of the FILS exchange using association frames.
Hence, no additional 4-way handshake is necessary. But still the
host driver sets the WMI_PEER_NEED_PTK_4_WAY flag as part of
peer_assoc command. So firmware expects setting key command after
4-Way handshake is completed. But host sends the set key command
before M4 in this case, which results in firmware assert.
Don't set WMI_PEER_NEED_PTK_4_WAY for FILS connection.
Change-Id: I13451bd7592d5836c16cd648235f691b11aafb15
CRs-Fixed: 2458097