diff options
author | Aditya Pakki <pakki001@umn.edu> | 2019-01-06 19:31:44 +0300 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2019-01-07 13:57:54 +0300 |
commit | c99776cc4018e91c66bd448002e924edd4910947 (patch) | |
tree | 362815a914352d873f6888f37ff687a5f94b5010 | |
parent | 0f25e000cb4398081748e54f62a902098aa79ec1 (diff) | |
download | linux-c99776cc4018e91c66bd448002e924edd4910947.tar.xz |
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>
-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); |