aboutsummaryrefslogtreecommitdiffstats
path: root/sound
diff options
context:
space:
mode:
Diffstat (limited to 'sound')
-rw-r--r--sound/pci/ac97/ac97_codec.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sound/pci/ac97/ac97_codec.c b/sound/pci/ac97/ac97_codec.c
index 1ad7f83a65e1..36a33ae9ae03 100644
--- a/sound/pci/ac97/ac97_codec.c
+++ b/sound/pci/ac97/ac97_codec.c
@@ -465,7 +465,7 @@ int snd_ac97_get_enum_double(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * u
465 struct ac97_enum *e = (struct ac97_enum *)kcontrol->private_value; 465 struct ac97_enum *e = (struct ac97_enum *)kcontrol->private_value;
466 unsigned short val, bitmask; 466 unsigned short val, bitmask;
467 467
468 for (bitmask = 1; bitmask > e->mask; bitmask <<= 1) 468 for (bitmask = 1; bitmask < e->mask; bitmask <<= 1)
469 ; 469 ;
470 val = snd_ac97_read_cache(ac97, e->reg); 470 val = snd_ac97_read_cache(ac97, e->reg);
471 ucontrol->value.enumerated.item[0] = (val >> e->shift_l) & (bitmask - 1); 471 ucontrol->value.enumerated.item[0] = (val >> e->shift_l) & (bitmask - 1);
@@ -482,7 +482,7 @@ int snd_ac97_put_enum_double(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * u
482 unsigned short val; 482 unsigned short val;
483 unsigned short mask, bitmask; 483 unsigned short mask, bitmask;
484 484
485 for (bitmask = 1; bitmask > e->mask; bitmask <<= 1) 485 for (bitmask = 1; bitmask < e->mask; bitmask <<= 1)
486 ; 486 ;
487 if (ucontrol->value.enumerated.item[0] > e->mask - 1) 487 if (ucontrol->value.enumerated.item[0] > e->mask - 1)
488 return -EINVAL; 488 return -EINVAL;