Release napi spinlock only after performing napi state
comparison to avoid any race condition.
Change-Id: Icd7b713e474a818dfc6d0fa402496bbe06a3af66
CRs-Fixed: 2078294
There is a possiblility of invoking spin_unlock without taking
spin_lock in DP tx descriptor prepare function in error path.
This change fixes this issue.
Change-Id: Id4c5c0115b14041865e7f97f930e7023e865eca2
CRs-Fixed: 2088616
sync_completion_queue pass to function hif_dev_issue_recv_packet_bundle
may be NULL when asyncProc is true, and this queue pointer will be
dereferenced in HTC_PACKET_QUEUE_ITERATE_ALLOW_REMOVE.
Add checking before dereference this pointer.
Change-Id: I7e6f7923c819a7af8ed5444853ee74ffe1dd1a76
CRs-Fixed: 2071228
For frames that are dropped by FW/HW and returned to host through WBM HTT path,
freeing of associated ME buffers (for multicast enhancement) and handling of TSO
segments is missing. Create a new function to handle the freeing of buffers in
Tx completion path and call this function in both HTT completion and regular
completion path.
Change-Id: Ibd061830e9325a2b2be9b1779b67b700f4ac08ae
CRs-Fixed: 2004658
In multiple functions of hif_sdio_recv.c and hif_scatter.c, there is
A_ASSERT to check NULL pointers which might null operation if it is
not debug build.
Fix it by adding proper error handle if pointer is NULL
Change-Id: Ib183366d4a1193a3cf22aae2f3431efa761d1d35
CRs-Fixed: 2058905
When TDLS disabled at the build level, it triggers
build failures in some of the projects, which does
not support TDLS feature.
Restructure the TDLS function to avoid build
failures, when TDLS is not enabled.
Change-Id: I3b63546f22d0187fb42d400fd7e15ff7a3d64653
CRs-Fixed: 2056022
Change the log level from ERROR to INFO
for LRO feature specific logs to prevent
packet information from flooding on the
kmsg.
Change-Id: Id65464213d3fb39482b1274a5a6f6c104aff6599
CRs-Fixed: 2082577
Fixed error in flags for mesh rx packets and added versioning support.
ver1 flag setting is missing which is fixed now.
Change-Id: I3e8da3aae34b2c5bdd9679ec7277acf1215ba841
CRs-Fixed: 2071152
We need only 3 bits of cookie field in link descriptor buff_addr_info
to store bank ID. The remaining bytes will be used set a unique ID,
which will be useful in debugging. Also fixed an issue in scatter idle
list setup.
Change-Id: Id3cc9a8a316fe942e749611c2f57e9324419dd40
Analysis:
Seen kernel panic when setting the NULL country code in FW.
Solution:
Send an indication to Offload layer if Firmware fails to set
the country code.
Change-Id: Ic01ee170cfca31d840236625c1d1497426eafc68
CRs-Fixed: 2083318
hif_dev_map_pipe_to_mail_box may return 255 and assign to mbox_index,
which will cause buffer overflow. Another issue is missing NULL check
after allocate memory in function hif_dev_send_buffer.
Fix it by checking NULL/invalid return pointer/index value.
Change-Id: If7b954343847097b7b5b601c684fe6b51d90daa4
CRs-Fixed: 2058300
During HOST AP offload case fw is sending pktlog tx info
with invalid MSDU id. This will result in invalid de-reference
tx descriptor.
Discard pktlog msg for invalid msdu id to handle
the above scenario.
Change-Id: I772ab47d46b373ab0c4a8f7f7266697d4bccd703
CRs-Fixed: 2077611
Average RSSI calculation was incorrect as previous average was
not considered. Consider previous average along with new frames
raw RSSI while calculating average RSSI.
Change-Id: I529802baaf296fc1378a1e89fc0ac00dcc8336da
CRs-Fixed: 2087711
This change adds scan_ctrl_flags_ext to scan command
to support DBS Scan selection policy.
Change-Id: I71727259c0b5984cfc8fd6157ed0066d3cd9b193
CRs-Fixed: 2061031
assign msi vectors to srng rings based on the ext_group they will be
serviced in.
provide support for ext_groups in hif_pci.
Change-Id: If313fdb43b939871c0d73dea9a05f757427b5b16
CRs-Fixed: 2051911
Use sme session id in send_set_ric_req_cmd_tlv() as vdev_id, otherwise
it causes target assert when WMI_ROAM_SET_RIC_REQUEST_CMDID is sent to
firmware.
CRs-Fixed: 2037815
Change-Id: Ic3cb08fc62b3ca006abb78ce3b5d5fa028935783
Depending upon the operating class that the wlan device is operating
in, the channel enumeration can be different. Like in Japan operating
class, the 4.9 Ghz channels have different numbering than the US public
safety channels in US operating class. Therefore use the IEEE80211
defined operating classes and channel numbering.
Change-Id: Id4c20b6295e5d7062a3d1a9516f7c175a9bb71f0
CRs-Fixed: 2048784
Max peer count includes self peer/bss peer as well
Fixed issue in max peer check
Change-Id: I72fd7af1b99760631467ee6bcf92af6a63ee38e1
CRs-Fixed: 2078904
We have race condition between lro flush of hif_napi_poll and MC thread
lro flush while flushing the ol_txrx_cached_bufq packets for peer. Avoid
the situation by simply marking the all the Rx packets as LRO ineligible
while enqueuing packets to ol_rx_cached_buf.
Change-Id: Ief0d7dd6c25cf45912820f0e237fd1179a57a5c7
CRs-Fixed: 2032674
warning: implicit conversion from enumeration type
'qdf_nbuf_l4_rx_cksum_result_t' to different enumeration
type 'qdf_nbuf_l4_rx_cksum_type_t
Change-Id: Ib6d9e863d6355746138c4b087a0cb19f12404f75
CRs-Fixed: 2055513
On low memory conditions, qdf_mem_malloc_debug() fails and
on failure it triggers a host diag event to user space
which again tries to allocate memory using qdf_mem_malloc_debug()
which fails and this loop continues and might have caused
workqueue to get stuck.
Fix this by not sending the host diag event to user space on
low memory conditions.
Change-Id: I5bd302dfa372d40c570eaa830ed82a0bbaddc51f
CRs-Fixed: 2026975
policy_mgr_mode_specific_modification_on_pcl to be called for the
connection type for which get_pcl is called.
Change-Id: I78010ebf877130eca9eaa0074a833fb5b7faa4a1
CRs-Fixed: 2079986
Gcc 6 introduces some stricter checking for indentation,
causing warnings of misleading-indentation, which are
treated as build errors when CLD3.x drivers are compiled.
Fix all the identation warnings under qcacmn branch.
Change-Id: I50b5eb093f08be118a29ff58e1bc3d7f2518e0bf
CRs-Fixed: 2058147
Read the ppdu id from MPDU start TLV instead of
ATTENTION TLV. The MPDU could extend to multiple
SKB buffer. The ATTENTION TLV will be in the TLV
of last SKB buffer. MPDU start will be in the
first SKB buffer in MPDU. Read ppdu id from MPDU
start TLV guarentee the correct reading
The msdu count in MPDU from REO entrance ring is for
msdu count for decap frame or MPDU count for not decap
frame. msdu length in msdu desc info is for msdu
length for decap frame or MPDU length for not decap
frame. The MPDU could extend to multiple SKB.
The continous bit in msdu desc info indicate if
the MPDU/MSDU extend to next SKB. code is modified
accordingly.
Change-Id: If9aeb278f84a57d64651e1f877b5185f6db63cd2
Increase the number of bits allocated for page mask to
accomodate upto 16K descriptors needed in Tx path
Change-Id: I9a1a2757be353c3bd9f78773b87cca7c86041b9c
CRs-Fixed: 2004658