VM_FAULT_MINOR was finally removed in the 4.7 Linux Kernel. According
to the below documentation, we should be returning a bitmask. In this
case, we are not handling the fault and should return 0, which
happens to be what VM_FAULT_MINOR was defined as anyway.
"The vma's ->fault is responsible for returning a bitmask of
VM_FAULT_xxx flags that give details about how the
fault was handled.
Replace the reference to VM_FAULT_MINOR with 0.
Change-Id: Id1703a61b8798f307630ccdbb7b928799490413e
CRs-Fixed: 1078189
(cherry picked from commit 09dd4f4dfff7320a2312245f6952f56e5f322c6b)
Update references from enum ieee80211_band to nl80211_band, as
ieee80211_band was removed in version 4.7 of the Linux Kernel.
Change-Id: Id42cf6e20c3ebe921546d11fd22c3909aeb84ddd
CRs-Fixed: 1077221
(cherry picked from commit 8e62ee9836406b81fe3e418028cdb2ae8f5ec039)
Any time SSR protect/unprotect fails, log a count of the pending
functions. Also, periodically dump the protection log when it is
full to help with debugging.
Change-Id: I926b2f8198a14cf0fac4138400e84a6a8ffedc73
CRs-Fixed: 1082070
(cherry picked from commit dfef826bf4883bc59ea1e6bd7dfb227567b95d1d)
Fix memory leak:
1) during driver shutdown as netbufs associated with
outstanding descriptors at the time of driver shutdown
are not getting freed.
2) in ol_tx_ll_fast where in case packet fails to download,
descriptor is being freed but the netbuf associated with
it is not getting freed.
Change-Id: I6c3eaf551149078f1ecd1329d5f3fe8ab36c2f34
CRs-Fixed: 1081206
(cherry picked from commit 2e5ea6c3489e8ef40e07c45d0f8e244bbd6bee7f)
Pass correct parameter(msdu in place of head_msdu) in
ol_rx_send_pktlog_event in ol_rx_indication_handler.
Change-Id: I11c3fcf038b1b8242733bc19889d550fdf4a5766
CRs-Fixed: 1082515
(cherry picked from commit 97632b4f075245c93b348dfd2ed76b5b14bb9a5c)
Propagation from qcacld-2.0 to qcacld-3.0.
Fix DPTRACE implementation in rx path by setting
QDF_NBUF_CB_TX_PACKET_TRACK for data packet to
QDF_NBUF_TX_PKT_DATA_TRACK in
ol_rx_offload_paddr_deliver_ind_handler.
Change-Id: Iab77f19ee0040d601b3e91013d08a04362b3d4a9
CRs-Fixed: 1074435
(cherry picked from commit be3a5cd2e00aff5552dd4d55e199c5452b7b5c1b)
Add feature flags for DISA functionality in SME and WMA layers
Change-Id: I9fe33083469a2169cd06206e85d7965405d4a728
CRs-Fixed: 1076941
(cherry picked from commit 3c85d965eec08da145a26fc2ceefdaf8dcfb4df0)
P2P connection failed when scan is active on another
interface.
Abort all the scans on all the active session when
connect request is getting processed at SME.
Change-Id: Ibc7c0df7f2884710fbaf29a5b1ff5d315c3bfc52
CRs-Fixed: 1081116
(cherry picked from commit 271cbf851f7fbbfeae503097e9d06ff3cb89c761)
Association completion handler(MCthread) acquired cds
concurrency lock while holding the sme global lock and
hostapd thread is trying to aquire sme lock while holding
cds concurrency lock which resulted in deadlock.
Don't allow start BSS while connection is in progress.
Change-Id: I1887aab39d2fa13cc8a900164d2aa6d489464e42
CRs-Fixed: 1081809
(cherry picked from commit cdfb0b38197a13755847e303c753c01bd4801e82)
Currently cds_flush_cache_rx_queue() does not verify that
cds_get_context() returns a valid pdev which could subsequently lead
to dereferencing an invalid pointer. Add a validity check for this
pointer.
Change-Id: I326e0b92205fda78854c947248e675d287a7ec04
CRs-Fixed: 1082035
(cherry picked from commit 514e12df3c66ef0e457d76ef8c984874481f5117)
Check for NULL pointer before accessing current roam profile in
STOP_BSS rsp, csr_roam_roaming_state_stop_bss_rsp_processor.
Change-Id: I670151fa81ab3389c7a07ef37bcc909e3fcb9387
CRs-Fixed: 1082446
(cherry picked from commit 1d0fd66e49e4c39ed57c80fa8603cc1b59c0b548)
Propagation from qcacld-2.0 to qcacld-3.0.
Add changes to send 32 tx/rx packets to HAL layer during connection.
This can help in debugging connection related issues.
Change-Id: Icd08475c3f81aa182c902b8e8defbdb904c5509d
CRs-Fixed: 959645
(cherry picked from commit 45416eeee7dde24f1456e0c2b667e8147742f054)
Proapagation from qcacld-2.0 to qcacld-3.0.
Currently pktstats are stored in static allocated memory. This
pkt stats can be accessed using
1) procEntry function
2) hal_proxy_daemon
If user access it using procEntry then read pointer is moved ahead
in static memory array because of which incomplete data goes when
queried using hal_proxy_daemon.
Fix this by maintaining the pktstats in link list. When the
request comes from hal_proxy_daemon, complete data is sent
to it from this link list
Change-Id: I09bbd03fe378b296e110ce52cc8cbeb8cf8d723d
CRs-Fixed: 958544
(cherry picked from commit c0d86fc4197383d0eb386e091cee5142a35b555a)
qcacld-2.0 to qcacld-3.0 propagation
Currently TXQ of DEFAULT_MGMT packet is using TID
HTT_TX_EXT_TID_MGMT when we inserted into Scheduler, so use
same TID when we flush it.
Change-Id: I1631b7706d1f8bf0352ceecb8836d82743526e44
CRs-Fixed: 1000968
(cherry picked from commit 9b41b24a9da6b9415ebdafb6e4574f0b03570e9e)
qcacld-2.0 to qcacld-3.0 propagation
Currently FW does not indicate wow wake up frame to host for
HL project. After the change, FW will indicate wake up frame
with HTT_T2H_MSG_TYPE_RX_OFFLOAD_DELIVER_IND htt msg and host
will handle this message to indicate to OS protocol stack.
Change-Id: I5f4446de7ec3c4ff1c1de6fd6105429e0898291c
CRs-Fixed: 956416
(cherry picked from commit b5cb00e05b1db94a2869cc5becef3d777dbd560e)
qcacld-2.0 to qcacld-3.0 propagation
In USB solution, hif_usb_remove costs ~25s after card unplugged.
Test step is simple, do p2p listen, then unplug card. Sme session
close costs 15s. When do p2p listen, scan will be issued to fw, but this
cmd is stuck in smeScanCmdActiveList which cause session close cmd
eSmeCommandDelStaSession blocked and the timeout is 15s.
This solution is that remove scan from smeScanCmdActiveList
if scan cmd pending in active list when close session.
Change-Id: I9f1af72cefe80dca056d7a23e015caa746952330
CRs-Fixed: 1068739
(cherry picked from commit b3460026a8ae119ac660b3970c9e3cc8b999656d)
qcacld-2.0 to qcacld-3.0 propagation
In a SNS case, driver receives ASSOC Req during the SAP
Stopping. The SAP stopping will issue WMI_VDEV_DOWN_CMDID
WMI command to firmware. And ASSOC req frame processing
will issue a WMI_PEER_CREATE_CMDID WMI command to firmware.
Then the firmware crash happens because firmware can't find
the necessary BSS information to create the peer. Firmware
doesn't support peer create after BSS down.
The fix is to ignore the ASSOC Req frame while the deleting
BSS is ongoing.
Change-Id: Ib517642da4fc6b4778ef1ce4e6afd92fa3edb112
CRs-Fixed: 1053809
(cherry picked from commit 2118b5d37d9294a22cff60ec5bd2b7baf4a34cae)
qcacld-2.0 to qcacld-3.0 propagation
In case of P2P device and P2P GO using seperated
interface, if P2P Device interface listen (remain on
channel) with long duration is active, P2P GO interface
vdev start command will be timeout.
In shared interface case, driver will cancel existing
P2P listen during interface type changing from P2P device
to P2P GO in __wlan_hdd_cfg80211_change_iface. There
is no such issue.
This fix is to extend the canceling logic just before P2P GO
starting to avoid the vdev start timeout in first case.
Change-Id: I5c5903bc5eded417ede670025c241daf73b96700
CRs-Fixed: 1022238
(cherry picked from commit 696a5a4e110482bcf873b6c657fe621aa2dd8b8e)
qcacld-2.0 to qcacld-3.0 propagation
If ACS failed, the __wlan_hdd_cfg80211_stop_ap
will not be called to free the ch_list.
Add new API wlan_hdd_undo_acs to do cleanup of
DO_ACS to free ch_list memory. And call the API
in hdd_deinit_adapter to fix ch_list leak issue.
CRs-Fixed: 1002207
Change-Id: If3285739f2387928a1d7578f9d14089a486a6d9e
(cherry picked from commit e55d0c20e574a63b5002650529054ace24ad7cad)
propagation from qcacld-2.0 to qcacld-3.0.
If tdls commands fail before it's really executed, the
commands in active list will not be removed and timeout.
Change-Id: Ie10458dcdef9571520b995d1879b499fe855ce2a
CRs-Fixed: 962237
qcacld-2.0 to qcacld-3.0 propagation
It's a fix for sns issue. Set DUT as sap, ref client sends assoc req
to DUT and as part of this frame processing lim does ADD_STA and posts
eWNI_SME_ASSOC_IND to sme layer. Before SME layer sends eWNI_SME_ASSOC_CNF,
DUT receives auth frame which triggers deauth. In this case lim layer
will delete ref client's related info, but wma layer doesn't get any
notification.
To fix this lim has to notify wma to do DEL_STA for that peer.
Change-Id: Id4aae51aae3fb68e752d09793ad3bce17665fc2e
CRs-Fixed: 979687
qcacld-2.0 to qcacld-3.0 propagation
Currently tx_frm_download_comp_event is used in Mcthread and destroyed
in wma_stop, when wma_stop is called, Mcthread has not exited yet.
In stress test, this event is destoryed but Mcthread is still using,
so crash occurs.
Solution is that destroy event in wma_close to avoid the case that after
destroy this event is still used.
Change-Id: I7d4e97ab261f586edfb90268544a2cda4e90a0b2
CRs-Fixed: 958906
qcacld-2.0 to qcacld-3.0 propagation
Host driver will use sap channel leakage matrix to identify whether
this channel is leakage due to radar detected in sap channel. channel
144 is missed in this table.
Change-Id: I15b8cce29da8ba5d7beef1b4e684200121a4aa61
CRs-Fixed: 945408
qcacld-2.0 to qcacld-3.0 propagation
We need to stop SAP bss and destroy the SAP
session if the channel switch failed. Otherwise,
the vdev will leak and it will cause SoftAP
start failed in following test.
Change-Id: Ieb3a2d62c8698f245f787be3c215ee4365b2e8ba
CRs-Fixed: 944741
qcacld-2.0 to qcacld-3.0 propagation
This change fixes the connection issue in ap+ap mode.
One peer may connect to the second ap while another ap
still has the connection with this peer, so the same
peer may be created twice.
Change-Id: I898ec326fb8cf080e8fa0b4737c897fc790633a0
CRs-Fixed: 955241
In case channel width is defined to be CH_WIDTH_MAX; channel width
set to CH_WIDTH_80P80MHZ. This can be incorrect if the secondary
frequency segment is not defined. So conditionally set maximum
channel width to CH_WITH_160MHZ.
CRs-Fixed: 1082221
Change-Id: Iff28c56de56e5481814b4710eb51920a88f0f5f7