diff options
Diffstat (limited to 'sound/pci')
-rw-r--r-- | sound/pci/ac97/ac97_codec.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/sound/pci/ac97/ac97_codec.c b/sound/pci/ac97/ac97_codec.c index 6108cdc5efb6..124c1bc4cb92 100644 --- a/sound/pci/ac97/ac97_codec.c +++ b/sound/pci/ac97/ac97_codec.c | |||
@@ -1030,6 +1030,18 @@ static void check_volume_resolution(struct snd_ac97 *ac97, int reg, unsigned cha | |||
1030 | unsigned char max[3] = { 63, 31, 15 }; | 1030 | unsigned char max[3] = { 63, 31, 15 }; |
1031 | int i; | 1031 | int i; |
1032 | 1032 | ||
1033 | /* first look up the static resolution table */ | ||
1034 | if (ac97->res_table) { | ||
1035 | const struct snd_ac97_res_table *tbl; | ||
1036 | for (tbl = ac97->res_table; tbl->reg; tbl++) { | ||
1037 | if (tbl->reg == reg) { | ||
1038 | *lo_max = tbl->bits & 0xff; | ||
1039 | *hi_max = (tbl->bits >> 8) & 0xff; | ||
1040 | return; | ||
1041 | } | ||
1042 | } | ||
1043 | } | ||
1044 | |||
1033 | *lo_max = *hi_max = 0; | 1045 | *lo_max = *hi_max = 0; |
1034 | for (i = 0 ; i < ARRAY_SIZE(cbit); i++) { | 1046 | for (i = 0 ; i < ARRAY_SIZE(cbit); i++) { |
1035 | unsigned short val; | 1047 | unsigned short val; |