qcacld-2.0 to qcacld-3.0 propagation
Currently driver populates default supported and extended supported
rates in beacons even if hostapd.conf file wants to change
supported and extended supported rates.
Fix this by parsing beacon head and tail to get supported
and extended rates and populate them in sap config.
If Driver force acs is enabled, driver acs will get priority.
In case of driver based acs, driver should
ignore basic and extended rates from hostapd.conf and should
populate default rates.
Change-Id: I3226438b908a96f1b1bd3c2968a0c20eef81a799
CRs-Fixed: 1035768
qcacld-2.0 to qcacld-3.0 propagation
In this feature,
1) When a legacy client connects to P2P GO, Host will indicate FW
to stop NOA and start CTS2SELF.
2) Ini Support for this feature.
Change-Id: If76d8ef454633d9a02dd6057b5d6ca3e9e639ea4
CRs-Fixed: 932264
Currently, some regulatory information is being populated after it may
be needed by wiphy for initialization. Reorder the order of execution to
populate this data before it is needed by wiphy.
Change-Id: I218c19c84b6c7f0f62a94b211201281939838438
CRs-Fixed: 1074146
Fix the issue due NULL pointer access on adapter->dev.
One of the instance this happened is inside __hdd_hostapd_uninit().
Change-Id: Ie2a3e41d446261cd32729b8eb8f12e23134a8828
CRs-Fixed: 1073808
qcacld-2.0 to qcacld-3.0 propagation
Presently, in BPF set_offload structure and the filter program are
allocated separately. In certain error paths the program is not
freed correctly because of which there can be memory leaks.
Have a single allocation for the set_offload and program to avoid any
memory leaks.
Change-Id: I097d3408cc89c26e015fd6aee8668f53e8f64cf7
CRs-Fixed: 1006522
Enable Runtime PM after first interface is up and disable it when
the last interface goes down. The current logic is enabling runtime
pm too early, causing crashes.
Change-Id: I486409bd8375de327b724fc16ab32b4907c1c093
CRs-Fixed: 1072520
qcacld-2.0 to qcacld-3.0 propagation
Currently when an addTs is buffered for processing in SME
and a delTs for the corresponding addTs is issued, the delTs
is getting dropped since the addTs has not yet been processed.
Fix this by buffering the delTs command if a corresponding flow
is not found.
Change-Id: Ib759ee7f2a5d4c089d5362f93568fb4dd6eda8cf
CRs-Fixed: 1008956
Wrong use of runtime get results in mismatch in runtime pm usage count.
Hence fix it by calling runtime put API instead of get API.
Change-Id: I89dfcd2d1ad980df47f2244c9fcac5a68ac27d71
CRs-Fixed: 1072520
qcacld-2.0 to qcacld-3.0 propagation
wlan_hdd_mgmt_tx can be called in not-connected state in case of
station mode. Here the operating channel is fetched from the connected
info without actually checking whether the sta interface is connected
or not and hence can lead to making a wrong decision whether or not
to request ROC. Fix the above issue by fetching the operating channel
only in connected state. In not-connected state driver always goes
for requesting a ROC. Add similar check in case of soft ap and
P2P-GO to get operating channel only when the bss is started.
Change-Id: I91571f3b6a4f68487afcddd3152f469ff502eb6b
CRs-Fixed: 957469
qcacld-2.0 to qcacld-3.0 propagation
Supplicant is sending Extended capabilities (EC) IE and
Interworking IE as part of beacon IEs to the driver but
the driver is not looking for these IEs when populating
the beacon. To fix this append the EC IE and Interworking
IE to the beacon template.
Change-Id: I6e19bfacb6f83526ce80d59cf43c23c6e2a77233
CRs-Fixed: 964594
qcacld-2.0 to qcacld-3.0 propagation
wma_ibss_peer_info_event_handler returns error when peer_info is NULL.
However, peer_info can be NULL in case num_peers connected is 0.
Handle this case in hdd_get_ibss_peer_info_cb so that callers of
GETIBSSPEERINFOALL do not see stale results after all connected peers
have left the IBSS. Also, log the errors for enabling debug and reset
the ibss_peer_info statistics.
Change-Id: I913748bf11f9362e5faaaf29c26fc39fda85f4a9
CRs-Fixed: 1007555
qcacld-2.0 to qcacld-3.0 propagation
In __wlan_hdd_cfg80211_tdls_oper, since IS_ADVANCE_TDLS_ENABLE
is disabled, the tdlsLinkEstablishParams does not get populated
with correct QoS capability of the peer. The transport layer is
then configured with this wrong capability. This results in all
packets, independent of TID, enqueued into BE queue. Fix this
by getting the QoS capability from hddTdlsPeer_t.
Change-Id: Iafbd416026c9a0e4b05654ec810b0e0f3546beba
CRs-Fixed: 1010915
qcacld-2.0 to qcacld-3.0 propagation
If P2P-GO stop comes during ROC, it may cause WLANSAP_StopBss
API to fail. ROC is stuck as firmware is running Gscan which
is higher priority than p2p ROC scan prioirty.
This causes ROC command to be stuck in the active list for 10
seconds and will eventually cause a crash in FW when host will
try to add self peer since older peer is still present in the
FW with same mac address
Add change to increase the priority of P2P scan and cancel ROC
before calling stop AP API.
CRs-Fixed: 1065161
Change-Id: I3a62234596c8c2acc0155b483847b9adc159d757
qcacld-2.0 to qcacld-3.0 propagation
IE's numbers are not set correctly in beacon filter API.
Add changes to correct this.
Change-Id: Ib489b0fc7bc1f0a2b7414f59ed325deecb65bb8e
CRs-Fixed: 1030084
qcacld-2.0 to qcacld-3.0 propagation
In lim_process_messages(), few SME messages updates 'session_entry'
using SME session id. Host driver should not use SME session id in PE.
Fix to update 'session_entry' using pe_find_session_by_bssid().
Change-Id: Icebf4604d5a3a825afc6b1d3540bd228488ce267
CRs-Fixed: 1020643
qcacld-2.0 to qcacld-3.0 propagation
TDLS connection will teardown in host on receiving teardown
event from Firmware. But if host is in WOW mode then host will
not receive teardown event from FW.
To fix this issue add TDLS connection tracker event changes in WMA.
Change-Id: I3a305e95410d2884b41e9e4183ed4eeabd733f9d
CRs-Fixed: 991993
qcacld-2.0 to qcacld-3.0 propagation
Even though MCC is disabled by gEnableMCCMode ini, driver try to
roam to APs which may cause MCC but as MCC is disable the roaming
fails eventually in CSR while trying to connect to the new profile.
Driver creates a preauth session which is not deleted upon failure.
The session sme state is eLIM_SME_WT_REASSOC_STATE and thus fresh
scan required is set to false and cached scan result are returned.
Do not add the APs which cause MCC scenario, in preauth candidate
list if MCC is disabled.
Change-Id: Iae2a887e1fa34f89f340bd7392d757e1add97a16
CRs-Fixed: 992672
qcacld-2.0 to qcacld-3.0 propagation
In case if CSA is in progress and beacon missed is received
the session is disconnected. Now if STA tries to connect to new
AP and at the same time CSA timer expires then tries to switch
channel. As old session is deleted this switch channel fails
as channel info is invalid. This also leads to LIM state change
and thus the roam command is not removed from active command
list.
To fix this:
- Ignore beacon miss if CSA is in progress
- In CSA timer add check to ensure that channel change is for
current session.
Change-Id: Icbb80394e4870ccae19782ee17e37465020e93f9
CRs-Fixed: 1060378
Enable driver changes dependent on kernel flags CFG80211_SCAN_BSSID
and CFG80211_CONNECT_PREV_BSSID default for linux kernels starting
from version 4.7.0 as the dependent kernel changes are present from
this version.
Change-Id: I0ee25eb11c75c688becbf61b4424bd0bae28bd3a
CRs-Fixed: 1064018
Add OUI type(0x10) to HS2.0 IE frame parser. In current implementation
without OUI type being set, the first IE with WFA OUI is parsed as
HS2.0 IE, even though the OUI type is not 0x10.
Change-Id: I63d97fc100f419c09bc22d1747f434fb9a5c3b06
CRs-Fixed: 1067816
If user triggers con_mode change, while data transmissions are
happening, there is possibility of device crash, as data queues
are not stopped during con_mode change.
In con_mode handler, stop data queues before stopping modules.
Change-Id: I348d0da707ea4b706edfcd396adee32502180e3e
CRs-Fixed: 1070008
cds_send_mb_message_to_mac function frees the input memory buffer
irrespective of the success/failure of the message posting to the
MAC message queue.
This changes fixes the cases where the input buffer is attempted to
be freed for fail case of cds_send_mb_message_to_mac
Change-Id: I920822bf0ee268adb1312eed20de53450802fdc8
CRs-Fixed: 1070461
skb->cb has different meaning for rx & tx packets. Reset the
cb to avoid mis-interpretation of the data that leads to
eratic misbehavior the least of which is failure to forward
packets.
Change-Id: I5d1396c70cd93d165aa825c4408ad46d082693f3
CRs-Fixed: 1065769
list_empty api does not work correctly on copied list head.
Need to point to the original free_pool memory so that the
spinlocking and list management apis work as expected on
the original memory.
Change-Id: I631466d156c83f70cb6ea06eec0e361081f294cc
CRs-Fixed: 1070258
Null pointer dereference due to duplicate vdev
detach call.
Vdev detach is triggered as part of the delete
self sta but in failure scenario del bss request
timeout handler also called the vdev detach
which triggered NULL pointer dereference in OL layer.
-Fix the del bss request timeout handler by adding
more condition checks specific to P2P as the changes
are related to P2P.
-Remove vdev stop from the vdev start timeout
handler.
Change-Id: Ibe848c89823efbb10f7dcc193157189106ba238b
CRs-Fixed: 1070817
Add changes to parse DISA parameters received from
user space and pass them to firmware for firmware
to encrypt data and send back to driver. Also, add
changes to print encrypted data received from firmware.
Change-Id: Ic6928a93f799c47518fbbad96564062f595287dd
CRs-Fixed: 1064970
Linux kernel 4.0 introduced a new way for drivers to report bandwidth
information to userspace. Prior to this rate information was
indicated by setting an appropriate BW flag in the struct rate_info
flags field, and 20MHz bandwidth was assumed if no flag was set.
Linux 4.0 introduced a new bw field to struct rate_info, and the
driver was updated to set this field in all cases where previously a
bandwidth-specific flag had been set. Unfortunately in the 20 MHz
bandwidth case the driver was not previously setting a
bandwidth-specific flag, and hence in the current case it is not
setting the bw field. This manifests itself in the following warning
emitted by the kernel when the device is associated to an Access Point
with a 20MHz bandwidth:
WARNING: at kernel/msm-4.4/net/wireless/util.c:1137
Modules linked in: wlan(O)
PC is at cfg80211_calculate_bitrate+0xdc/0x1f0
LR is at nl80211_put_sta_rate+0x64/0x1dc
Fix this issue by initializing the rate_info bw field to 20 MHz prior
to calculating the bandwidth. If the bandwidth is anything other than
20 MHz then this default value will later be overwritten.
Change-Id: I734b05e0e41c7a859939372fe4d8a3668a08c668
CRs-Fixed: 1072803
Currently the Green AP feature is only enabled on mobile router
platforms. Enable it on the msmcobalt platform as well.
Change-Id: Ib5000b2201cc2c7bd88e3d322b186afcdb0a72e3
CRs-Fixed: 1072412
There is a desire to remove unnecessary items from the default version
of WCNSS_qcom_cfg.ini that is shipped to customers. Currently the
default value within wlan_hdd_cfg.h is:
define CFG_ROAMING_TIME_DEFAULT (10)
gRoamingTime is set to zero in WCNSS_qcom_cfg.ini to always
complete/cancel roaming operation.
As part of this WCNSS_qcom_cfg.ini cleanup remove gRoamingTime and
related code.
Change-Id: I1f7833b2ae4794ceac8d4e3826fa26417b54eae4
CRs-Fixed: 1071268