Commit graph

3,209 commits

Author SHA1 Message Date
Venkateswara Swamy Bandaru
cde5599118 qcacmn: Fix mesh rx packets stats
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
2017-08-08 14:14:36 -07:00
Tallapragada Kalyan
105038008d qcacmn: Add support for DP RX checksum offload
add support for TCP, UDP and IP checksum offload in RX path

Change-Id: Id148523419cc48d094e100f51d39e6f95b21928f
2017-08-08 12:06:12 -07:00
Karunakar Dasineni
dbaf4bed59 qcacmn: Link descriptor IDs to assist debug
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
2017-08-08 12:06:10 -07:00
Tushnim Bhattacharyya
b566893775 qcacmn: Add scan_ctrl_flags_ext to scan command
This change adds scan_ctrl_flags_ext to scan command
to support DBS Scan selection policy, adding policy
manager logic conditionally.

Change-Id: I424e107aac67fa5bac8ff72b023a5fe8c7e89bbc
CRs-Fixed: 2061031
2017-08-08 12:06:09 -07:00
Shashikala Prabhu
3519b96e24 qcacmn: Fixed regdb kernel panic
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
2017-08-08 02:25:47 -07:00
Will Huang
f3a2ea90b8 qcacmn: Check mbox_index as index and check pointer
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
2017-08-08 01:21:48 -07:00
Yun Park
fde6b9e551 qcacmn: Enable WLAN host data path support for IPA WDI3.0
Change to support WLAN Napier host autonomy data path architecture.

Change-Id: I07f7592d547bb796a3c12bbc4745cee22e2c0022
CRs-Fixed: 2064810
2017-08-07 17:47:38 -07:00
Zhu Jianmin
25ff719058 qcacmn: qcacld-3.0: Discard pktlog message for invalid msdu id
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
2017-08-07 05:08:32 -07:00
Edayilliam Jayadev
f9400bd5ab qcacmn: Fixing tlv length in spectral wmi command
CRs-Fixed: 2062535
Change-Id: Ic7d92272324c0d6ab6f84cf9b2dd9f9ab0019f9e
2017-08-06 21:46:58 -07:00
Ajit Pal Singh
d27d746357 qcacmn: Decrease REO DEST RING size for QCA6290
Reduce REO_DST_RING_SIZE to 1024 for QCA6290

Change-Id: I1e5ac1dcf2edd82b80b15995c29dddb16b7e56bd
CRs-Fixed: 2084719
2017-08-06 19:46:00 -07:00
Om Prakash Tripathi
51052df409 qcacmn: Fix average RSSI calculation of scan entries
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
2017-08-06 19:45:59 -07:00
Ganesh Kondabattini
34e0131b30 qcacmn: Add wmi command to set limit off chan parameters
Add WMI command for setting limit off channel command
parameters to firmware.

CRs-Fixed: 2068307
Change-Id: Ia99f1b4d4fe33082a561c9307af9d76ae16d8be4
2017-08-06 19:45:58 -07:00
Ganesh Kondabattini
db183ccb8c qcacmn: Add scan_ctrl_flags_ext to scan command
This change adds scan_ctrl_flags_ext to scan command
to support DBS Scan selection policy.

Change-Id: I71727259c0b5984cfc8fd6157ed0066d3cd9b193
CRs-Fixed: 2061031
2017-08-06 14:48:06 -07:00
psimha
c983d7ee09 qcacmn: Use interrupt polling only for monitor mode
Add logic to use MSI interrupts for mission & polling for monitor mode

Change-Id: Ieb824c2eb370040a125f743ec699954bdca9c83d
CRs-Fixed: 2051911
2017-08-06 10:47:17 -07:00
Houston Hoffman
648a918927 qcacmn: Enable msi support for ext_group ring groupings
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
2017-08-06 10:47:16 -07:00
Deepak Dhamdhere
811c917719 qcacmn: Use sme session id in set_ric_req command
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
2017-08-06 03:57:40 -07:00
Houston Hoffman
4e2df40247 qcacmn: Support hal detach
Cleanup paths were missing hal detach hook.

Change-Id: I175a60b52b8d61dacf5f7040c223073bd09d7ba6
CRs-Fixed: 2051903
2017-08-06 00:59:38 -07:00
Amar Singhal
eea0ef4450 qcacmn: Add dynamic channel enumeration
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
2017-08-06 00:59:37 -07:00
psimha
61b1a36f72 qcacmn: Add NAPI stats
Add basic stats to track NAPI polls & schedules.

