During roam sync indication if the addr3 of the beacon is 0, the
PE session is created with bssid 0. Now if disconnect is received
from AP or heartbeat failure happens, LIM is not able to find the
session from the BSSID and thus VDEV delete is not sent to firmware
but sme session is cleaned up.
If a new connect req is received from supplicant it tries to disconnect
the existing session, but as sme session is not connected, disconnect
is dropped and connect req is processed and thus VDEV start is sent
without VDEV stop leading to firmware crash.
To fix this, if the addr3 of the received beacon/probe in roam sync is
0, update it to BSSID from bssid provided by firmware in the sync
indication.
Change-Id: I9b7e7b6059fbd0e1bb9a59ce28acff469c2ed97b
CRs-Fixed: 2076012
qcacld-2.0 to qcacld-3.0 propagation
If scan is scheduled after long interval there is a chance that driver
is busy with same reason. i.e if scan is scheduled after 5 min there is
a chance that driver is busy in reassoc both time but this will give false
alarm that driver is stuck.
To reduce this condition include number of scan failures as well
along with time interval.
Change-Id: I6fdd0813541aa5d3d069fe8bf3934cfa47425550
CRs-Fixed: 2064605
Update lim_compute_crc32() to pass uint16_t as a length type.
Currently uint8_t is being passed as length and there will be type
mismatch when authentication frame to be encrypted will be larger
than 255 bytes.
Change-Id: Ic009197c13a2d70c9015a184acff2e82bf80eaba
CRs-Fixed: 2060959
Update SIR_MAC_AUTH_CHALLENGE_LENGTH to 253 as per IEEE spec.
Currently value of SIR_MAC_AUTH_CHALLENGE_LENGTH is set to 128.
This may result in potential buffer overflow since frame parser
allows challenge text of length upto 253 but driver can not handle
challenge text longer than 128 bytes.
Change-Id: I7baf860fdde51a14a6573b4f0f26817f5071193e
CRs-Fixed: 2060959
In Emulation setup its difficult to load the driver in the mission
mode and change the mode to FTM mode because of certain hardware
limitations.
Add support to load the driver in FTM mode.
Change-Id: I7e313d1234a8a01fc601c3f7edd75ca3070302d1
CRs-Fixed: 2074551
Currently CSA event is ignored if the new channel is same as
current channel and there is no check for the BW comparison.
CSA can be done to the same channel with different BW. Allow the
CSA processing with same channel if the CSA has the different BW
Change-Id: Ib12c86dccf1c745dfa66c9e712d283af2df7809e
CRs-Fixed: 1102539
Add handler for the new WMI BT activity event and propagate the BT
event till HDD. These BT activity events will be used for MBO
enhancements to decide whether to accept the BTM request from
AP or not.
Change-Id: I687819fd28c693964b42bfb24eb9dae1858b10a5
CRs-Fixed: 2023728
jiffies wrap around can cause the confusion that the threshold
time has has elapsed and thus raise false alarm for scan reject.
To fix this use time_after api to take care of jiffies wrap around.
Change-Id: I20c0abbcaab0bea8054c2f497f41e50572008a8c
CRs-Fixed: 2075451
After iwpriv wlan0 reassoc, reassoc resp with status OK, but
csr_roam_state_change doesn't become eCSR_ROAMING_STATE_JOINED,
Keeps JOINING. When disconnect from AP or key timeout, CSR can't
handle eWNI_SME_DISCONNECT_DONE_IND event, no disconnect event
sent to wpa supplicant, so no reconnect
CRs-Fixed: 2073481
Change-Id: I4966bac1998af95973b5247779fa5e83ad14db93
warning: Taking address of packed member 're_list' of class or
structure 'dfs_event' may result in an unaligned
pointer value [-Waddress-of-packed-member].
Change-Id: I498aebc7631854774302379a96e844fa11be3ea6
CRs-Fixed: 2055487
warning: implicit conversion from enumeration type 'tHiddenssId'
to different enumeration type 'enum nl80211_hidden_ssid'.
Change-Id: I0d6ec78be4d1c9561ee1d3ed1252ed9eb8fdd8ac
CRs-Fixed: 2055487
warning: implicit conversion from enumeration type 'enum dfs_region'
to different enumeration type 'enum nl80211_dfs_regions' [-Wenum-conversion]
Change-Id: I742e767ce72cc8507aaadcacec3f0cefd4147791
CRs-Fixed: 2055487
warning: implicit conversion from enumeration type 'tAniBool'
(aka 'enum eAniBool') to different enumeration type
'eSapBool' [-Wenum-conversion]
Replace tAniBool/eSapBool with bool.
Change-Id: I919488d2accc094049375fffe8b54a5d7dea621e
CRs-Fixed: 2055487
Assoc request buffer is not freed in
lim_send_assoc_req_mgmt_frame in failure cases
Fix is to free memory in the failure cases.
Change-Id: I12c350131baff31e2c761d3480abccdf6d78fe0a
CRs-Fixed: 2063965
Fix implicit conversion from enumeration type 'tSirRetStatus' (aka 'enum
eSirRetStatus') to different enumeration type 'QDF_STATUS'
Fix implicit conversion from enumeration type 'QDF_MODULE_ID' to
different enumeration type 'CDS_MQ_ID'
Fix implicit conversion from enumeration type 'enum eSirResultCodes' to
different enumeration type 'eCsrRoamResult'
Fix implicit conversion from enumeration type 'enum eSirRetStatus' to
different enumeration type 'tSirMacStatusCodes'
Fix implicit conversion from enumeration type 'sme_QosStatusType' to
different enumeration type 'QDF_STATUS'
Fix implicit conversion from enumeration type 'tSirResultCodes' (aka
'enum eSirResultCodes') to different enumeration type 'QDF_STATUS'
Change-Id: I133992192b797619c7bc593fb65e4ca5ca87702b
CRs-Fixed: 2063149
Fix implicit conversion from enumeration type 'tSirResultCodes' (aka
'enum eSirResultCodes') to different enumeration type 'QDF_STATUS'
Change-Id: I693a7cd5213b5dc58395bbeee04292cf4960c36e
CRs-Fixed: 2063149
Currently during wlan startup, driver initializes Green AP with
EGAP param. If the interface timer expires driver sends command
to disable EGAP. This causes failure when interface is created
and start modules attempts to start Green AP.
Move initialization of Green AP to start modules.
Change-Id: Id08a1d61c69aeb9096d8eb4bf67fd8c2b5c8822f
CRs-Fixed: 2074556
Currently peer ref_cnt increments and decrements are done by the caller
function. Wrap peer->ref_cnt increment and decrement into MACRO calls so
they can be tracked.
Change-Id: I64d8b85d5898545bbc5a4b81101d1fd306de3fc9
CRs-Fixed: 2005652
It just enumerates qdf list but do not remove element when cleanup
vdev response queue or hold request queue in wma layer, which cause
element duplicate free. Use adaptive method to cleanup them.
Change-Id: I85f71252c6452d31649295cb13aa0eeef2323b5a
CRs-Fixed: 2073394
In case of reassoc event handler, it may be possible that driver
doesn't inform kernel about the new bss as well as doesn't reset
the reference count of this bss due to memory allocation failure.
Add changes to reset bss reference count if memory allocation
failed.
Change-Id: I6844d9387dd018e24a4d15bd567294e08ae43941
CRs-Fixed: 2075074
qcacld-2.0 to qcacld-3.0 propagation
Checking every node in STA hash table when sending action frame. When
sending action frame, the driver will loop through the STA info hash
table to find all the STA need to recv unicast action frame. The STA
info stored in hash table from the second node to the last, the first
node is empty. But the current loop through policy lost the last node,
so change the loop count to fix this issue.
Change-Id: I323d7af5ea0871677ebf8bebe88eaff072efdac8
CRs-Fixed: 1098738
For encryption mode is WEP40 or WEP104, the default key index should
be set. if not set, the group key index will be zero always.
Change-Id: I3f2dae9d7b6cd4fbb7aa2882e6a5e89cf759cd11
CRs-Fixed: 2065988
Fix the restriction of not sending ROAM_START command if the
previously sent command was an UPDATE_CFG command. There is
no such requirement.If the framework sends a BLACK_LIST update
command, then it is sent to firmware even in case of disconnected
state for the sake of PNO. The subsequent connection triggers a
ROAM_START command and it is not sent to the firmware due to
the current restriction
Move the global flag of saving the status of roam start sent to
firmware into the session
If a ROAM STOP is being sent to the firmware directly to WMA, then
update the relevant flags in the session
Change-Id: I6c42bc7d1e10352883edc7e715ea1418835cd142
CRs-Fixed: 2074836
Call sme close session if sme open session times out, to clean up
the vdev created.
Change-Id: Icd718138d0198a6285243a15eb56ce912149f038
CRs-Fixed: 2043263
The length of buffer used to send wmi roam scan filter cmd is not
properly calculated and the length is less than the data to be copied.
Fix it by properly calculating the length of the buffer.
Change-Id: I971ff3c1313d617cc3174150c738ba20f931d2a1
CRs-Fixed: 2072064
Address the following issues identified for mScanPending:
* Do not ensure mScanPending is set in hdd_cfg80211_scan_done_callback
* Always set mScanPending to false in hdd_start_all_adapters
Change-Id: I233b8208cea0661c1d8834704e44a311e662dc47
CRs-Fixed: 2073232
snr_monitor_enabled in the mac context can be overwritten while
applying sme config again.
Add changes to retain value of snr_monitor_enabled from initial
configuration.
Change-Id: I60522fa27407506522efb45a9c5d3e7a5ac04ef2
CRs-Fixed: 2056870
In the reg channel info which is sent to external channel
selection daemon, Some channel flags are missing which causes
application to select wrong channel.
Add changes to correct channel flags.
Change-Id: I80834dd7f5f4bfbd2fce88084a938356a741140c
CRs-Fixed: 2068354
warning: implicit conversion from enumeration type 'QDF_STATUS' to
different enumeration type 'enum tSirRetStatus' [-Wenum-conversion].
Change-Id: I4627325a927c36f3c4f9bb6d89f04146784d458a
CRs-Fixed: 2055487
warning: implicit conversion from enumeration type 'enum hdd_wmm_user_mode'
to different enumeration type 'eCsrRoamWmmUserModeType' [-Wenum-conversion].
Add a utility function to convert enum hdd_wmm_user_mode to
eCsrRoamWmmUserModeType.
Change-Id: Iefbe7dd55bd51da2e019b528d64f9889abfd4d32
CRs-Fixed: 2055487
warning: implicit conversion from enumeration type 'enum pkt_filter_action' to
different enumeration type 'eSirReceivePacketFilterType' [-Wenum-conversion]
Change-Id: Idc819573712a54676ed0ba84d2032d80fd78b3b7
CRs-Fixed: 2055487