커밋 그래프

557 커밋

작성자 SHA1 메시지 날짜
c_priys
b5f94a86e6 qcacmn: WMI Recording Failure on Multi-radio RDPs
WMI recording is done per pdev and hence an instance of
debugfs directory (eg: WMI0, WMI1, WMI2 for 3 radio boards)
has to be created in /sys/kernel/debug/ path.

The wmi handle is per pdev and hence is causing the problem of wmi_instance
being 0 always as each pdev has its own wmi_handle.
WMI1 and WMI2 debugfs directories are not created as wmi_instance
is always 0.

WMI debugfs directory is created for every pdev of the psoc and naming
convention is changed to WMI_SOCx_PDEVx.

Change-Id: Ieb7e9d072d84f699588a8f719508c5cd8d9873fb
CRs-Fixed: 2232472
2018-07-06 00:16:36 -07:00
Yeshwanth Sriram Guntuka
a79e7f2eed qcacmn: Fix possible buffer overflow in wma_encrypt_decrypt_msg_handler
Data len received in encrypt decrypt data response
is not validated against the max allowed size which
can result in buffer overflow.

Fix is to validate data len against max allowed size.

Change-Id: I69bd8e63014220e5a2f291e4a0b1914d10c79fd7
CRs-Fixed: 2226375
2018-07-05 12:44:10 -07:00
Lihua Liu
e950ad18da qcacmn: Add check for valid length to avoid buffer overflow
Add check for valid length before copying in function
extract_ndp_ind_tlv to avoid potential buffer overflow issue.

CRs-Fixed: 2271344
Change-Id: I2ddcbc46a45d4d5308b1e0cf663598c85512bbaf
2018-07-04 11:38:14 -07:00
Sathish Kumar
210b406b91 qcacmn: Map IGMPMLD pdev param to appropriate param supported by target
Pdev parameter to prioritize IGMP packets are supported through
WMI_PDEV_PARAM_IGMPMLD_AC_OVERRIDE. In legacy platforms, they are
supported by different pdev parameters WMI_PDEV_PARAM_IGMPMLD_OVERRIDE
and WMI_PDEV_PARAM_IGMPMLD_TID.

Map host maintained pdev params wmi_pdev_param_igmpmld_override and
wmi_pdev_param_igmpmld_tid to WMI_PDEV_PARAM_IGMPMLD_AC_OVERRIDE since
this is the one supported by TLV based targets.

Change-Id: Ia11787265bd926f257dc1b028552c6e7f1f733d2
CRs-Fixed: 2272219
2018-07-03 08:46:41 -07:00
Amar Singhal
66d1ed5dac qcacmn: Make worker thread processing API non static
Worker thread WMI processing API has more broader use now. So make it
non-static.

CRs-Fixed: 2268243
Change-Id: Iae51e1115f5f3664d08c891e8a42d24bd3ef7bcf
2018-06-30 00:18:01 -07:00
Kabilan Kannan
0d0f935b47 qcacmn: Add SAR V2 support
Add changes to support SAR V2 power limits

Change-Id: Ife7af8db51a45660bc27d1e5b857e38f4dd40935
CRs-Fixed: 2217069
2018-06-29 13:31:50 -07:00
Arif Hussain
b522ac9226 qcacmn: dfs: convert pdev id from target to host
Convert pdev id of target to host for radar found event.

Change-Id: I4a83214dc913553c2851f5af77928f4373117c36
CRs-Fixed: 2268186
2018-06-28 17:50:00 -07:00
Sathish Kumar
686d08d248 qcacmn: Suppress unsupported WMI service prints to info level
Few WMI services are defined which are specific to newer WIN
platforms and are not supported for older platforms. Since the
code to check if service is enabled is common between the platforms,
we see prints quoting service is not supported on chipsets having
both new and old generation radios

Suppress these prints to a reduced trace level to avoid flooding.
Change-Id: I83140c8eec7cf337068fff60442b9d6684efd013
CRs-Fixed: 2261754
2018-06-28 16:38:34 -07:00
Pragaspathi Thilagaraj
5920a4b83c qcacmn: Fix possible buffer overflow in send_stats_ext_req_cmd_tlv
In the function __wlan_hdd_cfg80211_stats_ext_request,
data_len is recieved from vendor command and is passed ultimately
to send_stats_ext_req_cmd_tlv.  In send_stats_ext_req_cmd_tlv, len
is calculated as sum of sizeof(*cmd), WMI_TLV_HDR_SIZE,
preq->request_data_len.The len is of type uint16_t
and adding sizeof(*cmd) + WMI_TLV_HDR_SIZE will cause a buffer
overflow.

