diff options
| author | Takashi Iwai <[email protected]> | 2018-04-02 19:50:41 +0200 | 
|---|---|---|
| committer | Takashi Iwai <[email protected]> | 2018-04-02 19:50:59 +0200 | 
| commit | bc334cb61b9ee6e85b9bb01519989a3ae8fe03f6 (patch) | |
| tree | 34424a812537fe11beeee727b30b19c67193fe36 /sound/core/vmaster.c | |
| parent | 5607dddbfca774fb38bffadcb077fe03aa4ac5c6 (diff) | |
| parent | b44d419b98fae759b4f746186b1d1c8d01d962f2 (diff) | |
Merge branch 'for-next' into for-linus
Preparation for 4.17 merge.
Signed-off-by: Takashi Iwai <[email protected]>
Diffstat (limited to 'sound/core/vmaster.c')
| -rw-r--r-- | sound/core/vmaster.c | 7 | 
1 files changed, 5 insertions, 2 deletions
diff --git a/sound/core/vmaster.c b/sound/core/vmaster.c index 8632301489fa..9e96186742d0 100644 --- a/sound/core/vmaster.c +++ b/sound/core/vmaster.c @@ -63,15 +63,18 @@ static int slave_update(struct link_slave *slave)  	struct snd_ctl_elem_value *uctl;  	int err, ch; -	uctl = kmalloc(sizeof(*uctl), GFP_KERNEL); +	uctl = kzalloc(sizeof(*uctl), GFP_KERNEL);  	if (!uctl)  		return -ENOMEM;  	uctl->id = slave->slave.id;  	err = slave->slave.get(&slave->slave, uctl); +	if (err < 0) +		goto error;  	for (ch = 0; ch < slave->info.count; ch++)  		slave->vals[ch] = uctl->value.integer.value[ch]; + error:  	kfree(uctl); -	return 0; +	return err < 0 ? err : 0;  }  /* get the slave ctl info and save the initial values */  |