Change-Id: Iea8f21fc08d4a5de62e00f32ffdc020f8364ced1
CRs-Fixed: 2083867
2017-08-04 15:35:43 -07:00
Shashikala Prabhu
385c7c0eb0 qcacmn: Initialize zero cac dfs lock
Initialize zero cac dfs precac lock.

Change-Id: I0b12c765d0476a78cddcaca2b0153f7510e56c6c
CRs-Fixed: 2080572
2017-08-04 15:35:42 -07:00
Srinivas Pitla
4a3f486e6e qcacmn: Add max peer count and peer count support to pdev
Max peer count includes self peer/bss peer as well
Fixed issue in max peer check

Change-Id: I72fd7af1b99760631467ee6bcf92af6a63ee38e1
CRs-Fixed: 2078904
2017-08-04 06:04:56 -07:00
Manjunathappa Prakash
8804f978eb qcacmn: Do not LRO aggregate if peer is not connected
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
2017-08-03 19:48:40 -07:00
Srinivas Girigowda
43fa6527d4 qcacmn: Enable FATAL/ERROR/WARN/INFO log levels to console
Enable FATAL/ERROR/WARN/INFO log levels to console.

Change-Id: I54ea83ded49fcb2f1e8e1c13973ee8035dc9ce5d
CRs-Fixed: 2017427
2017-08-03 19:48:38 -07:00
Srinivas Girigowda
ee8f5dbf4b qcacmn: Utils: Reduce the log spam in kmsg
Move the logs to appropriate log levels to reduce
the log spam in kmsg.

Change-Id: I27ca212113513b15f159aa26da67e03bd3a73a9a
CRs-Fixed: 2017427
2017-08-03 19:48:36 -07:00
Srinivas Girigowda
2cde14e687 qcacmn: Fix clang warnings enum qdf_nbuf_l4_rx_cksum_result_t
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
2017-08-03 19:48:35 -07:00
Srinivas Girigowda
3188f98125 qcacmn: Fix recursive memory allocation failure
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
2017-08-03 19:48:33 -07:00
Srinivas Girigowda
bc4a19290d qcacmn: Fix clang warning: redefinition of typedef 'qdf_mutex_t'
drivers/staging/qcacld-3.0/../qca-wifi-host-cmn/qdf/linux/src/qdf_lock.c:42:23:
warning: redefinition of typedef 'qdf_mutex_t' is a C11 feature [-Wtypedef-redefinition]
typedef __qdf_mutex_t qdf_mutex_t;
                      ^
drivers/staging/qcacld-3.0/../qca-wifi-host-cmn/qdf/inc/qdf_lock.h:240:23:
note: previous definition is here
typedef __qdf_mutex_t qdf_mutex_t;

Change-Id: Ib8a66843e22595d5ba07a38606032679c3c1b46d
CRs-Fixed: 2055513
2017-08-03 19:48:31 -07:00
Srinivas Girigowda
f6b3aacb2e qcacmn: Add qdf_driver_type
Add qdf_driver_type.

Change-Id: Ib5c1d71ed43ea09cea8d65ed9aef0937391b6d09
CRs-Fixed: 2055513
2017-08-03 19:48:29 -07:00
Tushnim Bhattacharyya
3607be72ac qcacmn: policy_mgr_mode_specific_modification_on_pcl to be called per mode
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
2017-08-03 18:04:24 -07:00
Linux Build Service Account
a291845373 Merge "qcacmn: Fix build errors generated by gcc 6" 2017-08-02 06:04:17 -07:00
Linux Build Service Account
3d51966f11 Merge "qcacmn: copy peer meta data from reo descriptor to RX TLV" 2017-08-02 06:04:15 -07:00
wadesong
6edf0b6d1b qcacmn: Fix build errors generated by gcc 6
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
2017-08-01 22:11:24 -07:00
Tallapragada Kalyan
bb3bbcd90d qcacmn: copy peer meta data from reo descriptor to RX TLV
Change-Id: Iecb573d457914a53753604487e89e399bb814c36
2017-08-01 20:39:38 -07:00
Dustin Brown
bac753d968 qcacmn: Avoid WD panic during scheduler shutdown
Avoid scheduler watchdog panic during scheduler shutdown to avoid
interfering with recovery mechanisms.

Change-Id: If32cc77a9725fdb61fc09c4065fc2603f2e8e00b
CRs-Fixed: 2069429
2017-08-01 12:46:21 -07:00
Kai Chen
634d53f81b qcacmn: Fix the ppdu id and buffer reading issue
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
2017-08-01 11:42:44 -07:00
Chaithanya Garrepalli
cdc307f70b qcacmn: Replace SKB CB vdev_ctx member with vdev_id
Removed submit_ts and replaced vdev_ctx with vdev_id
in qdf_nbuf_cb

