diff options
author | Aditya Pakki <pakki001@umn.edu> | 2019-01-06 10:31:44 -0600 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2019-01-07 11:57:54 +0100 |
commit | c99776cc4018e91c66bd448002e924edd4910947 (patch) | |
tree | 362815a914352d873f6888f37ff687a5f94b5010 /sound/pci/ice1712/ews.c | |
parent | 0f25e000cb4398081748e54f62a902098aa79ec1 (diff) | |
download | linux-c99776cc4018e91c66bd448002e924edd4910947.tar.bz2 |
ALSA: ice1712: fix a missing check of snd_i2c_sendbytes
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: Aditya Pakki <pakki001@umn.edu>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/pci/ice1712/ews.c')
-rw-r--r-- | sound/pci/ice1712/ews.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/sound/pci/ice1712/ews.c b/sound/pci/ice1712/ews.c index b8af747ecb43..7646c93e8268 100644 --- a/sound/pci/ice1712/ews.c +++ b/sound/pci/ice1712/ews.c @@ -826,7 +826,12 @@ 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)) { + snd_i2c_unlock(ice->i2c); + dev_err(ice->card->dev, "cannot send pca\n"); + return -EIO; + } + byte = 0; if (snd_i2c_readbytes(spec->i2cdevs[EWS_I2C_6FIRE], &byte, 1) != 1) { snd_i2c_unlock(ice->i2c); |