Re: [PATCH 4.9 34/48] ASoC: ops: Reject out of bounds values in snd_soc_put_volsw_sx()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Jun 03, 2022 at 12:06:13PM +0200, Pavel Machek wrote:

> We are getting reports that this commit breaks audio on some
> phones... and indeed it looks like "+ min" is missing in first condition:

> https://github.com/baunilla/android_kernel_xiaomi_rosy/commit/969b9d366c1e9564e173aea325ec544dcd7804ff

> 	val = ucontrol->value.integer.value[0];
> -	if (mc->platform_max && val > mc->platform_max)
> +	if (mc->platform_max && ((int)val + min) > mc->platform_max)
> 		return -EINVAL;

> What needs to be done to get this fixed?

The downstream kernel platform_max configuration should really be
using the user visible value, not a direct register value.  Note
that some of the Qualcomm vendor trees have modifictions to the
semantics of some of the controls which cause issues, and partly
due to this confusion there should be some fixes for their
upstream drivers coming soon.

Attachment: signature.asc
Description: PGP signature


[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux