[PATCH v1] ALSA: hda/tas2781: Fix EFI name for calibration beginning with 1 instead of 0

A bug reported by one of my customers that EFI name beginning with 0 instead of 1, and code clean for the string checking.
Fixes: 4fe238513407 ("ALSA: hda/tas2781: Move and unified the calibrated-data getting function for SPI and I2C into the tas2781_hda lib") Signed-off-by: Shenghao Ding shenghao-ding@ti.com
--- v1: - Fix EFI name beginning with 1 instead of 0 - Code clean for the string checking - Add extra comments on EFI name for calibration - Remove an extra space --- sound/hda/codecs/side-codecs/tas2781_hda_i2c.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/sound/hda/codecs/side-codecs/tas2781_hda_i2c.c b/sound/hda/codecs/side-codecs/tas2781_hda_i2c.c index ed7771ab9475..fecd5eac739b 100644 --- a/sound/hda/codecs/side-codecs/tas2781_hda_i2c.c +++ b/sound/hda/codecs/side-codecs/tas2781_hda_i2c.c @@ -340,16 +340,17 @@ static int tas2563_save_calibration(struct tas2781_hda *h) data[offset] = i; offset++; for (j = 0; j < TASDEV_CALIB_N; ++j) { - ret = snprintf(var8, sizeof(var8), vars[j], i); + /* EFI name for calibration started with 1, not 0 */ + ret = snprintf(var8, sizeof(var8), vars[j], i + 1);
- if (ret < 0 || ret >= sizeof(var8) - 1) { + if (ret != strlen(var8)) { dev_err(p->dev, "%s: Read %s failed\n", __func__, var8); return -EINVAL; } /* * Our variable names are ASCII by construction, but - * EFI names are wide chars. Convert and zero-pad. + * EFI names are wide chars. Convert and zero-pad. */ memset(efi_name, 0, sizeof(efi_name)); for (k = 0; k < sizeof(var8) && var8[k]; k++)
participants (1)
-
Shenghao Ding