Executive brief
The Linux kernel's audio codec driver for Qualcomm WSA macro amplifiers incorrectly accesses enumerated control values, causing control reads to fail with an invalid parameter error on 64-bit systems. This prevents audio gain and multiplexer controls from functioning properly, potentially disabling speaker and microphone routing on affected devices.
Technical details
The vulnerability is a data type access error in the lpass-wsa-macro audio codec driver. The "EAR SPKR PA Gain" and "WSA RX* Mux" controls are declared as enumerated types but their get/put callbacks incorrectly access the value using ucontrol->value.integer.value[0] (a long) instead of ucontrol->value.enumerated.item[0] (an unsigned int). On 64-bit kernels with CONFIG_SND_CTL_DEBUG enabled, this type mismatch triggers an element value sanity check, causing all reads of these controls to fail with -EINVAL. The fix aligns the access pattern with similar codec drivers (rx-macro and va-macro) by correcting the field access in four locations. This is a local code path issue requiring no network access or special privileges, only legitimate use of audio control interfaces.
Affected products
- Linux Linux kernel affected versions in linux-5.x and later with lpass-wsa-macro driver
Timeline
- 2026-09-04: disclosed: Published by NVD
- 2026-08-23: patched: Commit 2fe7a89b2b5b73be35c1e493d0246314ba54e427 in stable tree