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>

authored by Clemens Ladisch and committed by Takashi Iwai 9f9115d8 06651906

+7 -5
+7 -5
sound/pci/oxygen/oxygen_mixer.c
··· 936 936 937 937 for (i = 0; i < count; ++i) { 938 938 template = controls[i]; 939 - err = chip->model->control_filter(&template); 940 - if (err < 0) 941 - return err; 942 - if (err == 1) 943 - continue; 939 + if (chip->model->control_filter) { 940 + err = chip->model->control_filter(&template); 941 + if (err < 0) 942 + return err; 943 + if (err == 1) 944 + continue; 945 + } 944 946 if (!strcmp(template.name, "Master Playback Volume") && 945 947 chip->model->dac_tlv) { 946 948 template.tlv.p = chip->model->dac_tlv;