From: ChiYuan Huang <cy_huang@xxxxxxxxxxx> For RG 3byte read, the value order is offset [0], [1], and [2]. Signed-off-by: ChiYuan Huang <cy_huang@xxxxxxxxxxx> --- sound/soc/codecs/rt9120.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sound/soc/codecs/rt9120.c b/sound/soc/codecs/rt9120.c index cdf8ad2..94d42be 100644 --- a/sound/soc/codecs/rt9120.c +++ b/sound/soc/codecs/rt9120.c @@ -372,7 +372,7 @@ static int rt9120_reg_read(void *context, unsigned int reg, unsigned int *val) *val = be32_to_cpup((__be32 *)raw); break; case 3: - *val = raw[0] << 16 | raw[1] << 8 | raw[0]; + *val = raw[0] << 16 | raw[1] << 8 | raw[2]; break; case 2: *val = be16_to_cpup((__be16 *)raw); -- 2.7.4