WMA bus resume returns un-initialized local variable as status
to hdd bus resume callback which does bug on if status is not 0.
Fix WMA bus resume routine to return proper qdf status
and conver it into linux status before returnign it to HDD.
Change-Id: I8f36c11552412b569ac33afa320fd39fa3fedc50
CRs-Fixed: 1008027
There are few instance where accidently mac address size got set
to some incorrect value.
Supply correct mac address size macro to resolve the issue.
CRs-Fixed: 1007399
Change-Id: I0bdd7ac0c241d1e22b003576c370b0ce2333a0dd
Current driver try allocate memory when number of channel are passed
as zero which will cause memory allocation failure.
As part of the fix, when number of channels comes as zero then driver
shouldn't allocate memory and let the firmware take care of it.
CRs-Fixed: 1007196
Change-Id: I51d8a6decbe4c21265e88624e490446a48ea4857
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
WMA target ready timeout is not large enough for FW response.
Increase WMA target ready timeout value to FW recommended value
of 6 seconds.
Change-Id: I8b05dc79ead4cdae8d1ff44d76b405d6f4df164a
CRs-Fixed: 999277
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
When there is a VHT160 or VHT80+80 connection present disallow
concurrency as no other connection is supported in VHT160/80+80
mode.
Change-Id: I6ec6fe3e7883cef34d141ee78311c1d8a0966208
CRs-Fixed: 996928
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
Fix layering violation while handling management frames. Currently
LIM data structures are accessed before dropping Assoc, Disassoc and
Deauth packets to avoid DoS attacks. Since the LIM data structures
are accessed in different thread context, data present in them are
out of sync resulting in a crash.
Fix the layering violation by doing appropriate check in WMA instead
of doing the same in LIM
Change-Id: I8876a4d4b99948cd9ab3ccec403cf5e4050b1cff
CRs-Fixed: 977773
qcacld-2.0 to qcacld-3.0 propagation.
Fix layering violation in sir_api.h by renaming
enumeration prefixed with LIM.
Change-Id: I8b33fbb6d315c54c8cd483bd89685719e460051a
CRs-Fixed: 995039
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
Add supprot for enhance multicast offload feature such that
FW can filter out multicast IP data packets transmitted using
unicast MAC address.
Change-Id: I78066bec094b7b69ba1c2070d23eabb95853f52d
CRs-Fixed: 993496
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
Add API to CDS to add bonded channel parameters. Given an
operating channel and channel width, the API would verify and
populate the center frequencies.
Change-Id: Ib2c5029cda567308210b028b628d96419e3fd05c
CRs-Fixed: 988355
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
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
Currently channel width has different enum values in
different modules. Move the channel width enum definition
to CDS to maintain single channel width enum value in
the driver
Change-Id: I6a46d0c02546263080a15a3ec7c52486fc51e98e
CRs-Fixed: 983914
- Subsystem restart is not supported in FTM mode
- Do not allow force crash inject command to test SSR in FTM mode
Change-Id: I743aba2082af5537e627b678b159ba9985986e07
CRs-Fixed: 954374
Add kernel documentation for regdomain data structures. Also
rename some of the data structures to better names.
Change-Id: Iae26079ae8a7f06e2670594694ae36c2c2a0a524
CRs-Fixed: 961806
Fix layering violation in wma_get_vht_ch_width by using macros
defined in WMI instead of kernel defined macros.
Use WMI_VHT_CAP_CH_WIDTH_160MHZ and WMI_VHT_CAP_CH_WIDTH_80P80_160MHZ
instead of kernel defined macros.
Change-Id: I7d389c21d8c16fd9528cd06d98f2ec84b84aadf7
CRs-Fixed: 985099
Add support for DFS Master mode NOL channel blacklisting.
In 80+80MHz mode add only the channels to NOL based on the segment
id on which radar has been detected and in 160MHz add all or only
DFS channels skipping the Non-DFS channels, part of the 160MHz bond.
Acked-by: Rakesh Sunki <rsunki@qca.qualcomm.com>
Change-Id: Ie56d14b17997a86e12eacd0ea86cf1742899feb4
CRs-Fixed: 964262
Remove obsolete regdomain data structures. Also remove the obsolete
fields from REG_DOMAIN and REG_DMN_PAIR_MAPPING data structures.
Change-Id: I1ff906571dfadf9cf6a4dc963d8eef62acc5f6b5
CRs-Fixed: 961806
Firmware does not require the sub-ctl codes from the host. Therefore,
remove the calculation of sub-ctl codes from the host APIs. Also
remove the associated data structures.
Change-Id: Ib5d5f074b45f2dae2bb9a7c172ee7f8750ad5355
CRs-Fixed: 961806
Define the correct country codes per the data published by the
regulatory compliance team.
Change-Id: I2474acb2657ba1e4a0f62aef013df296aebfcb53
CRs-Fixed: 961806
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
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
qcacld-2.0 to qcacld-3.0 propagation.
Fix incorrect flag setting while sending peer assoc command.
This change set will add a check before setting 40MHZ support bit
and shortGI support bit in the peer flags. If the peer is not HT
capable, these flags should not be set.
Change-Id: I89d43bd86b97637b291dc871aaf7e2a3269df853
CRs-Fixed: 974242
Re-arrange core regulatory code between HDD and CDS
layers. Move the OS dependent code to HDD.
Change-Id: I8ac26a48d0e8d613b2f6c23fd764e5cf94365c39
CRs-Fixed: 856727
qcacld-2.0 to qcacld-3.0 propagation
Ignore the ack timeout in case of load/unload, as FW is anyways going to
get reset. This handles the CDF_BUG assertion when FW crashed during
driver unload and wma_suspend_target fails to receive ACK for pdev
suspend.
Change-Id: I0883c5161c6db18cf7af2b0c0ca23573ecd985ba
CRs-Fixed: 911696
qcacld-2.0 to qcacld-3.0 propagation
In High dense environment roaming should be triggered early
at dense RSSI threshold which provide better throughput result.
Add support for dense roaming parameters to read from ini file
and send to FW with other roaming parameters
CRs-Fixed: 953579
Change-Id: Ia63bfdd1248b4507d988b019f07164a7c75566af
Fix the timeout handler to handle add bss request timeout.
wma_hold_req_timer is not defined to handle WMA_ADD_BSS_REQ. When
WMA_ADD_BSS_REQ times out, no response is sent back to SME which
results in SME command queue stuck. This change set will enable
wma_hold_req_timer to handle add bss request timeout.
Change-Id: I55ec44acafc3af717458134340075b55bca7cddf
CRs-Fixed: 975400
Fix the reason code used during Nss update request. If
there is MCC upgrade or DBS downgrade, the hw mode change
request internally send the Nss update request. But, the
current implementation uses the same fixed reason code
during Nss update request and due to this on receiving the
hw mode change response, the expected callback function is
not getting invoked. Fix this by passing the right reason
code during Nss update request.
CRs-Fixed: 978663
Change-Id: I706cb9a86d66d8601ec87f560459604e562f6037
Set the hw mode, if needed, during channel switch in STA and
P2P-CLI scenario. The STA/P2P-CLI on receiving the channel change
event may need to do a hw mode change to get the best out of the
hw capabilities.
e.g.1, In a STA+SAP concurrency, the STA and SAP are doing SCC on
channel 6. When the STA interface receives a channel event for
channel 36, it is better the driver moves to a DBS scenario.
e.g.2, In a STA+SAP concurrency, the STA is on channel 6 and the
SAP is on channel 36. When the STA interface receives a channel
event for channel 36, it is better the driver moves from a DBS
scenario to a SCC scenario.
For MCC upgrade, the following steps are taken
1. Opportunistic timer is started
2. vdev restart is initiated on the new channel
3. PM will check if MCC upgrade can be done on timer expiry
For DBS downgrade, the following steps are taken
1. PM will initiate HW mode change to DBS right away
2. vdev restart is initiated on the new channel
Change-Id: I202842bf28c3117e8cc91954cdfd3b39a0062f4e
CRs-Fixed: 972184
Fix double free of delete sta params by adding appropriate
check in wma_delete_sta.
If the synchronization feature is enabled, memory will be freed
in the wma_peer_delete_handler else memory will be free in
wma_delete_sta.
Change-Id: I40e664f10766faa8a20e9089f1c6b95d490b8658
CRs-Fixed: 971280