Don't account length field size while comparing against max
beacon size.
Current driver starts from (ptr+4 bytes) then tries to copy
512 bytes from that point which creates to copy extra 4 bytes
beyond the array's boundary.
Instead copy only 508 bytes if driver starts copying from
(ptr+ 4bytes).
ptr
^
|
|
+---------------+--------------------------------+
| | |
| Length | Max Beacon payload |
| | |
+---------------+--------------------------------+
|<-- 4 bytes -->|<-------- 508 bytes ----------->|
|<------------- 512 bytes --------------------->|
CRs-Fixed: 2327052
Change-Id: I2646986ec424f7da31107ad01f673588734eaa52
In order to catch and debug long running or stuck operations, add a
watchdog timer to Driver Synchronization Core (DSC) operation start/stop
call pairs. If the timer expires, panic the driver for offline
debugging.
Change-Id: If93914178622b993fb09c7330fded2e9bc1c25d1
CRs-Fixed: 2328591
qcacld-2.0 to qcacld-3.0 propagation.
AP and P2P GO mode, user issue DEAUTHENTICATE command with reason 6,
driver will change deauth reason code to eSIR_MAC_UNSPEC_FAILURE_REASON.
It should be only for station or p2p client mode. Otherwise,
'eSmeCommandRoam' will be stuck in 'smeCmdActiveList'. It will
trigger recover.
Change-Id: I126c0b682dbee12e6da903040e058ca370228c5f
CRs-Fixed: 2311077
VHT Part3: Add the basic infra for MLME CFG items and the APIs
to be used from other components for VHT.
Change-Id: I8cd30439d7ac3de7b550aa5042353cf30e04cbda
CRs-Fixed: 2322304
When the userspace disconnect is issued, as a part of wlan exit,
HDD sent below commands to sme:
1) Disconnect Req (DelBSS /Del Sta)
2) Close Session ( DelSelfSta ) in the following path:
hdd_stop_adapter() -> hdd_stop_adapter_ext() -> hdd_vdev_destroy
-> sme_close_session() -> csr_roam_close_session.
e_sme_command_del_sta_session is sent from csr_roam_close_session
with high priority. This causes vdev delete to be sent before
peer delete .
As HDD has already freed all the commands in
csr_roam_close_session, now sme should process the cmd only in
the pending queue order. Hence we should not send DEL_SELF_STA
as high priority cmd.
Send the e_sme_command_del_sta_session with normal priority.
Change-Id: Ic874ca792f84235c70b8257a232c02f0bd050618
CRs-Fixed: 2328462
Currently the wmi_roam_synch_frame_event_id is sent from the FW before
the roam_synch event if the size of the beacon/probe, reassoc request
and reassoc response frames exceeds the max WMA message size.
In such scenarios, the FW sends two wmi_roam_synch_frame_event_id events
with the first event containing beacon/probe and reassoc response frames
and the second event with reassoc request frame.
However, driver is dropping the first event with beacon/probe and reassoc
response frame as the reassoc request is not present in that event.
This is expected in the first frame and the driver should handle each
frame independenly in the wma_roam_synch_frame_event_handler.
Remove the check for beacon/probe and reassoc request frame while
handling reassoc response frame in wma_roam_synch_frame_event_handler.
Change-Id: Ic66dd7f93da0de32715cf36be520128d2a1efc8e
CRs-Fixed: 2325217
Create and send user configurable ini for max number of roam preauth
retries and roam preauth no-ack timeout to the firmware.
Change-Id: I66808b33f421f56cd7c007cdde1db19c8e7ca5f9
CRs-Fixed: 2279049
Currently the driver calculates the nss score
based upon the max capability of the AP, and not the
hw_mde config which would be there after connection
for example, the driver calculates the score for a
2x2 11n AP, and 1x1 VHT (11ac) AP, it connects to the
11n AP in 1x1 mode, if a concurrent connection is
present, which affects throughput
Fix is to check whether the current AP channel results
in DBS or not, if yes then change the NSS to 1 instead of
2
Change-Id: I902393be5ea9cf88def9da6b3458bb6048655ce7
CRs-Fixed: 2288362
Move wlan_mac.bin symlink from /persist to /mnt/vendor/persist as
/persist doesn't exist in the filesystem anymore.
Change-Id: Ibb4b7f133222bf5431f754ef5fbf3b3db1ef8729
CRs-Fixed: 2327274
With commit I4ec1268eb491fec04a78b90e51c6e616d95e019e,
the function wlan_reg_get_channel_list_with_power sets
num20MHzChannelsFound to 0 because the current channel
list has not initialized yet for regulatory non-offload
case.
Change-Id: I6a055534f2b9a763a8cbba8fef3062ed6ea424cd
CRs-Fixed: 2319332
Add the basic infra for MLME CFG items and the APIs to be used from
other components for VHT - Part-2
Change-Id: I8f9c8286861c5a7b17d0261cad6c51b431e86f4a
CRs-Fixed: 2322302
Ic3121092c71d5c46e8521a775281ad2c45e3fe7d changed the driver-level DSC
context allocation method from static to dynamic. As a side effect, the
DSC driver lock needed a driver instance pointer instead of grabbing the
global context. However, many of the lock calls were updated to use the
input context pointer before it was validated.
Ensure the input context pointers are validated before using them to
grab the DSC driver lock.
Change-Id: Ifce2d603f3e9b7b7c0869a40f8632988a9509809
CRs-Fixed: 2327110
hdd_close_all_adapters() does not call hdd_close_adapter(), which has
lead to a divergence between the logic contained within. Update
hdd_close_all_adapters() and hdd_close_adapter() to leverage shared
logic to bring them back in sync, and prevent them from diverging again
in the future.
Change-Id: Ic2fe0908a48927a6fc403ca0f4c21275659908b3
CRs-Fixed: 2326433
At ipa wdi initialization host needs to fill structure
ipa_wdi_init_in_params and pass to IPA driver. Currently
host is filling the local stack structure with out zeroing
out the memory and passed to IPA driver. This will lead to
invalid assignment of struct variables to IPA driver copy
for which host did not fill. So before using the ipa wdi
initialization structure mem zero it.
Change-Id: If054c2175741e6f23ebbf2165761aee8e2f8e2f0
CRs-Fixed: 2322734
Upon driver reinitialize after a FW rejuvenate,
data packets are not going through IPA path.
Check for FW rejuvenate scenario during driver
recovery and send appropriate message to IPA
driver.
Change-Id: I8c1d7ba78227684cd5653a5927aa4d4c2ce5d354
Crs-Fixed: 2287293
Replace usage of the below INI Items using MLME CFG instead of HDD config.
gPreventLinkDown
gSelect5GHzMargin
gEnableMemDeepSleep
gEnableCckTxFirOverride
gEnableForceTargetAssert
gEnableLpassSupport
Change-Id: Ib89272c7898db8d0c70a60640e00ca9364a9db74
CRs-Fixed: 2327025