qcacld-2.0 to qcacld-3.0 propagation
Currently for SDIO implementation, tx comp indication is
suppressed and tx_desc is freed when htt download is done.
This leads to invalid tx_desc being referenced when pktlog
indication handler wants to collect TX-ed tx_desc information.
Fix consists of two parts:
1. When pktlog is enabled in ini, enable tx comp indication
handler just like PCIe and USB. tx_desc is still valid when
pktlog indication comes.
2. Check vdev pointer embedded in tx_desc structure. vdev
pointer is set when tx_desc is allocated and set to NULL when
tx_desc is freed. This guards against invalid tx_desc_id
from firmware.
Note that performance drops should be expected when
pktlog is enabled on HL platforms.
Change-Id: Iba9b8323b4a6e2ae17e36768bda3511f52236a2c
CRs-Fixed: 2034996
Currently, a wakelock is acquired before vdev start is sent to firmware
and released after a vdev stop response is received. In some cases, this
can cause a race condition where the device will power collapse before
the association process is complete. Instead, release the wakelock after
either vdev up or vdev down is sent to firmware, ensuring the entire
association process is protected.
Change-Id: Iab1a241f1c5810d9f71bfd86e1e8036847ebf602
CRs-Fixed: 2082928
Change the log level from ERROR to INFO
for hdd_rx_packet_cbk log to prevent
packet information from flooding on the
kmsg.
Change-Id: I27bfcc708740f50c4b15d72b89176af2ce27f6fa
CRs-Fixed: 2082577
Currently there is no support to configure SMPS parameter
from host, add support to configure SMPS parameters using ini.
Change-Id: I6f8273ffed39a0b95c31f1647e86406b870165f2
CRs-Fixed: 2080571
Run through the entire peer_id_to_obj_map array and if any peer_id's
peer entry points to a particular peer, change it to NULL. Calling
this routine before deleting the peer ensures that subsequent peer_unmap
events will not access a peer object that is deleted.
CRs-Fixed: 2027846
Change-Id: I05089bece20ea070694f243feb06d222f8e50ac6
CFG80211_REMOVE_IEEE80211_BACKPORT is added to indicate
backport of Change-Id: 57fbcce37b
from upstream 4.7 kernel to 4.4.
Hence add this flag CFG80211_REMOVE_IEEE80211_BACKPORT to
support this compilation. Also introduce HDD_NUM_NL80211_BANDS.
Change-Id: I60a15a1273f939a0a288d08d03ccb5bf1bdcc429
CRs-Fixed: 2087917
logical not is only applied to the left hand side of this
bitwise operator [-Werror,-Wlogical-not-parentheses]
(!(ies->RSN.RSN_Cap[0] >> 7) & 0x1)))
^ ~
csr_api_roam.c:14617:6: note: add parentheses after the '!' to
evaluate the bitwise operator first
(!(ies->RSN.RSN_Cap[0] >> 7) & 0x1)))
^
( )
csr_api_roam.c:14617:6: note: add parentheses around left hand
side expression to silence this warning
(!(ies->RSN.RSN_Cap[0] >> 7) & 0x1)))
^
( )
Change-Id: I489eba6a6265778346bb3b20832f92774a2d5e0e
CRs-Fixed: 2087302
Returning a negative value from the API results in the failure
on unsupported platform.
CRs-Fixed: 2082239
Change-Id: I75b14b81eaa00d53784a6deb90b99666e28b164d
MBO ies sent in tail buffer of beacon params
structure are not sent in beacon template to
firmware.
Fix is to add MBO ies in beacon template sent to fw
Change-Id: I3987bd431f9a21218650499afa16eac2b59e6486
CRs-Fixed: 2087752
When HTT attached, driver allocates DMA buffer to record each RX ring
entry, with element size - target_paddr_t, which is bus size, and may be
different from kernel's physical address size.
While in htt_rx_detach, size of qdf_dma_addr_t used for buffer free.
In case kernel built as 64-bit, and bus size as default 32-bit,
it will crash when free.
Use same element size to avoid it.
CRs-Fixed: 2087592
Change-Id: Iabe95f92ea82b736213a8b81453163229b2a3a3b
In STA+AP concurrency case, driver fails to receive PNO STOP
indication from the upperlayer and thereby driver fails to send
same indication to FW, leading to a FW crash.
To mitigate this issue, during STA session close, issue PNO
stop indication to FW, if PNO is in progress.
Change-Id: If30e631fc5e8151cd5ecc66ff1d48627123a0a1e
CRs-Fixed: 2059793
Propagate from qcacld-2.0 to qcacld-3.0
Currently there are some places where array name is compared to NULL
in SAP, add fix to correct it.
CRs-Fixed: 1063255
Change-Id: I736ac42dd08cd6d3375b7693e914e825dae6c702
Add support for indicating the new unified roam event
"cfg80211_roamed" which takes a structure to give roam information
to cfg80211.
Change-Id: I71769666e2112e0f443cb36d7db03cb7bdbaf1f2
CRs-Fixed: 2084891
sme_acquire_global_lock was used in couple of places without proper
handling of releasing the acquired lock.
Fix the improper handling of lkSmeGlobalLock in multiple funcitons.
Change-Id: Ib6cd43fae3fe522fc6388815581389592d3e70f8
CRs-Fixed: 2086102
The default value for the ini gdbs_scan_selection is set
with 2 DBS and 2 non-DBS Scan for Module id WLAN_MODULE_
ROAM (5) and WLAN_MODULE_HOST (16). Thus, the scan policy
for full scan is kept getting change for DBS scan and
legacy scan.
This change is to make the default value for the ini
gdbs_scan_selection as NULL, thus disabling the DBS scan
duty cycle feature by default.
Change-Id: I8dd304628b729e11a63aaa2b6dea972cff1798d7
CRs-Fixed: 2062420
Explicitly convert nl80211_chan_width to phy_ch_width in function
__wlan_hdd_cfg80211_set_mon_ch.
Change-Id: I3a35a417b1155db430d6f06444b42664365b02db
CRs-Fixed: 2071677
Replace sme_tspec_dir_type and sme_QosWmmDirType with sme_qos_wmm_dir_type
to avoid implicit conversion warnings/errors and to conform with linux coding
guidelines.
Change-Id: I1567ebbe7ec8adab3344d96f0d2aa93367975926
CRs-Fixed: 2071677
Structure sSirChanChangeResponse does not uses ePhyChanBondState
secondaryChannelOffset anymore. Remove the obsolete member variable
Change-Id: Ib244b6e5c1692ab928acc22e125d49779119e176
CRs-Fixed: 2071677
Argument 'status' to the API lim_ft_process_pre_auth_result was not
being used. Remove 'status' from the argument list.
Change-Id: Ie514f8d1ec43dc964171132a4306f9089f445e8f
CRs-Fixed: 2071677
Fix implicit conversion warning/error by explicitly converting QDF_STATUS
to tSirMacStatusCodes in function lim_ft_send_aggr_qos_rsp.
Change-Id: I4b554411588225150659921b42cd2db65761261b
CRs-Fixed: 2071677
Function lim_send_sme_rsp expects error code of tSirResultCodes type.
Convert QDF_STATUS to tSirResultCodes before sending.
Change-Id: I488167a22e8199455342a1ef3a17b0470d95b5bb
CRs-Fixed: 2071677
Fix implicit conversion from enumeration type 'tSirResultCodes' (aka
'enum eSirResultCodes') to different enumeration type 'QDF_STATUS'
[-Wenum-conversioni]
Change-Id: I72cbfb99d22d4747890b14d474a36b3c36d1c655
CRs-Fixed: 2071677
hdd_ipa_uc_loaded_uc_cb() allocates a msg buffer and passes it to
workqueue handler. Both hdd_ipa_uc_loaded_uc_cb() and workqueue
handler free the msg buffer, which leads to wrong memory dereference.
Fix is to return directly in hdd_ipa_uc_loaded_uc_cb() and let workqueue
handler free the msg buffer.
Change-Id: I842700e7fe94dc9a77fba966d918a054bc79f36a
CRs-Fixed: 2069189
sme_config is used as local variables with struct tSmeConfigParams
in multiple places causing stack frame size to increase. This is
causing build issues with 32 bit systems where the stack frame
size is limited to 1024 bytes for each frame.
Move multiple sme_config local variables to dynamic allocations to
reduce stack frame size.
Change-Id: I86a93546adf40bbbc19438c3b1e3a7ec0d38f39f
CRs-Fixed: 2074224
Wrong to pass parameter by value so caller doesn't get the real allocated
tx_desc. The fix is to let ol_tx_prepare_ll return the allocated tx_desc
or NULL if fail.
Change-Id: Ic3910e45c02290ebd74766aa8f88902044decaa6
CRs-Fixed: 2084824
When driver unloading, htt tx detach and free tx desc, then flush
endpoint tx queue. A low rate case is that endpoint tx queue is not
empty with high latency platform, it will cancel tx and send packet
completion, then crash happens since of NULL point access.
Change-Id: I4918d4c678fffe8b07a1f3b1104e0732c5d960f8
CRs-Fixed: 2084045
When HandOff(HO) fails, set doNotSendOverTheAir flag so that LIM
does not send deauth and also does not send peer_flush_tids cmd
to FW as FW already did the cleanup.
Change-Id: I4721ad22e5c4229155ae9bd5f4d9624dca0a1879
CRs-Fixed: 2037621