Change-Id: Ib478aa69ee8069d1c5ff5de29ee0431c238f4b7d
CRs-Fixed: 2065367
2017-08-01 10:02:46 -07:00
CNSS_WLAN Service
7c55c7ed56 Merge "qcacmn: Fix NULL dereference of peer from DP_STATS macros" into wlan-cmn.driver.lnx.2.0-dev 2017-07-31 23:05:51 -07:00
Yun Park
22b406cc13 qcacmn: Fix NULL dereference of peer from DP_STATS macros
Fix NULL dereference of peer from DP_STATS macros

Change-Id: I25b6269fe8e9b1deccaa38a7499167a156db6f37
CRs-Fixed: 2058483
2017-07-31 17:52:43 -07:00
Linux Build Service Account
594c179476 Merge "qcacmn: Allocate additional 8 bytes for MIC in PMF case" 2017-07-30 19:05:55 -07:00
Gurumoorthi Gnanasambandhan
2373e37ffa qcacmn: Allocate additional 8 bytes for MIC in PMF case
Last 8 bytes for MIC are allocated in host for Hawkeye.

Change-Id: Iab375fdf3115334dba6e1f0b18c31356b8f4ed09
2017-07-30 00:39:57 -07:00
Linux Build Service Account
653d3cab07 Merge "qcacmn: Fix the page mask used for Tx Descriptor" 2017-07-27 23:07:49 -07:00
Pamidipati, Vijay
776310a80e qcacmn: Fix the page mask used for Tx Descriptor
Increase the number of bits allocated for page mask to
accomodate upto 16K descriptors needed in Tx path

Change-Id: I9a1a2757be353c3bd9f78773b87cca7c86041b9c
CRs-Fixed: 2004658
2017-07-27 20:17:18 -07:00
Pamidipati, Vijay
fc08fb352a qcacmn: Disable intrabss forwarding for NAWDS nodes
IntraBSS forwarding creates a packet loop when NAWDS mode is enabled.
Disable the feature for NAWDS

Change-Id: I4d4f5616645b435e1e78c45f9347fa04c91e74ae
CRs-Fixed: 2004658
2017-07-27 20:17:16 -07:00
CNSS_WLAN Service
6eacdbca8c Merge "qcacmn: Correct OEM signature string for POS utils" into wlan-cmn.driver.lnx.2.0-dev 2017-07-27 15:47:46 -07:00
Kapil Gupta
09b574f3d4 qcacmn: Correct OEM signature string for POS utils
Add changes to correct string names as par guidelines.

Change-Id: If6f58d7e122b5f3f3c46f68738a16b98c8122563
CRs-Fixed: 2078300
2017-07-27 12:52:04 -07:00
Linux Build Service Account
8237571825 Merge "qcacmn: WMI changes to Send OCE rssi reject BSSID list to firmware" 2017-07-27 12:38:03 -07:00
Abhishek Singh
7a84fe0bba qcacmn: WMI changes to Send OCE rssi reject BSSID list to firmware
Add support for rssi based assoc rejection from a bssid and
Try to connect to this bssid only after time interval indicated in
Assoc reject or when rssi has improved by margin indicated in Assoc
reject.

On connection send OCE rssi reject BSSID list to firmware so that
firmware will avoid connecting to these BSSID until RSSI improve or
delta interval has elapsed.

Change-Id: Ic14f85894a4a2f47bcdde9ce977c7b92aeaf8fce
CRs-Fixed: 2076654
2017-07-27 07:21:18 -07:00
Linux Build Service Account
66859b73f2 Merge "qcacmn: SmartMesh Extract status for radiotap headers" 2017-07-26 11:40:30 -07:00
Pratik Gandhi
4fbe3fe1c7 qcacmn: SmartMesh Extract status for radiotap headers
Extract rx status to add correct values in radiotap header
before sending to stack.

Change-Id: If7adf523dc61cd52c984ad0a97da82fccc608bbc
CRs-Fixed: 2017269
2017-07-26 09:24:34 -07:00
Govind Singh
3dda60e173 qcacmn: Remove redundant header file inclusion from wmi layer
Remove redundant header file inclusion from wmi layer by abstracting
the dependency with in WMI layer.

Change-Id: Ie113b69006a960b70d781134775bc44c7508fc4c
CRs-Fixed: 2023825
2017-07-26 08:14:52 -07:00