mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-06 02:50:49 +09:00
ALSA: hda/tas2781: Use correct endian conversion
[ Upstream commit 829e2a23121fb36ee30ea5145c2a85199f68e2c8 ]
The data conversion is done rather by a wrong function. We convert to
BE32, not from BE32. Although the end result must be same, this was
complained by the compiler.
Fix the code again and align with another similar function
tas2563_apply_calib() that does already right.
Fixes: 3beddef84d90 ("ALSA: hda/tas2781: fix wrong calibrated data order")
Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202408141630.DiDUB8Z4-lkp@intel.com/
Link: https://patch.msgid.link/20240814100500.1944-1-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
9dcb933a16
commit
15e3bbd83b
@@ -433,8 +433,8 @@ static void tas2781_apply_calib(struct tasdevice_priv *tas_priv)
|
||||
|
||||
for (i = 0; i < tas_priv->ndev; i++) {
|
||||
for (j = 0; j < CALIB_MAX; j++) {
|
||||
data = get_unaligned_be32(
|
||||
&tas_priv->cali_data.data[offset]);
|
||||
data = cpu_to_be32(
|
||||
*(uint32_t *)&tas_priv->cali_data.data[offset]);
|
||||
rc = tasdevice_dev_bulk_write(tas_priv, i,
|
||||
TASDEVICE_REG(0, page_array[j], rgno_array[j]),
|
||||
(unsigned char *)&data, 4);
|
||||
|
||||
Reference in New Issue
Block a user