[alsa-devel] [PATCH] pci: fix a missing check of snd_i2c_sendbytes

Takashi Iwai tiwai at suse.de
Tue Jan 1 10:02:09 CET 2019


On Wed, 26 Dec 2018 06:12:04 +0100,
Kangjie Lu wrote:
> 
> snd_i2c_sendbytes could fail. The fix checks its return value: if it
> fails, issues an error message and returns with its error code.
> 
> Signed-off-by: Kangjie Lu <kjlu at umn.edu>
> ---
>  sound/pci/ice1712/ews.c | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/sound/pci/ice1712/ews.c b/sound/pci/ice1712/ews.c
> index b8af747ecb43..b978cdb0fc20 100644
> --- a/sound/pci/ice1712/ews.c
> +++ b/sound/pci/ice1712/ews.c
> @@ -826,7 +826,10 @@ static int snd_ice1712_6fire_read_pca(struct snd_ice1712 *ice, unsigned char reg
>  
>  	snd_i2c_lock(ice->i2c);
>  	byte = reg;
> -	snd_i2c_sendbytes(spec->i2cdevs[EWS_I2C_6FIRE], &byte, 1);
> +	if (snd_i2c_sendbytes(spec->i2cdevs[EWS_I2C_6FIRE], &byte, 1)) {
> +		dev_err(ice->card->dev, "cannot send pca\n");
> +		return -EIO;

You forgot to unlock before returning.


thanks,

Takashi


More information about the Alsa-devel mailing list