During SSR firmware is reloaded and FW responses for previous
vdev sessions are not received. Thus cleanup FW response timers
on SSR.
CRs-fixed: 2005625
Change-Id: I95e2d85b29da240d372039deeece9db6add74edb
During SSR firmware is reloaded and FW responses for previous
vdev sessions are not received. Thus check for SSR before host
crash trigger on FW timeout.
Change-Id: I8be8b7264c133fa115a5b6ac6a3b865f7040e739
CRs-fixed: 2005995
qcacld-2.0 to qcacld-3.0 propagation
Presently, during subsystem restart Host is sending sap restart
indication to framework(via carrier off) to do SAP unload/load.
But SAP restart functionality is removed in framework when the
carrier off event is received, leading SAP fails to come-up
after subsystem restart.
Add support in driver to do SAP restart internally without sending
restart indication to framework, during subsystem restart.
This feature is controlled by ini param 'gEnableSapInternalRestart'
and by default it's enabled.
Change-Id: I76cb73c1887d4d8124cd9a1c29b9aac47642072a
CRs-Fixed: 1105651
For testing purposes, expose the ability to override the interface pause
setting sent to firmware during WoW enable. Relatedly, allow userspace
to specify which wakeup trigger firmware should use, instead of assuming
HTC wakeup.
Change-Id: I265ccef7ca5304c94bcb5ff2eb9a3d35cfa74191
CRs-Fixed: 2011131
wmi_desc cleanup for UMAC convergence as mgmt_txrx_desc
to be used in place of wmi_desc.
Change-Id: I48c1b965096610373a850fcf834288a15bd2ad19
CRs-Fixed: 1103247
Send beacon frame in wmi_roam_invoke_cmd to firmware.
This helps firmware skip scan to connect to requested
BSSID.
Change-Id: I5c6e375309dcb3bdd6430a3d501bade5cfe2e88d
CRs-Fixed: 1116901
Add WMA changes for WMI (ext)service ready event common parsing
to populate common psoc object with service ready data such that
new components can get service ready data from common psoc object.
Change-Id: I5bc42a7534aebd6877fc02378b2e698d2d021383
CRs-Fixed: 1110768
Remove serialization from sme_open_session and sme_close_session,
as these events are going to be serialized through following.
1) Two back to back open sessions can't come because kernel will
serialize using rtnl locks. Same goes for close sessions.
2) Even if two open sessions or close sessions comes back to back
from driver itself or from other sources then HDD will make-sure
of serialization through wait_for_completion_timeout call.
Change-Id: I0e27d6dc72e26589b5973bd7668a1783ac132477
CRs-Fixed: 2005532
Change signature of pe_handle_mgmt_frame, wma_form_rx_packet
and wma_mgmt_rx_process APIs by replacing rx params of type
void pointer with that of struct mgmt_rx_event_params pointer.
Change-Id: Idfa54f1c9bfec22a2cf2e98740765dcd797513df
CRs-Fixed: 1103247
Some functions are only used in the file which it is defined
in. Add "static" before function to fix compilation error.
Change-Id: Ie99c8e2a2c4dd6564c19876f8456a47786d3e5cb
CRs-Fixed: 1112463
WMI flush event handler is spamming kernel log buffer hence remove
it. Logger thread already logs when log message is delivered to
user space hence logging in WMI is not needed.
Change-Id: Ie8f8eb904f0417f83870058d7eac67622955b15a
CRs-Fixed: 2007373
Logging events should not be serialized to scheduler thread hence
de-serialize WMI debug flush log event id from scheduler thread
and register it to run in kernel's default event work queue.
Change-Id: I36d7542da43e6814b5bd50bdc8c166d1fc692e35
CRs-Fixed: 2006819
wma flush log event handler is registered during wma_start which
is not done until interface is up. This leads to excessive logging
from WMI layer because event handler is not registered. Move wma
flush log event handler registration to wma_open such that after
driver load FW log flush events are handled properly.
Change-Id: I5a76bbc7d53dacfd2c9bf7f15b73b46e0df85289
CRs-Fixed: 2006818
In the case of concurrency, when the session decrements, the
opportunistic timer is started. After a while, when the
opportunistic time is expired, and the hw mode change for SMM
is issued, and the same time new interface comes up, then the
new forms MCC with the existing connection instead of forming
DBS.
The change is to avoid the race condition to form MCC instead of
DBS.
Change-Id: I977039138509676b964ba089e3cb479cd16968bb
CRs-Fixed: 2006350
Add get and release reference counts for PSOC/PDEV/VDEV/PEER
objects reference storing and releasing as per the latest reference
count implementation.
Change-Id: I1715be7f8e47b52fa36bb070443051dd99703eb0
CRs-Fixed: 2001058
Remove all calls to cdp_remove_peers_for_vdev().
cdp_remove_peers_for_vdev() is called from vdev_resp_handler
to remove all vdev peers. All the peers associated with the vdev
are deleted before vdev stop and hence this call to
cdp_remove_peers_for_vdev() is redundant.
Delete only the self peer and remove the code to delete the
vdev peers.
Change-Id: I8a91509917a371b860058a66831d8417b3a78671
CRs-Fixed: 2002372
qcacld-2.0 to qcacld-3.0 propagation
Currently host only report connected frequency and noise in
survey dump.
Add changes to report all supported frequencies, active time,
TX time, busy time and noise.
CRs-Fixed: 1061040
Change-Id: I2fa509f53b47d65ba0f4abbc438834b85b9c21f6
Vendor ACS requires regulatory channel info for each channel.
Add changes to collect channel information of each channel
and save it in sap config.
Change-Id: Ib96c3f7ddfc8476306e9a13127472be9dd0a9488
CRs-Fixed: 1110061
In monitor mode, wma_set_channel api is filling the
vdev response wait queue before sending the WMI_PDEV_SET_CHANNEL_CMDID
command to firmware and expecting it will be dequeued after response
from firmware but firmware doesn't send any response
to PDEV set channel command which is causing WMA timeout.
Don't fill the vdev request wait queue for WMI_PDEV_SET_CHANNEL_CMDID
command as firmware doesn't send any response.
Change-Id: If1849440143ed671e0261685a53b8a86f4f8e29c
CRs-Fixed: 2003707
This is a qcacld-2.0 to qcacld-3.0 propagation.
In wma_remove_peer, sometimes when peer detach is in progress,
and it has set the peer as invalid, but WMI_PEER_DELETE_CMDID
is still not sent to FW, so msdu for the peer still can be
received. In htt_rx_amsdu_rx_in_order_pop_ll, it will print
a lot of error log, which will cause watch dog.
Send peer delete cmd to FW firstly, then detach peer in host.
In qcacld-3.0, it doesn't have watch dog issue, as the print has
been removed from htt_rx_amsdu_rx_in_order_pop_ll, but it is still
worth to adjust to the right sequence.
Change-Id: Ia26aa5e673a48ca1d9ccf4f184d0bfab0d6e98ef
CRs-Fixed: 1070216
When CONFIG_WLAN_FEATURE_DSRC is enabled the resulting build fails due
to -Wmissing-prototypes warnings in wma_ocb.c. Fix these warnings by
making the OCB response event handlers static.
Change-Id: I041ff4ebce7c5c8f99c7567fec913b9adf3e53e9
CRs-Fixed: 2002870
During suspend, the host driver asserts if the firmware does not
respond in a set amount of time. Avoid this assert if the driver
is loading or unloading when the suspend operation times out.
Change-Id: I38ff8663e29bcf1a373c1b91c8c358e2b037577d
CRs-Fixed: 2003478
1) Add enhancements to the existing log prints for lFR3
with respect to host driver code.
2) Fix memory leak in Wma roaming config handler.
Change-Id: If3e26a7f374673a4c7c11862e94f042bcf9d3c58
CRs-Fixed: 1109354
Propagation from qcacld-2.0 to qcacld-3.0.
Add support to dump information for ICMPV6 RS and RA packets in
wow wakeup stats.
Change-Id: I1a2852189664fff31e29b487d7a8c66ee83931c5
CRs-Fixed: 1115364
A new HDD Request Management framework is being deployed. One of the
requirements of that framework is that every request API must have a
provision for a caller-supplied context, and that caller-supplied
context must be returned to the caller when the callback function is
invoked.
Currently sme_encrypt_decrypt_msg() is not aligned with that
requirement. There is no provision for a caller-supplied context;
instead the HDD handle which is stored in the MAC context is always
returned.
In order to prepare sme_encrypt_decrypt_msg() for the HDD Request
Management framework update the curent implementation as follows:
1) Remove the separate registration and deregistration of the callback
function pointer, and instead make the callback function and
callback context parameters to sme_encrypt_decrypt_msg().
2) Pass the callback context when invoking the callback function.
Change-Id: I6e8c5405393f4cb732d9874ac07145caf5e95cac
CRs-Fixed: 2000026
A new HDD Request Management framework is being deployed. One of the
requirements of that framework is that every request API must have a
provision for a caller-supplied context, and that caller-supplied
context must be returned to the caller when the callback function is
invoked.
Currently sme_get_bpf_offload_capabilities() is not aligned with that
requirement. There is no provision for a caller-supplied context;
instead the HDD handle which is stored in the MAC context is always
returned.
In order to prepare sme_get_bpf_offload_capabilities() for the HDD
Request Management framework update the curent implementation as
follows:
1) Remove the separate registration and deregistration of the callback
function pointer, and instead make the callback function and
callback context parameters to sme_get_bpf_offload_capabilities().
2) Pass the callback context when invoking the callback function.
Change-Id: I3967fdf9b002d961b0ec9a7ea78e7783b47c50a3
CRs-Fixed: 2000024
While sending WMI_REQUEST_STATS_CMDID, wma stores the request in a
allocated buffer, which is freed once firmware response is received.
However in case of driver unload, before we receive firmware event,
the buffer will not be freed and that will be leaked. Fix the memory
leak by checking for these buffers at time of wma_wmi_service_close.
Change-Id: Ie8fd5faec22ceaba415a26becf98030bc7cc13ce
CRs-Fixed: 1116622
Legacy message posting api cds_send_mb_message_to_mac does not
belong to cds and is relocated to WMA legacy file hence rename
it accordingly.
Change-Id: I68e868b0019896baa91e34418064b33219eef2ca
CRs-Fixed: 2000246
After control path scheduler componentization cds_mq.[ch]
needs to be deleted hence remove legacy UMAC message posting
API to WMA legacy file.
Change-Id: I781a7586cb6dbf635e283eacd38c768a6b7f6d3e
CRs-Fixed: 2000234
Fix cdp API null check in wma_is_pkt_drop_candidate. Add check
if _last_received is greater than 0 before checking for DOS
attack.
Change-Id: Ic817e9a3d59100be5cb97f833985b7633391e1ca
CRs-Fixed: 1115648
After roaming, FW tries to detect for a subnet change and if
there is a change, then it wakes up the host if it is suspended.
Upon waking up, host handles the roam synch and indicates event
to supplicant. The event to supplicant from host could be
delayed.
Fix is to add wakelock for roam handoff.
Change-Id: I777d37993784c623542dad898e255205ec1bae53
CRs-Fixed: 1115355
Currently, when an unhandled WMA message is received, it is ignored and
a debug-level log is issued. Promote unhandled WMA message logs to
error-level to help in finding unnecessary posts to WMA.
Change-Id: Id3d068f33d545b1d0620520ac24adda5778a1d68
CRs-Fixed: 1115514
sme_configure_rxp_filter() sends a WMA message type that isn't being
handled, effectively making it dead code. Remove
sme_configure_rxp_filter and cleanup calling contexts as necessary.
Change-Id: I04190111e1c714cf93b42c9f17ea4d80049ee98d
CRs-Fixed: 1114226
Use inline functions to access mgmt_txrx southbound API's.
This will remove the need to invoke these directly from the
structures.
Change-Id: I50f71261618fd6812265738597bd6f2968cef692
CRs-Fixed: 1110551
Complete cld driver is using common scheduler message queue APIs
hence remove redundant type casts associated with scheduler message
queue structures and APIs.
Change-Id: Ia5d6208cc365acd94f20bbc7cadc0e22be6fbd01
CRs-Fixed: 1114379
After control path scheduler componentization every legacy module
is supposed to use common converged scheduler message types and APIs.
Remove duplicate tSirMsgQ message types in mac and use converged scheduler
message queue APIs.
Change-Id: If47df18043f8127a20a72562bf45afe37dabca72
CRs-Fixed: 1114378
After control path scheduler componentization CDS message queue
APIs are no longer used hence remove obsolete CDS mq APIs from CDS
module.
Change-Id: I7d83783d9fd126bb8b17a5c3292eac91c0966280
CRs-Fixed: 1114375
After control path scheduler componentization CDS message queue
APIs are no longer used hence replace CDS mq APIs in WMA module
by scheduler mq APIs.
Change-Id: I57e878480eff8998a307bbacf3e480b8b77b9f3a
CRs-Fixed: 1114371
propagation from qcacld-2.0 to qcacld-3.0
In NDP non-auto responder mode, peer create happens despite
the response request status is indicated as failure from the
framework as the status of the NDP responder request is not
saved in the protocol engine. So, later when host receives
responder response from the firmware, host does not check
responder request status before sending peer create request.
Fix by sending ndp peer create request only if the firware request
a peer create by setting a flag in responder response message. This
way host does not need to save the responder request success/failure
status per NAN service. Firmware sets the peer create flag to true
only if the status flag in the responder request was indicated as
success.
Change-Id: I4fc8429e71a10829726990cf218720f6f99b085c
CRs-Fixed: 1086217