Per the Linux coding style "mixed-case names are frowned upon" and
"so-called Hungarian notation [...] is brain damaged." One identifier
used extensively throughout the driver that violates both of these
tenants is "pMac." In order to be compliant with the Linux coding
style there is a campaign to rename all instances of this identifier.
For this change rename all instances of "pMac" to "mac" in:
lim_send_messages.c
lim_send_messages.h
Change-Id: I65177c603694d8d3075b015a8efae130bfefa817
CRs-Fixed: 2355459
To align with the Linux coding style replace tpPESession with struct
pe_session * in parser_api.
Change-Id: Id660547b461a3fed98cc9edfc4d0731ceac69336
CRs-Fixed: 2353401
To align with the Linux coding style replace tpPESession with struct
pe_session * in nan_datapath.
Change-Id: I2837ca8190d6e8246baf2a5ad1ba9b0cca401cd6
CRs-Fixed: 2353400
To align with the Linux coding style replace tpPESession with struct
pe_session * in cfg_api.
Change-Id: I185237935dcc1edf2242bafce71784fcf8b914b0
CRs-Fixed: 2353399
To align with the Linux coding style replace tpPESession with struct
pe_session * in sme.
Change-Id: I8f716b9b29fa694182c5750d40ec9bd2ddf99fd5
CRs-Fixed: 2353398
Do not unmap mgmt_tx nbuf for HL as the mgmt_tx nbuf is not mapped
in case of HL.
Change-Id: I1e7bf3af09dea357075d897974d3a59e0b439ae4
CRs-Fixed: 2349234
During Vdev start/restart LimProcessDefdMsgs is set to false. If
start/restart timeouts, it will initiate SSR but will not send
response to LIM and thus gLimProcessDefdMsgs will not set to true.
Thus no other commands will be processed in LIM. If any command is
queued in serialization during this time it will timeout.
This will eventually lead to timeout of the vdev destroy command as
it won't get processed until the command in active queue timeout and
it leads to peer and vdev refcount leaks.
To fix it purge all active and pending cmds during SSR, so that vdev
destroy cmd can be processed immediately and can release vdev/peer
ref count.
Change-Id: Id5c15ccb4c27dabfdd4a9e0d7ee9b765130e03bf
CRs-Fixed: 2354899
Cleanup multiple HT related CFG/INI Items which are already moved to the
MLME component.
Also move gShortSlotTimeEnabled INI from HDD to MLME component
Change-Id: Ie8c19f508401d4d72990f35ea5dcc18d45f0f16b
CRs-Fixed: 2354687
Currently, driver without CNSS module can't be unloaded when firmware
crashed. Without CNSS module, driver should set recovery in progress
flag to false when fw dump finished or failed. Driver should add ramdump
memory address and length too.
Change-Id: I672c50bd90ada7ff47ddff64ff3b313a75faff13
CRs-Fixed: 2343124
To align with the Linux coding style replace tpPESession with struct
pe_session * in lim_process_fils.
Change-Id: I319b7663f878fe4344e40a2ead793cc0eae6e804
CRs-Fixed: 2354283
Per the Linux coding style "mixed-case names are frowned upon" and
"so-called Hungarian notation [...] is brain damaged." One identifier
used extensively throughout the driver that violates both of these
tenants is "pMac." In order to be compliant with the Linux coding
style there is a campaign to rename all instances of this identifier.
One instance is the following field in typedef tComebackTimerInfo:
- tpAniSirGlobal pMac;
In order to meet the needs of the campaign all that is really needed
is to rename this field and modify all accesses to this field. However
note that the Linux coding style also objects to typedefs except in a
few cases, and the use case for tComebackTimerInfo does not apply.
Therefore to address the larger problem replace the tComebackTimerInfo
typedef with an appropriately named struct with appropriately named
fields.
Change-Id: I397af122fdf8a2b15fc829411698150ae8b7ef94
CRs-Fixed: 2354998
Per the Linux coding style "mixed-case names are frowned upon" and
"so-called Hungarian notation [...] is brain damaged." One identifier
used extensively throughout the driver that violates both of these
tenants is "pMac." In order to be compliant with the Linux coding
style there is a campaign to rename all instances of this identifier.
One instance is the following field in typedef tCsrTimerInfo:
- tpAniSirGlobal pMac;
In order to meet the needs of the campaign all that is really needed
is to rename this field and modify all accesses to this field. However
note that the Linux coding style also objects to typedefs except in a
few cases, and the use case for tCsrTimerInfo does not apply.
Therefore to address the larger problem replace the tCsrTimerInfo
typedef with an appropriately named struct with appropriately named
fields.
Change-Id: I0bddcbe1057611d4c6e586358f64a29fb4049776
CRs-Fixed: 2354421
Refactor ini items gSapForce11NFor11AC and gGoForce11NFor11AC
into new mlme component.
Change-Id: I85e2f7f9ae14a23c322572290b095aae0f29b0ec
CRs-Fixed: 2354940
To align with the Linux coding style replace tpPESession with struct
pe_session * in ani_global.h.
Change-Id: I201febaf023f3c5c04761a16a3d6b149d3172957
CRs-Fixed: 2353397
Current HTT_H2T messages from host driver does not have
consistency in message length set by host driver. Some
message types include HTC header length also within the
message length, while other types have message length
itself only.
Fix the same by sending same message format based on
firmware capability.
Change-Id: I885a21530a2d8f852387ae54cf7ee0751aad2516
CRs-Fixed: 2145560
Currently all the reports in the last beacon report frame has the
last beacon report indication field set to 1.
Set the last beacon report indication field to 1 only for the last
report in the last frame.
Change-Id: I7c824fc2ba0d26eae906c53b7ebd7c6111fc2379
CRs-Fixed: 2343956
Set the last beacon report indication support in the beacon response
based on the last beacon report indication sub element in the beacon
report request received from the AP.
Change-Id: Ibe190e23379b56af9272368b96cf912e1512f650
CRs-Fixed: 2342697
Add changes to implement the correct Reported Frame Body Frag ID and
last beacon report indication sub-elements for beacon report action
frame
Change-Id: I3776a239c2e0b04d35c2adb58598016b927154c6
CRs-Fixed: 2342678
Once Driver receives APF sub-command QCA_WLAN_SET_PACKET_FILTER,
it posts the message to SME and returns the context. In case
where vdev restarts before sending the APF command to WMI,
driver will drop it since Firmware cannot accept the command
while vdev is down. Upper layer will have no knowledge of this
failure since there is no acknowledgment mechanism for a
successful APF command sent to the Firmware. Once the vdev is up
again, upper layer will send next APF instructions and driver
will allow then to the Firmware. This is problematic since
Firmware cannot operate with the partial APF instructions since
the initial part was dropped.
Hold the vendor command context till the command is successfully
sent to the Firmware. Propagate the errors to the upper layer.
Change-Id: If3cd6fbc85f83c0d78e735e96c00011cd2fd9347
CRs-Fixed: 2350640
Add the following WMM config ini configs to MLME cfg:
1. CFG_QOS_WMM_INFRA_INACTIVITY_INTERVAL_NAME
2. CFG_QOS_WMM_BURST_SIZE_DEFN_NAME
3. CFG_QOS_WMM_TS_INFO_ACK_POLICY_NAME
4. CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_NAME
Introduce the basic infra APIs related to these configs
from mlme.
Change-Id: I149971768a7193099926e2778f093dcd073f0461
CRs-Fixed: 2327692
There is a window where wmi commands are reaching HTC while HTC is
getting stopped in other context irrespective of wma_wmi_stop() which
will lead to memory leaks.
To avoid this issue, flush all scheduler message queues before
proceeding to htc_stop.
Change-Id: I4d0742d7b9df6a9b0401fd4e840ff6a667d353da
CRs-Fixed: 2352291
Currently when a VDEV response timer or Hold request timer expires,
the pointer to the request message is received as data from the
timer callback. The data is dereferenced to get the type and vdev_id
and the corresponding vdev request is found from the vdev resp queue
based on type and vdev_id.
In a scenario where the MC timer has expired and posted a message on
the SYS message queue for the scheduler thread to process and the
response from the FW for the VDEV request is received after the timer
is expired and posted, the response path handled in softirq context
frees the request memory. When the SYS message queue is processed by
the scheduler thread, the vdev resp timer API is called with a stale
pointer to data which has already been freed.
When the data is dereferenced to get the vdev_id and type, use-after-free
happens leading to assert. Since we have the address of the request
from the timer, instead of finding the request in vdev resp queue based
on vdev_id and type, the address based lookup needs to be done.
Lookup the vdev_resp_queue or the hold_req_queue for the request
using the address before dereferencing the request for vdev_id and
type.
Change-Id: I8f19cb81b28bd5500d6cb3aa3da73ebe7faa48b1
CRs-Fixed: 2344681
Add support to configure the FW to send the action frame in
HE trigger based PPDU.
Change-Id: Ie6df5b1cb40c7f1b18a9e86f90b4b8f44ba7bf6b
CRs-Fixed: 2311413