mirror of
git://nv-tegra.nvidia.com/linux-nv-oot.git
synced 2025-12-24 10:11:26 +03:00
f0ebf9d9c4a58d373a64df9b6f9835c88d427bb8
When using the ALSA 'alsactl' tool to save and restore mixer settings the following type of errors are observed ... alsactl: set_control:1461: Cannot write control '2:0:0:ADMAIF1 Channels:0' : Invalid argument ... alsactl: set_control:1461: Cannot write control '2:0:0:AMX1 Output Channels:0' : Invalid argument ... alsactl: set_control:1461: Cannot write control '2:0:0:RX1 Channels:0' : Invalid argument ... alsactl: set_control:1461: Cannot write control '2:0:0:TX1 Channels:0' : Invalid argument ... alsactl: set_control:1461: Cannot write control '2:0:0:TX5 Channels:0' : Invalid argument ... alsactl: set_control:1461: Cannot write control '2:0:0:SFC1 Channels:0' : Invalid argument ... alsactl: set_control:1461: Cannot write control '2:0:0:MVC1 Bits:0' : Invalid argument These are just a few examples but these errors are seen for all instances of the devices. The problem is that the 'put' handler for the above mixer controls treats '0' as an invalid setting and so if the default value is '0', then when we try to restore the setting to '0' it fails because this is consider an 'invalid argument'. However, '0' is not a invalid argument, it simply means that we are not overriding this setting from userspace. Furthermore, if someone happens to set an of the above mixer controls to a non-zero value, then it is not possible to set it back to '0' again. Fix this by allowing userspace to set the above mixer controls to '0'. Bug 2058979 Change-Id: Icd543c2ea956cb0690238d9a1f184c144a572029 Signed-off-by: Jon Hunter <jonathanh@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/1675098 Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com> GVS: Gerrit_Virtual_Submit Reviewed-by: Bibek Basu <bbasu@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Description
No description provided