rrm_process_beacon_report_xmit() fills the local structure on stack
but does not copy it to allocated frame buffer. Modified the code
to use a pointer to that report in the buffer.
CRs-Fixed: 1058403
Change-Id: If0c825febc1e2000e46786edfca96b0959626eaa
When WOW wakeup host event is received with reason code
PATTERN_MATCH_FOUND the host and destination mac addresses
parsed are printed interchanged.
Fix by correctly ordering the source and destination MAC
addresses in the print.
Change-Id: Iea7853d75de4f60d394704de7ba0d5d64925c78f
CRs-Fixed: 1059498
With the new statemachine cds start/stop will not be invoked without an
interface up from upperlayer. As part of cds stop host sends de-initialization
sequence to firmware, If there is no interface up from the upper layer and
driver gets removed, host driver dosent send the de-init
inidication to firmware and starts closing its modules because of this
fw & host are out of sync.
To migitate the issue send the de-init sequence during if the modules are
opened but not enabled.
Change-Id: Ice85f995a870e69e52b4fcf2fac13761bf1a63a1
CRs-Fixed: 1060893
PM suspend and FW interrupt handler is running at same time
which is leading to multiple race conditions and host is missing
FW wake up interrupt which is causing APPS not waking up reliably.
Define .suspend_noirq and .resume_noirq callbacks and make
sure there is no pending FW interrupt before allowing PM
suspend to complete. Kernel PM suspend framework gives guarantee
that suspend_noirq and device interrupt handler can't run
simultaneously. This helps WLAN driver to reliably detect FW
wake up interrupt during PM suspend and fail PM suspend gracefully
if FW has requested for initial wake up.
Change-Id: I9e55f58aee29017fe09efeb5231b8be23053f7b7
CRs-Fixed: 1060748
Country code comparison result is checked against true value,
but the comparison result is non-zero if the country code is
valid, hence checking the result against true fails and do
not set the country code.
Correct the conditional logic to check if the given country
valid or not.
Change-Id: Id893cfec8571939e4e455fa35ea95310f4c77263
CRs-Fixed: 1060242
If AP's channel width is greater than 80MHz and
AP supports Nss > 1 in 160MHz mode then connect the
STA in 2x2 80MHz mode instead of connecting in 160MHz
mode.
Change-Id: Icf179b34603397642f517944e45714d830f909e7
CRs-Fixed: 1059532
qcacld-2.0 to qcacld-3.0 propagation
As per the current logic during start bss failure scenario
SAP/GO session is not closed resulting in vdev leakage.
Due to above leakage new interface creation with same MAC
address results in target assert.
Make change to cleanup SAP/GO session on start bss failure.
Change-Id: I785b4486f439646e2119adc87895ed95c6b80de6
CRs-Fixed: 954601
Register suspend_noirq/resume_noirq callbacks to kernel. It will
make sure no wake up is pending from FW and if initial wake up is
received then failing it should trigger resume.
CRs-Fixed: 1060669
Change-Id: Ifce8edc5db8c0410c5cddd24aceb88675f8ced42
WLAN HDD IPA logging is enabled by default, due to this
cnss deamon is spending a lot time in big cluster and
resulting in less cpu quantum for rx processing. Move IPA
data path logs to HDD_DATA module ID from HDD module ID.
Propagation from qcacld-2.0 to qcacld-3.0.
Change-Id: Ied13b8655d9e2831fb097156c8fb72239b443f94
CRs-Fixed: 1031987
qcacld-2.0 to qcacld-3.0 propagation
Currently, we are not waiting for tdls_mgmt_comp since supplicant doesn't
consider return status but if discvery request/response are sent and
mgmtTxCompletionStatus is not set to return status from FW then next
consecutive TDLS request's from supplicant are denied which will lead
to TDLS connection failure.
Fix is to wait for tdls_mgmt_comp for TDLS discover request/response and
then return success/failure status to supplicant.
Change-Id: I5e825b615095231412f3a82367babaa89e1ab5b3
CRs-Fixed: 973947
qcacld-2.0 to qcacld-3.0 propagation
During WPS registration process the psession encryption type is 0.
Now if AP's beacon have RSN IE, while processing beacons security
mismatch is detected and DUT sends unicast probe request without
WPS IE.
To avoid this ignore security mismatch during WPS registration.
Change-Id: Ic1b4de116ec6a99749ec3d8ba28b29d52190c344
CRs-Fixed: 967553
qcacld-2.0 to qcacld-3.0 propagation
After connection, driver process beacon to detect any change in
AP's capabilities. Currently if privacy bit is set in beacon and
if rsn or wpa bit is not set, driver issues disconnect command.
In case of HS2.0, all security capabilities are part of vendor
specific information. Hence, both wpa and rsn bit is 0, though
privacy bit is set. Since driver considers it as a change in AP
security params, it issues disconnect. As a part of fix, make sure
that for OSEN capabilities disconnect is not issued.
Change-Id: I800bea0448256f663f61bccf6b0ec6b0f71d824b
CRs-Fixed: 796397
Ensure that the channel state is checked to see if it is a DFS
channel before stopping the transmission on the interface. Currently,
on radar detection, transmission is getting stopped for all the
SAP/P2P-GO interfaces. This affects SAP+SAP case where one SAP is on
a DFS channel and the other SAP is on a non-DFS channel. On radar
detection, the transmission is getting stopped for both the SAP
interfaces. But, the transmission should be stopped only for the
interface that is operating on DFS channel. Fix the same by checking
the channel state before stopping the transmissions.
Change-Id: I564980534bc0d943db8da300439e1d072715f462
CRs-Fixed: 1061559
When inactivity timer on the interface's expires it closes all the
cds modules, when rmmod is given after the modules are closed hif_ctx
will be null. There is a invalid check during the driver remove for
valid hif_ctx which is blocking from the proper cleanup of the driver.
Since hif_ctx is not used any more during the driver remove function.
Remove hif_ctx validation during the driver unload.
Change-Id: I32dce7a0b503cc4fe028d4e5992402fe7b4886a7
CRs-Fixed: 1060810
In qcacld-3.0 HDD has converged on a core set of service level logging
APIs. However hddlog() extensively used in wlan_hdd_tdls.c file.
Replace hddlog instances with corresponding hdd_* api's.
Change-Id: I3fde4c08488a395c974508b54b21f7e92bfc0a4a
CRs-Fixed: 937688
Fix the address compare operation that is used for defragmentation.
Also add hook to release the debug qdf node.
Change-Id: I782e0234d5b61bb118578788947aa8b13e8e189c
CRs-Fixed: 1059538
Get channel width from supplicant and update channel params in
pRoamProfile so that IBSS can be configure in VHT channel width
and rates from supplicant.
Change-Id: Iffd3b7160ec2c6c5343bd26144d47afbbbd87ccd
CRs-Fixed: 1051254
In case of dynamic mode driver load/unload, a timer is started
whenever driver is loaded. If some iface don't come up in certain
amount of time, this timer expires resulting in cleanup of hif_softc
structure. This structure has LRO flush callback stored in it which
also gets removed as part of cleanup. As this callback is stored only
at the time of driver load, this cause a break in LRO functionality
and also an assert in HOST driver as driver is trying to remove the
callback at the time of driver unload which has already been removed
at the time of timer expiration.
Do LRO enable and disable at the time of ifconfig up and ifconfig
down. This ensures that even after the modules are cleaned when
timer expires, the callback is registered again at the time of
ifconfig up.
Change-Id: I91116d4ff4fe8f24671f63b2c73759fe9e088172
CRs-Fixed: 1059720
Currently, for BPF wakeup reason, there is no log statistics.
Add BPF wakeup reason stats.
Change-Id: I469370fc576b83c8118bb73a5679d0f529555047
CRs-Fixed: 1060615
qcacld-2.0 to qcacld-3.0 propagation
Before sending the unsafe channel list to the application, first
update the platform driver so that other driver who is reading
the channel list from platform driver will get the correct channel
list.
Change-Id: I72421f80e1e354039eee2fc87b5f988592e33c9c
CRs-Fixed: 998048
qcacld-2.0 to qcacld-3.0 propagation
Currently the max value supported for ini gEGAPWaitTime is 5000.
Changing this value to 300000 (5 min).
Change-Id: I93c57fbf2bb9ba2d8a9d02290e95b8fe3d996968
CRs-Fixed: 971446
qcacld-2.0 to qcacld-3.0 propagation
Currently there are many logs which adds new line
explicitly. As part of logging enhancement, remove
such extra space lines.
Change-Id: Idee9ff6a2e0452991f7d50a986c26f36303defd1
CRs-Fixed: 974415
qcacld-2.0 to qcacld-3.0 propagation
IEEE P802.11-REVmc require VHT TX POWER ENVELOPE IE in the beacons.
Extract VHT TX POWER ENVELOPE IE from hostapd beacon template
passed through start/change cfg80211 API and include it in driver
beacon template.
Change-Id: I8ef00ebbd44e71219d47f5a8cec6496e78cb7c66
CRs-Fixed: 984779
qcacld-2.0 to qcacld-3.0 propagation
In some case when complete preferred channel list is unsafe,
SAP won't be able to pick any channel as operating channel.
This will lead to SAP start failure.
Fix this issue by making first channel from preferred channel
list as operating channel.
Change-Id: Id2bd177b15bd7089250a49019a9c751a691dac01
CRs-Fixed: 1026420
qcacld-2.0 to qcacld-3.0 propagation
In lim_process_mlm_deauth_ind API , peerMacAddr is used to
search the session. For AP mode we cannot get the session
based on peer mac address. Because of this there is false
error print to kmsg .
Fix is to call lim_process_mlm_deauth_ind API only for STA
mode as for SAP mode there is no functionality in this API.
Change-Id: I2043b1e35e93b049ca1b73dae702a257780b2d0f
CRs-Fixed: 1056746
qcacld-2.0 to qcacld-3.0 propagation
Curretly driver doesn't add ext IE in unicast probe request which
it gets from supplicant.
Add the changes to add ext IEs in unicast probe request and
assoc request.
CRs-Fixed: 977188
Change-Id: Idacfa287d17a2409f054421229d04ff087aa28d8
qcacld-2.0 to qcacld-3.0 propagation
SoftAP should check gEnableVhtFor24GHzBand ini variable before
enabling vht mode in 2.4Ghz mode.
Added changes to turn off vht mode if gEnableVhtFor24GHzBand is
disabled for 2.4Ghz.
Change-Id: I135e5449f95342a98abfa0b9cd5b1849a84c5c4c
CRs-Fixed: 988240
qcacld-2.0 to qcacld-3.0 propagation
DUT sends continuous GO Negotiation Response for the request
while ROC is in progress. These frames increase timeout of
cancel ROC timer and ROC is not removed from the active timout.
This can cause ROC to be in active cmd list even after current
timeout value.
Add changes to return from active timeout handler in case of ROC.
Change-Id: I58577b5d2addf7614d8ee458df0ce4632dafa7c0
CRs-Fixed: 990808
qcacld-2.0 to qcacld-3.0 propagation
Memory allocated for dfs filters in dfs_attach() API
does not get freed in failure case.
Add changes to fix memory leak issue.
Change-Id: Icdd4a382685471c0d3cf8115cec30fcb307eedfb
CRs-Fixed: 1038603
qcacld-2.0 to qcacld-3.0 propagation
It may be possible to have random data in re_flag which may
cause extra processing of the phy error in case of dfs event.
Add change to initialize re_flag variable with zero.
Change-Id: I1f38bed9471de60cb32da3ac31eb1e08011c2074
CRs-Fixed: 1028556
qcacld-2.0 to qcacld-3.0 propagation
Currently few MTRACE logs are logged repetitively which leads to
overwriting of other important MTRACE logs.
To avoid this,
1. Remove MTRACE logs which are seen repetitively in scan,
connect/disconnect path and few timer functions.
2. Remove MTRACE log in lim_process_mlm_req_messages() and
lim_process_sme_req_messages() as few enums already logged in
lim_process_messages().
Add MTRACE log in lim_post_mlm_message() and lim_post_sme_message() for
the rest of enums which are not logged in lim_process_messages()
Change-Id: I1478f3e9ab8fb57d8b8b2f65cf2eb3450eb7b64c
CRs-Fixed: 855840