Changed the datatype of len to size_t so that it doesn't overflow.

Change-Id: I6618042e3c60bbdb1ff5d833188f4bdb4832da7a
CRs-Fixed: 2243169
2018-06-27 16:14:22 -07:00
Naveen Rawat
8fdc6b51b1 qcacmn: Add support for NDP TCP/IP params
Add support for NDP TCP/IP params in ndp initiator
request, responder request, indication and confirm.

Change-Id: I5d60af154ea4a2f33d18d9b86049f316e7fbc524
CRs-Fixed: 2252227
2018-06-27 14:48:30 -07:00
Anirban Sirkhell
c6d72b96a2 qcacmn: Add vdev param to enable/disable buffering of mcast frames
If the feature is enabled macst frames would be sent out
even when there are clients in power save (instead of DTIM).

CRs-Fixed: 2133095
Change-Id: I927be022916674cb008459868b095f15c37d8636
2018-06-27 05:33:03 -07:00
Naveen Rawat
38b2146f78 qcacmn: Add channel information in ndp confirm event
Add channel information in NDP confirm event sent to
wifihal.

Change-Id: Icecf050aa5d67519c6278460ad92a2a02fcee2c2
CRs-Fixed: 2252226
2018-06-26 18:53:33 -07:00
c_cgodav
758d99f01f qcacmn: CE Debug Enhancements WMI interface
Add WMI interface for the smart logging feature.

Change-Id: Ife3784020d1b9458c2b09b6a2f31f55aab5f57ec
CRs-Fixed: 2001507
2018-06-21 05:22:17 -07:00
Qiwei Cai
1ccba22f66 qcacmn: Featurize WLAN_FEATURE_LINK_LAYER_STATS
Featurize WLAN_FEATURE_LINK_LAYER_STATS to compile out in mission mode.

Change-Id: I16b7ffe869f6e46736693a02b58954a50e31b03b
CRs-Fixed: 2244583
2018-06-20 15:19:52 -07:00
Nachiket Kukade
e06beaa8f4 qcacmn: Implement the commands that cover APF 3.0 requirements
Android Packet Filter 3.0 requires the framework to be able to
read and write into the APF work memory in the Firmware. It
also requires to be able to enable or disable the interpreter.
New WMI commands are defined for read/write/enable/disable
operations.

Complete the implementation of these new commands.

Change-Id: I852d61eb213d9ae530e8a71069144ef35816f5b8
CRs-Fixed: 2184971
2018-06-20 12:53:13 -07:00
Debasis Das
eaf8a8bd28 qcacmn: Fix Integer Overflow Leading to Buffer Overflow
wmi_buf_alloc() API expects length to be passed of type
uint16_t. However, the callers pass uint32_t to it.
This might result in overflow and illegal memory access
thereafter. The fix is to modify the API signature accordingly.

Change-Id: If09da4978d421269b884f7d3c933c49c81651475
CRs-Fixed: 2218346
2018-06-20 06:33:47 -07:00
Nachiket Kukade
ed200e5218 qcacmn: Add enum for listen interval offload support
Add service enum and populate service id for listen
interval offload support so that wmi_service_enabled
API can be used to check if the support is enabled.

Add enum for listen interval offload support

Change-Id: I62dbadb4980f54db8431ad53d096f7fc210d25d7
CRs-Fixed: 2253684
2018-06-20 02:30:55 -07:00
Madhvapathi Sriram
9130ff281d qcacmn: Add management frame over WMI support for HL transport
QCN7605 requires Management frames to be transported over WMI.
Enable this for HL transport too.

Change-Id: I97551684224cf027beadb403ac2220fa355af986
CRs-Fixed: 2252391
2018-06-19 21:17:11 -07:00
Vignesh Viswanathan
737cef775f qcacmn: Fix Uninitialized byte sent to FW in wmi_unified_cmd_send
In wmi_unified_cmd_send, the skb head is pushed by size of WMI_CMD_HDR
and then the commandId is initialized in the header. However 1 byte of
reserved memory in the WMI_CMD_HDR is not initialized and is sent to
the FW as it is and this might lead to exposure of 1 byte of kernel
memory to FW.

