diff options
author | Baptiste Robert <baptistex.robert@intel.com> | 2013-09-12 15:37:53 +0200 |
---|---|---|
committer | Vinod Koul <vinod.koul@intel.com> | 2014-08-12 13:54:08 +0530 |
commit | 4a484e116b1d351f732ea172dcd9cf00e29edf20 (patch) | |
tree | 9b707832afdbd1ffac31710ca70f0100385d764c | |
parent | ad80762a3b75e39bb26faf091b203c1d7c49fc05 (diff) |
Tinyalsa: standardize error message for wrong input value
Currently, if a user sets a mixer with a percentage value
greater than the maximum, tinyalsa does not inform the user
about this "error" and silently replaces the user's value
by the maximum. However, if a user sets a mixer with an
integer value greater than the maximum, tinyalsa informs
the user with an error.
This patch purpose is to define the same behaviour in both
quoted cases: user is informed through an error.
Change-Id: I79547758266d1eb08a65d7b1355ec9859f3b27bb
Signed-off-by: Baptiste Robert <baptistex.robert@intel.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
-rw-r--r-- | mixer.c | 11 |
1 files changed, 4 insertions, 7 deletions
@@ -259,14 +259,11 @@ unsigned int mixer_ctl_get_num_values(struct mixer_ctl *ctl) static int percent_to_int(struct snd_ctl_elem_info *ei, int percent) { - int range; - - if (percent > 100) - percent = 100; - else if (percent < 0) - percent = 0; + if ((percent > 100) || (percent < 0)) { + return -EINVAL; + } - range = (ei->value.integer.max - ei->value.integer.min); + int range = (ei->value.integer.max - ei->value.integer.min); return ei->value.integer.min + (range * percent) / 100; } |