aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBaptiste Robert <baptistex.robert@intel.com>2013-09-12 15:37:53 +0200
committerVinod Koul <vinod.koul@intel.com>2014-08-12 13:54:08 +0530
commit4a484e116b1d351f732ea172dcd9cf00e29edf20 (patch)
tree9b707832afdbd1ffac31710ca70f0100385d764c
parentad80762a3b75e39bb26faf091b203c1d7c49fc05 (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.c11
1 files changed, 4 insertions, 7 deletions
diff --git a/mixer.c b/mixer.c
index b6c854f..057a271 100644
--- a/mixer.c
+++ b/mixer.c
@@ -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;
}