Initialize the WMI_CMD_HDR to zero once the skb head is pushed and
then set the commandId in the header.

Change-Id: I89fd5401105cd9c61674a63aac5aa88fb20cc41a
CRs-Fixed: 2257688
2018-06-18 16:33:57 -07:00
Nachiket Kukade
200fbf7f4b qcacmn: Send enable/disable flag separately in hw filter command
Before wow enable or pdev suspend host sets hardware filter bitmap
and enables the filter via a command. But after resuming it sends
bitmap as zero with filter disable. This is interpreted by Firmware
as disable the modes set in the bitmap, so none of the modes are
disabled. With this host will not receive bc/mc packets after
disabling the hw filter, which it is expecting.

Use the correct bitmap sent by cld for disabling the hw filter.

Change-Id: I465e2ec40b6fde8a9e99743a1b9979b67cce5408
CRs-Fixed: 2194973
2018-06-18 16:33:54 -07:00
Nachiket Kukade
ae35a2c76f qcacmn: Rename legacy definitions containing BPF to APF
In implementation of Android Packet Filter, functions, variables,
definitions are named after BPF, which stands for Berkely Packet
Filter. The term was more appropriate for Link Layer packet
filters implemented in the Linux kernel, known as Linux Socket
Filters.

The term BPF is obsolete now, so rename it with the
appropriate acronym, APF.

Change-Id: I606afc747cddedb524a41cd8e5998400f04e69f6
CRs-Fixed: 2191531
2018-06-18 16:33:52 -07:00
Nachiket Kukade
7d4f04b91c qcacmn: Refactor APF related common modules in separate
File wmi_unified_tlv.c is bloated and adding support for upcoming
Android Packet Filter v3 is going to increase its size even more.
Create a new source file for APF related WMI modules and a header
file for declaring the API's

Change-Id: I37dcc30c7d1311067f375c891be9723612161de9
CRs-Fixed: 2189827
2018-06-18 16:33:49 -07:00
gaolez
ab037cf5b5 qcacmn: Add length check in ndp event handler
qcacld-2.0 to qcacld-3.0 propagation

Add length check to prevent the data overflow the wmi buffer. The
total length of data should not exceed max svc msg size.

CRs-Fixed: 2248879
Change-Id: I1543732fcfe0cb7e32f7175f7775c9550854cae8
2018-06-14 20:55:52 -07:00
bings
00d767cbb7 qcacmn: Set wmi_service_wow_wakeup_by_timer_pattern service bit
Currently the service bit of wmi_service_wow_wakeup_by_timer_pattern
is not set and it is 0. This is wrong because 0 is the service bit of
wmi_service_beacon_offload.

Set wmi_service_wow_wakeup_by_timer_pattern service bit as
WMI_SERVICE_WOW_WAKEUP_BY_TIMER_PATTERN

Change-Id: I52058d79281aeed9312ce6c0c361d3cb254fef07
CRs-Fixed: 2250922
2018-06-13 22:27:10 -07:00
Nirav Shah
66932f7705 qcacmn: Featurize packet log
Featurize packet log.

Change-Id: Ica7d658ef65486ae77e24a11cef50291a5e82563
CRs-Fixed: 2245424
2018-06-09 02:28:11 -07:00
Varun Reddy Yeturu
94107f9dbf qcacmn: Add support to store target TWT capabilities
Add support to read the TWT services being advertised
by the target and make use of it internally in the host
at appropriate places

Change-Id: I3691622447271467d9276788574a2f2717928f83
CRs-Fixed: 2251389
2018-06-08 20:14:13 -07:00
Wu Gao
52c0b77485 qcacmn: pmo feature flag disable
In case PMO feature flag disable, add this change. Change
WLAN_PMO_ENABLE  to WLAN_POWER_MANAGEMENT_OFFLOAD.

Change-Id: I875e568dcb239da1b86d1a76cb8cbc925bb13cde
CRs-Fixed: 2243948
2018-06-08 08:31:10 -07:00
Naveen Rawat
a8e19e7bb8 qcacmn: Fix get chain rssi stats
Fix chain rssi stats by correcting logic to extract chain
rssi stats.

