Check for calibration type is within a valid range
to avoid out of bound read in checking a bit in a bitmask.
Change-Id: Id8b3af47cd8077f460ac60a33d959ccbb6a21692
Signed-off-by: Shimana P <quic_shimp@quicinc.com>
(cherry picked from commit 544f150134722543d0f8c834164293de5b25e417)
Signed-off-by: Manish Kumar <quic_kmanis@quicinc.com>
added check for port num and channel iteration are lessthan 8
to avoid out of bound write to 8x8 map array.
Change-Id: I4c6fe13a5eb09be623a1c40ce16c5a5e4246e021
Signed-off-by: Abinath S <quic_abins@quicinc.com>
(cherry picked from commit 448a545731)
added check for port num and channel iteration are lessthan 8
to avoid out of bound write to 8x8 map array.
Change-Id: I4c6fe13a5eb09be623a1c40ce16c5a5e4246e021
Signed-off-by: Abinath S <quic_abins@quicinc.com>
Sometimes audio is mute while capturing from dmics
connected to wcd934x codec. Observed slimbus slave port
overflows in non working scenario.
Enable auto recovery from overflows on the slim slave port.
Change-Id: Iad18b80ea13432478fb8a8e1f07bdc354a7106b3
Check for the max size of cvp command register
calibration data that can be copied to avoid
buffer overflow.
Change-Id: I41793bef75095ef06d7dda171bd2eba158422cc9
Signed-off-by: Shimana P <quic_shimp@quicinc.com>
check for the proper param size before copying,
to avoid buffer overflow.
Change-Id: I3e41439fb747aeebe7677b32c768aea19fcea37c
Signed-off-by: Shimana P <quic_shimp@quicinc.com>
check size of payload before access in q6lsm_mmapcallback.
The payload size can be either 4 or 8 bytes.
Code to verify the payload size is atleast 4 bytes is added.
Change-Id: I64b07f44b66fe6793bc80bc99a09fd0521342531
Signed-off-by: Shaik Jabida <quic_sjabida@quicinc.com>
there is no check for cvs_voc_pkt[2],when recieves
0xffffffff from ADSP which results in an integer overflow
Fix is to address this.
Change-Id: Ie935dd8823981ec260d77f5117f4ef0b0fc08f60
Signed-off-by: Ramireddy KrishnaKanth Reddy <quic_ramikris@quicinc.com>
Added change to check the list before access it.
Change-Id: Ibbf80f157caf06453daefd3a38607b0460157123
Signed-off-by: Sandhya Mutha Naga Venkata <quic_smuthana@quicinc.com>
check size of payload before access in q6lsm_mmapcallback.
Change-Id: I6a755ca4cf54078f0d00f38e303f1b1da29b244c
Signed-off-by: Kumar Anurag Singh <quic_kumaranu@quicinc.com>
Increase the locking range to prevent shared resources from
being abnormal modified.
Change-Id: Icb7ecfd6110874e6ecfa5bea5c1bd2625127e08d
Signed-off-by: Jing Wang <quic_jingwa@quicinc.com>
(cherry picked from commit ebd90817721f88c9215b6e0511fcaff3125f8138)
Check if buf size is valid before comparing
with buf offset.
Signed-off-by: Soumya Managoli <quic_c_smanag@quicinc.com>
Change-Id: I8336be046c4922ce2f8bb333b58ca867059e9528
pm runtime resume and suspend operation uses
linux clock API to vote/unvote lpass hw resources.
When autosuspend funtionality is used, suspend op
is triggered from a worker thread upon timer expiration,
can block if there is an ongoing clock
operation holding global prepare/unprepare mutex
lock in common clock framwork. If the ongoing
clock operation calls get_sync on pinctrl-lpi,
the get_sync gets scheduled out due to ongoing suspend
by worker thread. This leads to dead lock between
get_sync and suspend, waiting for each other to
complete. Avoid using autosuspend functionality in
pinctrl-lpi to avoid race conditions in clock APIs.
As auto suspend functionality is not required, lpass
hw voting/devoting happens in synchronous manner, can
be done directly by calling DSP voting APIs. Hence remove
runtime pm ops in lpi pinctrl driver.
Change-Id: I86df5e8e502c6466feea196fe8649c34e046aa26
Signed-off-by: Abhilash Sathyanarayana <quic_abhisath@quicinc.com>
compress_pause was failing on gki mode due to change in
stream state. The change is done to enable pausing even
when the stream state is in the draining state.
Change-Id: I3285b84a1e17dc483bf35a45c8cee693f18671c5
Signed-off-by: Vaibhav Raut <quic_vraut@quicinc.com>
size = sizeof(p_info_32) + p_info_32.param_size;
This overflow issue may result heap overflow during copying the data:
memcpy(param_info_rsp, &p_info_32, sizeof(p_info_32));
The validation check is added so that heap overflow can be avoided.
Change-Id: I11dcbe7ebb33e349dfd9f347f3ef25bc781075fc
Signed-off-by: Raza Kamal <quic_razkam@quicinc.com>
Macro needed for differentiation of auto code as the
file is shared for non auto code as well.
Signed-off-by: Manoj Kumar N D <quic_mnd@quicinc.com>
Change-Id: I8b464d5cacd2b5bcf51c54a3e50c930d9cb54e41
Get the CoPP idx based on FE id before sending the channel
mixer settings during runtime.
Signed-off-by: Manoj Kumar N D <quic_mnd@quicinc.com>
Change-Id: I2a0fc517bf3e53523679e3108ca6849d2f96e79d
(cherry picked from commit e9c96f97eda6069576731984a146343ccb32d900)
(cherry picked from commit d6d824a975955075d02e2ed3b51f8ef4d6f202b7)
Add bound check to avoid out of bound access for array.
Change-Id: Ia43a50dc0c4e956be00fba92ba6819dbcc9b0ee3
Signed-off-by: Kumar Anurag Singh <quic_kumaranu@quicinc.com>
External mclk to audiocc can be routed via
ext_mclk1_a or ext_mclk1_b gpio on lahaina by configuring
aud_ref_clk_sel mux. Add changes to configure aud_ref_clk_sel
mux in machine driver based on DT property.
Change-Id: I606cb148113263a53d6ad02011db0c5c8d042126
External mclk to audio interfaces can be routed via
different gpios as per platform by configuring
aud_ref_clk_sel mux. Add support in q6afe to expose
new set_param from DSP.
Change-Id: I0677877d2ad0cabdf00a7b213652db4b62f0d8b5
Signed-off-by: Abhilash Sathyanarayana <quic_abhisath@quicinc.com>
Before return with error, release the mutex.
Change-Id: I034a90f9c4f52df8bc8e30312f5241ac4ba7bba0
Signed-off-by: Soumya Managoli <quic_c_smanag@quicinc.com>