Modify the set hardware mode command sequence during channel switch
in the case of SAP/P2P-GO and STA/P2P-CLI as per the latest FW
requirements. This is primarily to accommodate the time take for
calibration during hardware mode change which could lead to
momentary data stalls.
The new sequence is as follows:
1. Send (E)CSA
2. Do vdev restart/vdev up
3. For DBS downgrade:
a. PM will initiate HW mode change to DBS right away
4. For single MAC upgrade:
a. Opportunistic timer is started, PM will check if MCC
upgrade can be done on timer expiry
The old sequence is as follows:
For MCC upgrade:
1. Send (E)CSA
2. Opportunistic timer is started
3. vdev restart is initiated on the new channel
4. PM will check if MCC upgrade can be done on timer expiry
For single mac upgrade:
1. Send (E)CSA
2. PM will initiate HW mode change to DBS right away
3. vdev restart is initiated on the new channel
Change-Id: I4bce2ee176cae43b6a46c47216ed7ab47a82a54c
CRs-Fixed: 1006992
Replace the obsolete WMI command WMI_SOC_SET_HW_MODE_CMDID with
WMI_PDEV_SET_HW_MODE_CMDID and event WMI_SOC_SET_HW_MODE_RESP_EVENTID
with WMI_PDEV_SET_HW_MODE_RESP_EVENTID respectively. These new WMI
commands and events additionally carry the pdev id and all mac id
references are replaced with pdev id.
Change-Id: If2a3f93dcd1947eedce8d4eac8ed936166f7e078
CRs-Fixed: 989502
qcacld-2.0 to qcacld-3.0 propagation
Add configuration of gpio pin used for TSF. FW shall toggle
this gpio when receive capture/get tsf cmd.
Change-Id: I442f2de3af4f3946a20bf3f4a9d8c9b285aa7a7c
CRs-Fixed: 817527
qcacld-2.0 to qcacld-3.0 propagation
Get tsf from fw. Provide ioctl interface cap_tsf/get_tsf.
Driver issue wmi cmd to fw to realize capture/get.
It can be used in station and softap mode. For sta, getting
tsf from connected ap. For softap, it will generate tsf by-
self
Change-Id: I00d30882bce2f49ee3de3fa189e094c04c0d9943
CRs-Fixed: 817527
qcacld-2.0 to qcacld-3.0 propagation
Peer supported NSS should be updated based on the presence of HT
and VHT capabilities in the beacon/probe response IE from the AP.
Also, update session supported NSS during reassociation. Otherwise,
station will end up sending SMPS action frames to AP which only
supports 1x1 mode.
CRs-Fixed: 979545
Change-Id: Ie2dbfbb577f08c5090101e1330184e72a9f6cd46
Remove WLAN_FEATURE_NEIGHBOR_ROAMING which is not defined
in the build file.
Also fix the regression that has been introduced by the
change I857f9c16eb73a4b0f72e0a622be47ab756fb70f4.
CRs-Fixed: 1003135
Change-Id: I741fd3cf69a05c346e1bc11498f93e928e5c1244
Replace the obsolete WMI command WMI_SOC_SET_PCL_CMDID with
WMI_PDEV_SET_PCL_CMDID. WMI_PDEV_SET_PCL_CMDID carries the weightage
for all the channels (preferred and non-preferred) in the same order
and length as that of the command WMI_SCAN_CHAN_LIST_CMDID. This is
in contrast to the command WMI_SOC_SET_PCL_CMDID which carries only
the preferred channel list.
Change-Id: I040f4307491d3242d2e9409dbbe8005c4b307bf5
CRs-Fixed: 989502
Propagation from qcacld-2.0 to qcacld-3.0
Pass mac address received from target in IBSS peer info event to
user space. In addition remove pronto specific rate conversion
logic as ROME FW returns data rate in Mbps directly
Change-Id: Id89e9f357831f242c43fc8ce121de18a3180e422
CRs-Fixed: 777960
As soon as the firmware is done with the roaming scan and about to
start hand-off, it will notify the host that the roaming is about
to start using WMI_ROAM_NOTIF_ROAM_START. The host driver will
then notify the upper layers to stop sending the packets and
the host later informs them as part of roam synch propagation
after roaming is done to start sending the packets.
Once the firmware sends the notification and if it fails to roam
for some reason, then it will send another notification
WMI_ROAM_NOTIF_ROAM_ABORT to let the host know the upper layers
to resume sending the packets again.
Introduce an operation code for the CSR roaming callback to determine
what it needs to do when called by the lower layers.
CRs-Fixed: 996949
Change-Id: I674262b95f1781747b34fb675ad179952a8ae4d1
qcacld-2.0 to qcacld-3.0 propagation
Before sending the 11k measurement report, check if there is a
valid scan result or if the measurement is done to send out a
report or cleanup the RRM state machine.
CRs-Fixed: 982133
Change-Id: I3f98450f3d139dd7a7c1548dc80070cf780ada88
qcacld-2.0 to qcacld-3.0 propagation
1) Whenever the beacon request measurement is done, always
send a beacon report despite finding any AP's or not on the
requested channels
2) Send the report always so that it implicitly also cleans up
the RRM context in the LIM and enables to process the
subsequent requests. Otherwise, the cleanup is not done and
RRM processing will be stuck
CRs-Fixed: 982133
Change-Id: I3ce023fbd4aa9d18f8d025a220a5c1d979a555f5
Ensure that the vdev to mac mapping, tx and rx spatial stream
parameters are updated in the connection info table as part of set
hardware mode change response for all the possible scenarios.
Currently these parameters are not getting updated during hidden
ssid and channel switch connection update. Due to this the
connection info table is not reflecting the correct spatial streams
for the above mentioned scenarios, after hw mode change.
Change-Id: I42bbb40a6c99b68aa2038d3e5357580e616c76c9
CRs-Fixed: 996090
qcacld-2.0 to qcacld-3.0 propagation
In case of DFS channels and EBT is disabled, beacons are
forwarded to host in every 50msecs which increase power consumption.
Add the changes to set beacon filter once DUT connect to AP.
CRs-Fixed: 973958
Change-Id: I1a9379eacbd13f8dc7fae08923cd91f087d1b2b2
qcacld-2.0 to qcacld-3.0 propagation
Provide support to configure duty cycle by adding ini item for
different level duty cycle.
CRs-Fixed: 990798
Change-Id: I95e4f4af669fd50c5b9fc10ffc61fa5d447b5bcf
Increase maximum size of oem data request from 280 to 500. This
change set also remove the following unused macros in UMAC
- OEM_DATA_REQ_SIZE
- OEM_DATA_RSP_SIZE
Change-Id: I768da4dd03c2de618c528cb72b86a5df72dd2efe
CRs-Fixed: 997085
qcacld-2.0 to qcacld-3.0 propagation
Currently even if peer AP is in Legacy mode, driver can enable
11g protection, even though there is no 11g AP in vicinity.
As a part of fix, add an INI param which will enable 11g
protection only when there is a 11g AP in vicinity.
Change-Id: Ic76e6070b02f92ef33934a0e5158fa4ef6c3e45b
CRs-Fixed: 897755
qcacld-2.0 to qcacld-3.0 propagation.
Fix incorrect buffer handling in OEM response handlers.
This change set will fix,
1. Add appropriate check on the response length before malloc.
2. Add correct check for malloc failure.
3. Copy correct number of bytes into response buffer.
Change-Id: I621e391b9cdadbf01c98fdbf3ac1979373bb963c
CRs-Fixed: 996236
Remove all the code written to support this feature as this feature
has been obsoleted for all next gen projects.
Change-Id: I469841f719ddb43710724013e4b669560f0a008b
CRs-Fixed: 992930
Remove function csr_neighbor_roam_create_chan_list_from_neighbor_report,
since it is not being used in LFR2 and up code.
Change-Id: I5c54aa0ef2704c5d090e56c6ec65e55639371204
CRs-Fixed: 972906
qcacld-2.0 to qcacld-3.0 propagation
Fix to add NULL check before dereference of pointer
Change-Id: I520aca1fc46cf3fbb30d2f068f6da43a2b2986e6
CRs-Fixed: 965800
Send UAPSD parameters to FW and enable it only if the device is
in power save mode.
Change-Id: I14ecfc8bace7ec15eebe18296355544cdbdf030e
CRs-Fixed: 991119
Enable compile time featurization support for both LFR2.0
and LFR3.0 using WLAN_FEATURE_HOST_ROAM and
WLAN_FEATURE_ROAM_OFFLOAD respectively
CRs-Fixed: 978905
Change-Id: Ib5976cd0cd5a6e117a1334bfc73a043e36e25f77
Move the scanning related code which is pertinent to roaming
into a separate file so that any future maintenace would be
easy across different projects
CRs-Fixed: 978905
Change-Id: Ia8c81726eb843d0a5aa89affa89d84d77994932e
Move the preauthentication related code in the CSR module
into a separate file so that it is easy to maintain
across different projects
CRs-Fixed: 978905
Change-Id: I56e8441f08dec180f080c305ba5c6541302f107c
Create a new function csr_neighbor_roam_state_transition to
transition the roaming state and also log it
CRs-Fixed: 978905
Change-Id: Id50d51fe1fa09dc9984ba83fbc01e8d9c7d00ffa
Remove WLAN_FEATURE_ROAM_SCAN_OFFLOAD compile time flag from the code
since this is relevant to roaming (LFR2.0) and always enabled by default.
The flag also does not seem to cover the feature entirely and it does
not make any meaning to only cover this piece of code.
CRs-Fixed: 978905
Change-Id: Ifa393c2733e87fcb34aba3e4f4cdb5f534196537
Feature WLAN_VOWIFI_DEBUG is not defined. Hence remove it.
Also cleanup the logging.
CRs-Fixed: 960105
Change-Id: I76d83d5d5c93aa7e4669a73c0d3300ed5b727bb1
There are two utility functions to check if the association
is ESE or not. csr_neighbor_roam_is_ese_assoc() and
csr_roam_is_ese_assoc().
Both serves the same purpose, hence remove csr_neighbor_roam_is_ese_assoc()
and use csr_roam_is_ese_assoc().
Change-Id: I857f9c16eb73a4b0f72e0a622be47ab756fb70f4
CRs-Fixed: 950762
At present and going forward ESE and ESE_UPLOAD will be the
de-facto approach supporting ESE. Hence there is no need of two compile macros
FEATURE_WLAN_ESE and FEATURE_WLAN_ESE_UPLOAD.
Instead Remove FEATURE_WLAN_ESE_UPLOAD and Keep only FEATURE_WLAN_ESE.
Change-Id: If1a04e95211a0d639db7b60a57a6d5f215d26f4e
CRs-Fixed: 950762
Data structures defined in cds_regdomain_common.h are similar
to those defined in cds_regdomain.h. Therefore remove the file.
Change-Id: I929b03058e9441e4a652314789cf91dbd94d0329
CRs-Fixed: 961806
qcacld-2.0 to qcacld-3.0 propagation.
If back to back connect and disconnect are issued by supplicant,
disconnect ends up queued at the head of roam/sme pending cmd
queue due to its high priority. Thus sme processes the disconnect
command before the connect command making sme and hdd out of sync.
Now if unload is triggered, with hdd in disconnected state,
disconnect is dropped in hdd. Thus no DEL BSS is sent before
HAL STOP leading to firmware crash.
This change removes the roam connect cmd from roam/sme pending list
when disconnect is issued by supplicant.
Change-Id: I34f192b3d549c6179ddc49bba376dbc007efa2c2
CRs-Fixed: 955178
Send channel switch request instead of performing SAP restart when
doing a MCC to SCC switch. This is controlled using the existing INI
item 'gWlanMccToSccSwitchMode'. The new value of '3' will perform
this channel change by sending (E)/CSA whereas the old value of '2'
can still be used to do a channel change by doing SAP restart
Change-Id: I79e7317219503de0a9957940f3cf7a4e91c7a521
CRs-Fixed: 986202
Enable feature flag FEATURE_WLAN_MCC_TO_SCC_SWITCH in the Kbuild to
make use of the MCC to SCC switch feature. The resulting errors in
compilation are fixed along with some enhancement in the debug logs
in this feature path
Change-Id: I0ddb2f371c28ade6d8fc9ea12ba104a99394827f
CRs-Fixed: 986079
When dynamic antenna selection requests to change the number of
TX/RX chains, the FW chain mask manager will take care of sending
the corresponding SMPS action frames to the AP to put the station
in 1x1 or 2x2 mode. The host driver should only handle setting
the right SMPS mode in the HT capabilities of association
or re-association requests.
CRs-Fixed: 931250
Change-Id: I9bedcc5024a98040f571f730ff084f6fe3e3ad00
If HT SMPS is enabled and if the session supported NSS > 1
then include SMPS IE in the HT capabilities of the association
and the reassociation management frame.Enabling SMPS with an AP
whose capability is only 1x1 will result in association/reassociation
request being rejected or an unexpected behavior. Send SMPS force mode
to FW to trigger SMPS action frame only if SMPS is enabled in the
INI. For dynamic antenna switch, the chain mask manager will send
the SMPS action frames.
CRs-Fixed: 931250
Change-Id: Ifff2ef2c8790994a68e676b8bba2fb03c21370d4
Add support to request for antenna mode to FW to switch from
1x1 to 2x2 and vice versa dynamically and process the response
status of whether the request was sent successfully.
Change-Id: Ie4b0b36981423f9325c48c7ebad445d5cc1f2a21
CRs-Fixed: 931250
Fix potential null pointer access during sap open
session and validation of the session id which could
be reported during static code analysis.
Change-Id: I6146c7223c586df06c08c76abd9e38a3c1ad1c4b
CRs-Fixed: 979960
Currently the SME session is deleted during interface change API and
a new session is not opened until SAP is ready to start. This will
cause crash when scan API is invoked. This fix opens the SME session
after interface type is changed, so that it can be used to scan and
SAP later.
Change-Id: I3c4f8da14dbc70a3102fb1892bb101eb1a90a00d
CRs-fixed: 968572
- Add support for 2.4Ghz HT40 STA.
- Add HT40 OBSS scan start and stop operation.
- Add support for extraction of OBSS scan paramters from beacon
and probe response.
Change-Id: I58e8d72b8ee922f710af0474ed3efd0438fff3a7
CRs-Fixed: 947086
40 mhz channel array is redundant and does not give the
correct channel bonding information. Therefore remove
these channels, bonding array, and its associated usage.
Change-Id: I913fb97cdc913b1a027d21b0df526dfd5cd5902f
CRs-Fixed: 856727
Re-arrange core regulatory code between HDD and CDS
layers. Move the OS dependent code to HDD.
Change-Id: I8ac26a48d0e8d613b2f6c23fd764e5cf94365c39
CRs-Fixed: 856727