Change-Id: Ifd8337abaef7f101082131e48f2ec87097317899
CRs-Fixed: 2253043
2018-06-07 12:46:58 -07:00
Wen Gong
f60f11e838 qcacmn: Add extscan feature flag
Add config flag to enable / disable extscan feature

Change-Id: I6303836226aa2cdcaf3a680d9ce36f2490fde615
CRs-Fixed: 2243749
2018-06-05 06:01:45 -07:00
Zhu Jianmin
3ed26de64c qcacmn: Check chip capability when enable AP+AP
Check capability of dbs, mcc and scc on single band when enable
AP+AP, then same driver code can support different chip and
firmware.
Add wmi_service_dual_beacon_on_single_mac_(mcc/scc)_support

Change-Id: I505747122504b2a89813e7bdfcd27dc07539f39e
CRs-Fixed: 2214237
2018-06-02 10:26:19 -07:00
Wen Gong
ca17401144 qcacmn: Featurize dbglog_host
Featurize parsing support for WLAN firmware logs in WLAN host driver

Change-Id: I94a75a0ab09f086209298bdd4870df78e9733a3f
CRs-Fixed: 2228370
2018-05-30 01:42:30 -07:00
Keyur Parekh
2c0bab6f2d qcacmn: Convert pdev_id from target to host
Convert pdev_id from target to host before passing
to ol layer to print correct noise floor value.

Change-Id: I2d138f19901ca5d654631bc2eca76a757dc46628
2018-05-24 13:32:40 -07:00
Naveen Rawat
d42ce38f7b qcacmn: Implement ndp schedule update and channel info in ndp confirm
Add support for ndp schedule update event and provide channel information
in ndp confirm event.

Change-Id: Ic2c073dd4f220627cc2bd1a2d52d858136b6b450
CRs-Fixed: 2180310
2018-05-24 11:13:55 -07:00
bings
26d46df40a qcacmn: Refine chirp check for ETSI type 4 radar
Currently if the delta peak of the ETSI type 4 radar pulse is 0, it will
be considered as radar false dection, which affects normal dfs ETSI type
4 certification test.

More checks are added when delta peak of the ETSI type 4 radar pulse is 0.
If psidx_diff, the difference in the FFT peak index between the short FFT
and the first long FFT, is greater than 4 and less than 16, it is still
considered as valid ETSI type 4 radar pulse.

Change-Id: Iee9c22e0c208023bb9f0f70121f8269169b63d18
CRs-Fixed: 2173576
2018-05-23 20:45:39 -07:00
Varun Reddy Yeturu
2c8c912493 qcacmn: Add support for sending TWT enable command
Add WMI support for building and sending the
WMI_TWT_ENABLE_CMDID to the firmware.

Change-Id: Ifbda4d1668e2bcb2e33d044269908e8d4c8333a5
CRs-Fixed: 2244214
2018-05-22 15:32:59 -07:00
Shashikala Prabhu
5f65ac7df0 qcacmn: Add WMI changes for host DFS confirmation check
Send average radar parameters to FW.
Extract host dfs spoof check status from FW.

Change-Id: I70c4e5aad0fe1eda55da37abd20cc6d70728edba
CRs-Fixed: 2211883
2018-05-21 03:53:18 -07:00
Jeff Johnson
da26399dfa qcacmn: wmi: Fix misspellings
Address the following issues in the wmi folder:
CHECK: 'addres' may be misspelled - perhaps 'address'?
CHECK: 'COMAND' may be misspelled - perhaps 'COMMAND'?
CHECK: 'defintion' may be misspelled - perhaps 'definition'?
CHECK: 'happend' may be misspelled - perhaps 'happened'?
CHECK: 'managment' may be misspelled - perhaps 'management'?
CHECK: 'messsage' may be misspelled - perhaps 'message'?
CHECK: 'overriden' may be misspelled - perhaps 'overridden'?
CHECK: 'poiter' may be misspelled - perhaps 'pointer'?
CHECK: 'refering' may be misspelled - perhaps 'referring'?
CHECK: 'refrence' may be misspelled - perhaps 'reference'?
CHECK: 'shrinked' may be misspelled - perhaps 'shrunk'?
CHECK: 'succesfully' may be misspelled - perhaps 'successfully'?
CHECK: 'succesful' may be misspelled - perhaps 'successful'?

