Add the following WMM AC VO ini configs to MLME cfg:
1. CFG_QOS_WMM_INFRA_DIR_AC_VO_NAME
2. CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VO_NAME
3. CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VO_NAME
4. CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VO_NAME
5. CFG_QOS_WMM_INFRA_SBA_AC_VO_NAME
6. CFG_QOS_WMM_INFRA_UAPSD_VO_SRV_INTV_NAME
7. CFG_QOS_WMM_INFRA_UAPSD_VO_SUS_INTV_NAME
Introduce the basic infra APIs related to these configs
from mlme.
Change-Id: I402ff46aad528d7c4bbaa794b6fba498439f8e97
CRs-Fixed: 2327048
Add the basic infra for MLME CFG items and the APIs to be used from
other components for VHT - Part-1.
Change-Id: Ie74bfd42ed3d34cc218f20ee3f9d81dc6af02172
CRs-Fixed: 2322300
Driver unload called as part of "rmmod" which reports bug_on
in hdd_bus_bandwidth_deinit as bus_bw timer still running.
Bus_bw timer is not stopped when rmmod is issued if SAP is
enabled and any STA is connected to SAP.
Stop the bus_bw timer during unload for eSAP_STOP_BSS_EVENT
Change-Id: I0ed8309f25b85ebf8ca1e115cbd7aa1c931571ff
CRs-Fixed: 2323641
Rate limit error log in nan and ndp request handler to avoid
excessive console logging.
Change-Id: I9e9bb7185a77533b03e8a17d64c17371770b9b52
CRs-Fixed: 2326275
Presently the ini gReportMaxLinkSpeed has the default value as 2 that
gives the scaled rate to the userspace instead of actual rate. As the
userspace needs the actual rates, this causes a mismatch.
Configure the value of gReportMaxLinkSpeed to 0 so as to send the actual
rates to the userspace.
Change-Id: Ieaa828d1aabaf099c74a9d5093f5d6fab5da01b5
CRs-Fixed: 2317661
When BMPS is already enabled and we have entered the WOW mode,
we start detecting the AP behavior , where the AP
continuously sets the TIM bit and because of which we don’t go
to PM1 mode after waking UP.
With the current ini value, we don't go to sleep for 30 secs,
which should be updated to 90secs.
Change-Id: I3b551011e90761f1dc13197a4795972f495853a6
CRs-Fixed: 2306266
Since refined PMO configures based on converged cfg component, apply
PMO configurations, remove related legacy codes.
Change-Id: I2cdf18c1000d8cc923c80c00bf530b2b0c60563e
CRs-Fixed: 2322185
Resume wlan threads during wlan shutdown process before adapter reset
because adapter reset triggers vdev destroy and vdev destroy sends
del sta self message to lower layers and in absence of wlan threads
this message will not be processed leading to timeout and vdev peer
object leak. Hence add fix to make sure wlan threads are resumed
before resetting adapters during wlan shutdown process.
Change-Id: Idc31b7e41e5d9734b5f6b96fba24948dbfb45c3d
CRs-Fixed: 2321503
QOS action frame is not handled and thus HDD's dscp mapping
are not updated.
Update the HDD's dscp mapping properly once hdd receive
QOS action frame.
Change-Id: I04ba9882767918cfb0c551791783f2b7eac998d5
CRs-Fixed: 2325729
When peer creation fails in wma_create_peer, vdev delete is sent
to the fw and then eWNI_SME_ADD_STA_SELF_RSP is sent to sme.
Here three error cases needs to be handled:
1. The vdev deletion has happened, but the cdp_detach_peer is
not done. So the data path peer remains. Also the vdev_active
flag that was set after vdev creation was not unset.
2. The eWNI_SME_ADD_STA_SELF_RSP msg handler
csr_process_add_sta_session_rsp invokes csr_roam_session_opened
which signals HDD that vdev is created successfully and hdd
calls hdd_vdev_ready and vdev related parameter set commands are
sent to FW for the deleted vdev.
3. Vdev delete is not sent for objmgr peer creation failure in
case of VDEV_TYPE_STA and release vdev object ref count.
Add cdp_vdev_detach() calls during error case and set the
vdev_active flag to false. Handle releasing vdev object ref
count in all needed error case flows.
Propagate the error in wma_vdev_attach() through
csr_roam_session_opened() to HDD and abort the vdev create.
Change-Id: Iec97122d011098fae7ae2a59864fbe8ca8a0980e
CRs-Fixed: 2322212
wlan_hdd_chan_info_cb is using info log level to log debug
message and its leading to excessive console logging since
info logs are logged on console. Reduce the log level to
avoid excessive console logging.
Change-Id: I79f67aec5c223126a0de74965336048dc7d4a547
CRs-Fixed: 2323586
When wma_create_peer is called, driver checks for
cds_is_target_ready and the macro CDS_DRIVER_STATE_FW_READY is
unset during the wlan_hdd_pld_uevent. This results in race
condition where the wma_peer_create fails due to
cds_is_target_ready() failure and wma_vdev_delete is sent from
wma_vdev_attach. In wmi_stopinprogress is set when firmware is
down. But this is set only after a small delay and the vdev
commands reach the fw, which results in a race condition.
Remove the cds_is_target_ready() call from wma_create_peer.
Place the call to wma_wmi_stop() to set the wmi_stopinprogress
flag immediately after the wlan_hdd_pld_uevent is received.
Change-Id: Iea53931771afd93ffaeabf704bbaffcf2460284f
CRs-Fixed: 2320538
Regulatory data can change without notice due to various conditions in the
WLAN sub-system. Therefore, to protect integrity of regulatory data,
always use a copy of the data.
Change-Id: If2c5c45c421e7a88285d72ea94d9ad172d22fb7e
CRs-Fixed: 2321516
Currently when the supplicant sends a connect with bssid_hint and
prev_bssid, driver issues a roam_invoke (fast reassoc) command to the
FW. However, when this connect is received in the supplicant context
and if the driver is currently processing a disassoc/deauth from the
AP in the mc thread, then the CSR roam connection state would not be
associated but the HDD STA context connection state would still be
associated. In this scenario, since the disconnection is in progress
and VDEV Down might already be sent to the FW, the roam_invoke command
is ignored and FW does not send any response. However the driver
assumes that roaming is in progress and blocks all incoming scan/
connect requests from supplicant leading to a state where no further
connections can go through.
In hdd_reassoc, check the CSR Connection state also to check if
the current state is associated and then issue roam_invoke to FW.
Change-Id: I321e99b060d6ce22517a3dd604b0f4d08dd5918d
CRs-Fixed: 2319641
HDD bus bandwidth handler runs every 100ms and enter, exit logs
at every 100 ms is over flowing driver log buffer hence remove
hdd_enter and hdd_exit logs from __hdd_bus_bw_work_handler.
Change-Id: Ia3a3163eebf442af7371bb0bcd09bccff1f199d9
CRs-Fixed: 2323286
HDD config params are getting used before creating and storing psoc
in hdd context which may cause NULL pointer dereference of psoc.
To mitigate this create psoc and parse cfg ini params just after
cfg_parse() in hdd_context_create().
Change-Id: Ida2b81eef0ebbfba2749ca89b63980201830a5e2
CRs-Fixed: 2321959
wlan_crypto_set_vdev_param() used in hdd_populate_crypto_auth_type(),
hdd_populate_crypto_akm_type() and hdd_populate_crypto_cipher_type()
is not defined when CONFIG_CRYPTO_COMPONENT is disabled
Change-Id: I5bccf391886d4db48a79ba67b903180ea626ad37
CRs-Fixed: 2321455
If the interface down is issued during the SSR the driver simply
rejects the interface down and silently initializes during the
reinitialization. This can result in resource leakages and also
results in upper layer and driver out-of-sync.
Hence mark the adapter that interface went down during ssr and
cleanup the same during the end of reinitialization so we can
cleanup all the resources.
Change-Id: I426eff3be09abdbafeaf7501df551ea7c49a0f47
CRs-Fixed: 2256433
When zero mac address is configured on nvram, the
hdd_open_adapter accepts the value and passes this zero mac to
csr_session_open where the self mac address is stored as zero
value mac and peer creation is done with the same. When peer
delete is sent to firmware with this mac, firmware asserts.
Add check to validate mac address value is not zero.
Change-Id: I077c29c98ef4e1b11e4c587224acd4405629fa83
CRs-Fixed: 2310499
The name 'hdd_psoc' is misleading, since it is not actually an HDD psoc
context. Rather, it is the Object Manager psoc context. Rename hdd_psoc
to psoc for consistency, and to make room for HDD to have its own psoc
context.
After I1aa67d0554400ed552dc488805ba3421531a26c3, replace the
remaining instances of hdd_psoc and finally remove hdd_psoc from
hdd_context.
Change-Id: If9a4941e18a75563f9ab978bd4b38bd1145e4ada
CRs-Fixed: 2312429
The name 'hdd_psoc' is misleading, since it is not actually an HDD psoc
context. Rather, it is the Object Manager psoc context. Rename hdd_psoc
to psoc for consistency, and to make room for HDD to have its own psoc
context.
After the introduction of hdd_context.psoc in
I9971c478c0d1dc111bb20a7cd6614f73ffb0b15d, replace more instances of
hdd_psoc with psoc.
Change-Id: I1aa67d0554400ed552dc488805ba3421531a26c3
CRs-Fixed: 2315992
Presently, in VHT case also, the HT MCS rate flag is being set when the
SGI is enabled. This is causing the kernel to misinterpret the rates.
Instead of getting the VHT rates, the kernel is enabling the HT rates.
This issue is not present in kernel 4.9 as the preference was given to
VHT rates. For kernel 4.14, the preference is given to HT rates thus
highlighting the problem.
To solve this issue, do not set the RATE_INFO_FLAGS_MCS for SGI enabled.
Change-Id: Icce5b661c3fee21fa4522f06ff54827238e0d255
CRs-Fixed: 2317669
Currently, in __wlan_hdd_cfg80211_dump_survey(), ETSI13 SRD channels
169 and 173 are not considered for filling channel survey info.
To fix this, consider ETSI13 SRD channels when WLAN_FEATURE_DSRC
is not defined.
Change-Id: I71307d58548304df6c1dcfa377dfe677a15db89f
CRs-Fixed: 2319454
Add CFG items of RTT and PMF as generic items based
on converged cfg component.
Change-Id: Ic95d1e7b052259149704d9faf65ebe5f51536fdf
CRs-Fixed: 2313281
Reorganize the SoC-level PLD callback handlers for improved consistency
and clarity. This includes the following changes:
* Remove wlan_hdd_probe()
* Rename wlan_hdd_remove() to hdd_soc_remove()
* Rename hdd_soc_reinit() to hdd_soc_recovery_reinit()
* Rename wlan_hdd_shutdown() to hdd_soc_recovery_shutdown()
* Add documentation to probe, remove, shutdown, and reinit handlers
* Avoid irq disable if load/unload in progress (in shutdown)
Change-Id: I8212f1cbbeac8cc431e3008097f62196911efdeb
CRs-Fixed: 2320582
Remove the legacy macro definitions that are related to the
mlme cfg.
Move them to wlan_mlme_public_struct.h
Change-Id: I64f474512463d3ba7ac238b2efd0f4cf2e36999b
CRs-Fixed: 2317750
Currently, driver don't fully support MULTI_IF_NAME when two wlan
cards are supported by using two drivers:
1. if two wlan cards are all PCIe, driver can't distinguish
two PCIe cards firmware path.
2. When create hdd sysfs file upper folder, it will repeatly create the
same folder if not use MULTI_IF_NAME to distinguish them. It's not
necessary to distinguish the sub-folder once upper folder is different.
Change-Id: I511de46eec98e736d4e97d5c94ab22592d33f347
CRs-Fixed: 2311137
When TX queues stopped by flow control right before SSR, corresponding
TX complete event used to clear the pause_map bit never come.
Flow control should reset its state during SSR, so clear this bit.
Change-Id: I462de1e20c9e2fc40476fc6b2d999c10e6396d8c
CRs-Fixed: 2274955
QDF is effectively the driver's library for base primitives and data
structures, especially logging. As such, we want to initialize it as
early as possible in the driver loading process such that various
components can leverage this library code as much as possible. To this
end, move QDF init functionality into HDD from CDS, and invoke it first
thing in hdd_driver_load().
Change-Id: I769126ec293f741dced50c0dccc2f49e600aea43
CRs-Fixed: 2317861
The PLD data structures initialized in pld_init() are not used before
PLD registration, and do not need to be the very first thing initialized
in the driver. Move the call to pld_init() to immediately before these
data structures are used for the first time in the PLD registration
process.
Change-Id: I5bee6b03eddfd749758f48a82f5c7f0a870b1504
CRs-Fixed: 2317859
Currently during SSR IPA events such as AP DISCONNECT/
STA DISCONNECT are not sent and also wlan ipa interafces
are not deregistered. After SSR when host sends AP CONNECT/
STA CONNECT and register interafce IPACM will reject as for
previous events before SSR there are no disconnect events.
This leads to data come via exception path instead taking
IPA HW route as interface headers are not registered.
In this fix send IPA UC disconnect events and deregister
interafces during SSR.
Change-Id: I6e617261ec53b7d572023613d212eae057b13b03
CRs-Fixed: 2315828
Implement the usage of MLME CFG infra for BSS Scoring related INI Items
and remove the older INI definitions from HDD.
Change-Id: I0db69138f0439131916a38176b5b21b706ff3671
CRs-Fixed: 2318320