Commit Graph

18 Commits

Author SHA1 Message Date
Rajeev Kumar Sirasanagandla
d36ba2d9cf qcacmn: Fix possible overread in wifi_pos_parse_req
In wifi_pos_parse_req(), payload sections of nl attributes ATTR_DATA and
ATTR_META_DATA are type casted to driver internal structures tAniMsgHdr
and wifi_pos_field_info respectively without validating payload lengths
which can lead to buffer overread if the payload lengths are less than
size of internal structures.

To fix this, avoid type-cast and return error if payload lengths of nl
attributes ATTR_DATA and ATTR_META_DATA are less than size of tAniMsgHdr
and wifi_pos_field_info respectively.

Change-Id: Ie9e3197f2cd3852b394e834991aa8d3a5b530d85
CRs-Fixed: 2471275
2019-07-17 08:31:58 -07:00
Abhiram Jogadenu
1c2b583ee2 qcacmn: Componentize and enable conv WIFI POS
Componentize and enable converged WIFI POS

Change-Id: I8e3f745dbb087818c9d411c7a00e1cdb2907d4d3
2019-07-16 17:15:24 -07:00
Jeff Johnson
23e26381c0 qcacmn: Rename OSIF logging macros
The current OSIF logging macros use a "cfg80211" prefix. This is
confusing because that prefix should only be used by the Linux
cfg80211 module. To avoid confusion rename the macros to use an
"osif" prefix.

Change-Id: Id3273498f623d04beec879aa9d77c1d33986357a
CRs-Fixed: 2469485
2019-06-17 13:00:54 -07:00
Arif Hussain
2fcbb3f715 qcacmn: Add SSR protection to os_if_wifi_pos_callback()
Protect SSR protection for wifi pos callback function to prevent
possible race condition between user request and driver unload.

Change-Id: I68d3636429f8891f0a4d6c78642aeecf7d67e105
CRs-Fixed: 2349354
2019-05-14 11:15:56 -07:00
Jeff Johnson
766ea098f6 qcacmn: os_if: Replace explicit comparison to NULL
Per the Linux Kernel coding style, as enforced by the kernel
checkpatch script, pointers should not be explicitly compared to
NULL. Therefore within os_if replace any such comparisons with logical
operations performed on the pointer itself.

Change-Id: I1cf6f897d1d2722d112dd3f802d789652373eaed
CRs-Fixed: 2418254
2019-03-26 01:24:42 -07:00
Jianmin Zhu
745dc0d96d qcacmn: Change log level from err to debug for LFR3 performance KPI
Log of level err will call printk to print on uart, may make
current thread sleep or delay > 10ms, then wma_roam_synch_event
need longer time to handle, LFR3 roam need longer time.

Change-Id: Ibdd58f74fcf5cf3de8e2b06166c375a2ce634cb5
CRs-Fixed: 2411278
2019-03-13 00:07:29 -07:00
Madhvapathi Sriram
409d19924e qcacmn: Remove error log for qdf_mem_malloc in os_if files
qdf layer already has the error trace

Change-Id: I4ff1fa2a7e261aecd715fd2c8ae68e6e843f1118
CRs-Fixed: 2376427
2019-02-11 02:29:59 -08:00
Naveen Rawat
2d39710f9b qcacmn: Protect wifi_pos global psoc object
Protect wifi_pos global psoc object with spinlock.

Change-Id: I5a250061b482fd2699bebb34c7eac3bd649831f7
CRs-Fixed: 2235825
2018-05-30 15:51:51 -07:00
Jeff Johnson
3d70ae460b qcacmn: os_if: Remove legacy markings
Per current guidance remove legacy markings.

Change-Id: I0d9c1ff59217a115770baea9edd17c57a10a3bc2
CRs-Fixed: 2230684
2018-05-18 02:17:33 -07:00
Mukul Sharma
c42f0c13b7 qcacmn: Disable indoor channel on sap start
There are scenario where indoor channel operations
(like  active / passive scan/connect/roam etc)
are not desired / permitted specially in sap case.
Hence add support of disabling indoor channel
on sap start and revert it on sap stop.

Change-Id: Id6e01534532e3076a3e662e6a4f71e8be924165a
CRs-fixed: 2161319
2018-03-05 22:33:53 -08:00
Jeff Johnson
a4262320ce qcacmn: Use enum QDF_OPMODE
Change "qcacmn: Rename enum tQDF_ADAPTER_MODE" (qca-wifi-host-cmn
Change-Id I20f1b6d1a0ab4b8fe6a85cefdff96a49e2f4652c) renamed enum
tQDF_ADAPTER_MODE to QDF_OPMODE. Update all references to use the
new name.

Change-Id: Ic6f663dac11a100f168b2626c7c0fbcaccbfca4f
CRs-Fixed: 2141061
2017-11-09 23:42:58 -08:00
Naveen Rawat
9523aa15fa qcacmn: Add ucfg_wifi_pos set/get apis for FTM value
Define ucfg_wifi_pos apis for set/get of fine_time_meas_initiator.

Change-Id: Id33ba633c58e5b286211da9343797fc99ec364aa
CRs-Fixed: 2124286
2017-10-20 13:54:00 -07:00
Naveen Rawat
dec67cca98 qcacmn: Fix compilation error in os_if_wifi_pos_register_nl
Fix compilation error in os_if_wifi_pos_register_nl

Change-Id: I851e0aeef694967ca7580fdb3799baaf74397fd7
CRs-Fixed: 2120477
2017-10-04 19:25:54 -07:00
Dustin Brown
1b57dba257 qcacmn: Add wrapper for nla_parse()
The Linux kernel version 4.12 introduced an API change to nla_parse().
Add conditional compilation to call nla_parse with the correct
parameters based on the version of the linux kernel being compiled
against.

Change-Id: Ie904d217a42a2396f8245251a9c90a15dac2c0c9
CRs-Fixed: 2093354
2017-09-15 15:26:31 -07:00
Naveen Rawat
d35749f195 qcacmn: Fix memory leak in wifi_pos send peer status api
In function os_if_wifi_pos_send_peer_status free buffer used to send
peer status indication to userspace after use.

Change-Id: Id90ea35aef4584d0ee7ef856d5cd12104eb089a4
CRs-Fixed: 2030121
2017-04-14 04:22:51 -07:00
Naveen Rawat
922724f2db qcacmn: Implement WIFI_POS commands
Implement following commands for WIFI_POS:
1) ANI_MSG_APP_REG_REQ
2) ANI_MSG_CHANNEL_INFO_REQ
3) ANI_MSG_SET_OEM_CAP_REQ
4) ANI_MSG_GET_OEM_CAP_REQ
5) ANI_MSG_OEM_DATA_REQ
6) ANI_MSG_PEER_STATUS_IND

Change-Id: I7e3b502660b169f4cdb654cb5f433446a24d2421
CRs-Fixed: 2003488
2017-03-22 01:36:36 -07:00
Naveen Rawat
a8423167a9 qcacmn: Implement Wifi Positioning Init/Deinit
Implement Init/Deinit for the WIFI Positioning component.

Change-Id: Iec0f4199935f63f7019de5ae16fc760817165954
CRs-Fixed: 2003488
2017-03-21 01:10:14 -07:00
Naveen Rawat
89284c2621 qcacmn: Add new files for Wifi Positioning component
Add new files for Wifi Positioning component.

Change-Id: I62d808a5ce01ce7211e22df960dd337454e1f8b5
CRs-Fixed: 2003488
2017-03-08 19:30:51 -08:00