Skip to content
Unverified Commit fc563aa9 authored by Stephen Lee's avatar Stephen Lee Committed by Mark Brown
Browse files

ASoC: ops: Fix wraparound for mask in snd_soc_get_volsw



In snd_soc_info_volsw(), mask is generated by figuring out the index of
the most significant bit set in max and converting the index to a
bitmask through bit shift 1. Unintended wraparound occurs when max is an
integer value with msb bit set. Since the bit shift value 1 is treated
as an integer type, the left shift operation will wraparound and set
mask to 0 instead of all 1's. In order to fix this, we type cast 1 as
`1ULL` to prevent the wraparound.

Fixes: 7077148f ("ASoC: core: Split ops out of soc-core.c")
Signed-off-by: default avatarStephen Lee <slee08177@gmail.com>
Link: https://msgid.link/r/20240326010131.6211-1-slee08177@gmail.com


Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 4af565de
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment