diff options
| -rw-r--r-- | sound/pci/oxygen/oxygen_mixer.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/sound/pci/oxygen/oxygen_mixer.c b/sound/pci/oxygen/oxygen_mixer.c index cc0cddadd589..6facac5aed90 100644 --- a/sound/pci/oxygen/oxygen_mixer.c +++ b/sound/pci/oxygen/oxygen_mixer.c | |||
| @@ -936,11 +936,13 @@ static int add_controls(struct oxygen *chip, | |||
| 936 | 936 | ||
| 937 | for (i = 0; i < count; ++i) { | 937 | for (i = 0; i < count; ++i) { |
| 938 | template = controls[i]; | 938 | template = controls[i]; |
| 939 | err = chip->model->control_filter(&template); | 939 | if (chip->model->control_filter) { |
| 940 | if (err < 0) | 940 | err = chip->model->control_filter(&template); |
| 941 | return err; | 941 | if (err < 0) |
| 942 | if (err == 1) | 942 | return err; |
| 943 | continue; | 943 | if (err == 1) |
| 944 | continue; | ||
| 945 | } | ||
| 944 | if (!strcmp(template.name, "Master Playback Volume") && | 946 | if (!strcmp(template.name, "Master Playback Volume") && |
| 945 | chip->model->dac_tlv) { | 947 | chip->model->dac_tlv) { |
| 946 | template.tlv.p = chip->model->dac_tlv; | 948 | template.tlv.p = chip->model->dac_tlv; |
