sound: oxygen: fix NULL pointer dereference when loading snd-oxygen
Check that model->control_filter is set before trying to call it. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>hifive-unleashed-5.1
parent
066519068a
commit
9f9115d880
|
@ -936,11 +936,13 @@ static int add_controls(struct oxygen *chip,
|
||||||
|
|
||||||
for (i = 0; i < count; ++i) {
|
for (i = 0; i < count; ++i) {
|
||||||
template = controls[i];
|
template = controls[i];
|
||||||
err = chip->model->control_filter(&template);
|
if (chip->model->control_filter) {
|
||||||
if (err < 0)
|
err = chip->model->control_filter(&template);
|
||||||
return err;
|
if (err < 0)
|
||||||
if (err == 1)
|
return err;
|
||||||
continue;
|
if (err == 1)
|
||||||
|
continue;
|
||||||
|
}
|
||||||
if (!strcmp(template.name, "Master Playback Volume") &&
|
if (!strcmp(template.name, "Master Playback Volume") &&
|
||||||
chip->model->dac_tlv) {
|
chip->model->dac_tlv) {
|
||||||
template.tlv.p = chip->model->dac_tlv;
|
template.tlv.p = chip->model->dac_tlv;
|
||||||
|
|
Loading…
Reference in New Issue