Change-Id: Ie97e4d83cc88a2610524b38adc3474cdd31170d9
CRs-Fixed: 2241590
2018-05-19 19:40:53 -07:00
Jeff Johnson
dd1fbf0716 qcacmn: wmi: Fix misspelling of 'accommodate'
Address the following issue in the wmi folder:
CHECK: 'accomodate' may be misspelled - perhaps 'accommodate'?

Change-Id: I7cdae0d5f5e9f17de9c3e4810edf9b87704a4f0a
CRs-Fixed: 2241588
2018-05-19 19:40:50 -07:00
Jeff Johnson
03ba7db97a qcacmn: wmi: Remove legacy markings
Per current guidance remove legacy markings.

Change-Id: Ic86284ff527bb55b681149e38f5c708edda5ce8b
CRs-Fixed: 2230684
2018-05-18 02:17:53 -07:00
Linux Build Service Account
df7f3ff092 Merge "qcacmn: Possible information leak due to uninitialized data" 2018-05-17 07:44:54 -07:00
Jeff Johnson
79eaacb1e1 qcacmn: Fix typo "doesnt"
Replace typo "doesnt" with correct spelling "doesn't".

Change-Id: I10c7e288056ca296d4e69ec7ad47404482cbf6f3
CRs-Fixed: 2238309
2018-05-17 00:47:39 -07:00
Jeff Johnson
bbd428c9bf qcacmn: Fix typo "paramter"
Replace typo "paramter" with correct spelling "parameter".

Change-Id: I3f6f090a4f5348f64241e08c87b9bcd342696e10
CRs-Fixed: 2238309
2018-05-17 00:47:26 -07:00
Jeff Johnson
3f955233bf qcacmn: Fix typo "recieve"
Replace typo "recieve" with correct spelling "receive".

Change-Id: I7d88e57b97fa6d217630d4a5d5c365b56e714428
CRs-Fixed: 2238309
2018-05-17 00:47:23 -07:00
Jeff Johnson
19a59fec80 qcacmn: Fix typo "comand"
Replace typo "comand" with correct spelling "command".

Change-Id: Ia56f21487ac36e687aff8ac0ba693174e1e4a202
CRs-Fixed: 2238309
2018-05-17 00:47:15 -07:00
Jeff Johnson
ac11e17b7c qcacmn: Fix typo "lenght"
Replace typo "lenght" with correct spelling "length".

Change-Id: Ieea0c547c61248e510835d16a9fa55ace486df23
CRs-Fixed: 2238309
2018-05-17 00:47:02 -07:00
Jeff Johnson
eb83ef0ca8 qcacmn: Fix typo "sucess"
Replace typo "sucess" with correct spelling "success"

Change-Id: Ieacb299890210d67848268a389a57168e2a2badd
CRs-Fixed: 2238309
2018-05-17 00:46:44 -07:00
Naveen Rawat
d2115722b0 qcacmn: Add target_if/wmi implementation of get_stations_stats
Add changes to support get station stats from within the cp stats
component.

Change-Id: I936ea8e18e519f257ae2d57b384a5a39f4582aed
CRs-Fixed: 2210313
2018-05-16 23:20:19 -07:00
Surabhi Vishnoi
83f677e764 qcacmn: Fix memory leak in WMI
In case of invalid MIMO PS config in wmi cmd, wmi cmd
is not sent and we return. This leads to memory leak as wmi
net buf allocated is not freed before returning.

Fix the memory leak by freeing the wmi net buf in such case
before return.

Change-Id: I7f353f0b4d84a663801482a9c28296371bea3b89
CRs-fixed: 2230346
2018-05-16 12:13:30 -07:00
Linux Build Service Account
0b9f78fa16 Merge "qcacmn: Fix possible OOB access while sending NAN msg to firmware" 2018-05-16 00:39:39 -07:00
Naveen Rawat
d30dad6ef0 qcacmn: Fix possible OOB access while sending NAN msg to firmware
Fix possible OOB access while sending NAN msg to firmware, by checking
data len calculation against integer overflow and making sure data len
to be less than max wmi msg size.

Change-Id: I98f42b9924a1810282ae3bca031cd5a1e3dd4047
CRs-Fixed: 2205722
2018-05-15 19:05:59 -07:00