File tree 1 file changed +7
-3
lines changed 1 file changed +7
-3
lines changed Original file line number Diff line number Diff line change @@ -3460,7 +3460,7 @@ static int cap_put_caller(struct snd_kcontrol *kcontrol,
3460
3460
struct hda_gen_spec * spec = codec -> spec ;
3461
3461
const struct hda_input_mux * imux ;
3462
3462
struct nid_path * path ;
3463
- int i , adc_idx , err = 0 ;
3463
+ int i , adc_idx , ret , err = 0 ;
3464
3464
3465
3465
imux = & spec -> input_mux ;
3466
3466
adc_idx = kcontrol -> id .index ;
@@ -3470,9 +3470,13 @@ static int cap_put_caller(struct snd_kcontrol *kcontrol,
3470
3470
if (!path || !path -> ctls [type ])
3471
3471
continue ;
3472
3472
kcontrol -> private_value = path -> ctls [type ];
3473
- err = func (kcontrol , ucontrol );
3474
- if (err < 0 )
3473
+ ret = func (kcontrol , ucontrol );
3474
+ if (ret < 0 ) {
3475
+ err = ret ;
3475
3476
break ;
3477
+ }
3478
+ if (ret > 0 )
3479
+ err = 1 ;
3476
3480
}
3477
3481
mutex_unlock (& codec -> control_mutex );
3478
3482
if (err >= 0 && spec -> cap_sync_hook )
You can’t perform that action at this time.
0 commit comments