Currently hdd_release_and_destroy_pdev() retrieves and resets the
pdev's ospriv data pointer by directly dereferencing the pdev
object. This is not the correct object-oriented approach. Instead of
dereferencing the object, invoke the wlan_pdev_get_ospriv() and
wlan_pdev_reset_ospriv() methods that exists for this purpose.
Change-Id: I71a5d090648b76261d863a0b0168a83cdf9911b3
CRs-Fixed: 2024022
Currently hdd_release_and_destroy_vdev() resets the vdev's ospriv data
pointer by directly dereferencing the vdev object. This is not the
correct object-oriented approach. Instead of dereferencing the object,
invoke the wlan_vdev_reset_ospriv() method that exists for this
purpose.
Change-Id: I68a504b022933a47276d5c76c079472e8d3a6402
CRs-Fixed: 2024020
Interface change timer is wrongly multiplied by 50000 leading
to very large timeout value and FW getting stuck in ON state
even if there is no active interface and leading to battery drain.
Fix the battery drain issue by removing the wrong multiplication.
Change-Id: Icc23bc6c666c2e474c17c9a5175ca54721861e0d
CRs-Fixed: 2017489
This change includes to drop RX mgmt packets before sending to MC thread
context based on below conditions
1) Print an warn message when no.of pending RX packets reaches to
1/4th of threshold
2) Drop probe req, probe resp and beacon frames when
no.of pending RX packets reaches to 1/2 of threshold
3) Drop all the RX management packets when no.of pending RX packets
equals to threshold
Add a counter to maintain no.of pending management packets in queue
and MGMT_RX_PACKETS_THRESHOLD for threshold value
Change-Id: I9428a1a054f717a285378dbe95592ba0c5c569e6
CRs-Fixed: 2011645
qcacld-2.0 to qcacld-3.0 propagation
AP1 starts on 2.4g, AP2 starts on 5g ht40.
The AP2 is always failed to find the interference
AP during OBSS scan. It is because the cld driver
uses passive scan but the dwell time is set to
active scan's default dwell time 80ms. That is too
short for passive scan.
The fix is to set the dwell time based on scan type.
Change-Id: I687217f7d15f963f0043dab661ae29bb026ba7b5
CRs-Fixed: 1093940
Memory is not freed in csr_process_set_hw_mode in the
failure case when connection or bt coex is in progress.
Fix is to free memory in failure case.
Change-Id: I6be164c516ce30d5def7b0088c8b62d6409acf6a
CRs-Fixed: 2024748
FTM mode is purely a testing mode. As such, crashes in firmware should
not be gracefully handled. Instead, crash the system to produce a crash
dump to aid in the debugging process.
Change-Id: Ie4098b02be39a25c00f839566d35456bad5834d6
CRs-Fixed: 2025877
Relocate 11ax related functions' kernel doc from c files to
header files in HDD to be inline with kernel specification.
Change-Id: Ib911f029414386c4a7b00cbd526886fb50853be2
CRs-Fixed: 1073481
Extend channel bonding to 11ax dot11mode. Currently channel bonding
is enabled only for 11n and 11ac, extend this to support 11ax as well.
Change-Id: I45cd733962b71ac05c1c8839593edbecec76b0a9
CRs-Fixed: 2025238
QCA_NL80211_VENDOR_SUBCMD_SETBAND does not work because
vendor_id is missed.
Add vendor_id for QCA_NL80211_VENDOR_SUBCMD_SETBAND.
Change-Id: Ide61bc28fe5f555f9e55bd05be19ac86a5777eb5
CRs-Fixed: 2021204
External threads and interface change timer are racing against each other
leading to various side effects. Fix the race condition between external
threads and interface change timer by leveraging existing ssr/driver
unload protection mechanism for module stop.
Change-Id: Ic3d6d516161afee1dd65abb8f1eafe160bea54ff
CRs-Fixed: 2021483
Converged host driver code listens for a vdev_destroy event from
object manager to release vdev related resources. Currently, vdevs
are destroyed in firmware before they are destroyed by object manager,
leading to a possible use-after-free situation in firmware. Reverse
the order of vdev destroy, first in object manger, then in firmware,
to prevent the potential use-after-free.
Change-Id: I54bbede9732cecb3bec291692f452758976184c4
CRs-Fixed: 2024633
Rename the HDD object manager wrapper functions to better reflect their
relevance to object manager.
Change-Id: Ic12cd192096c9fd89dd19568edfaac72001cd965
CRs-Fixed: 2025251
Since converged P2P component supports rx vendor specific public
action frame, not register in hdd layer again.
Change-Id: Ic0aaecffbffeb61ff4413d46c58a97c2bfb4ea84
CRs-Fixed: 2024394
Free memory allocated in ol_tx_desc_dup_detect_init() and spinlock
created in ol_txrx_pdev_post_attach() in case of failure condiiton.
Change-Id: I7e3909622e5b63af2d20c2c8cc0a8cc4350e4085
CRs-Fixed: 2024377
qcacld-2.0 to qcacld-3.0 propagation.
There is a race condition, LTE channel avoidance indication is received
while BSS is starting, thus BSS is starting on the unsafe channel and
driver is not honoring the unsafe channel list given by LTE
coex event.
Always check current operating channel with unsafe channel list on
SAP start.
Change-Id: Ieda6fd4c6fa61fd45d340a850d61a6954d2a67a9
CRs-Fixed: 1106969
Currently, Host modify the vdev pause bitmap
directly which may be problematic in scenario
where this value update information need to
notify to other components.
Hence as a part of this fix, Add (set/clear/update) API's
for vdev pause bitmap modification.
Change-Id: I5c8d6576d27076f697463b42632962327306902f
CRs-Fixed: 2013376
qcacld-2.0 to qcacld-3.0 propagation
In function sap_process_avoid_ie, if type of avoid_ch_ie is not
QCOM_VENDOR_IE_MCC_AVOID_CH, we need to get next node(scan result)
for process. Otherwise the dead loop causes VosMcThread stuck.
Change-Id: If0e736c5b8a5638ea2bc96c3afb25be286959942
CRs-Fixed: 2019048