Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d51fe1f3 authored by Maciej S. Szmigiero's avatar Maciej S. Szmigiero Committed by Mark Brown
Browse files

regmap: pass buffer size to regmap_raw_read() in regcache_hw_init()



regcache_hw_init() uses regmap_raw_read() to initialize cache
when reg_defaults_raw isn't provided.

The last parameter to regmap_raw_read() is buffer size in bytes,
however regcache_hw_init() called it with number of registers
to read instead, which cause problem if they aren't one byte
wide in cache.

This wasn't triggered by any of current in-tree drivers
since they either have one-byte registers or provide
reg_defaults_raw explicitly.

Signed-off-by: default avatarMaciej S. Szmigiero <mail@maciej.szmigiero.name>
Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 8005c49d
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -65,7 +65,7 @@ static int regcache_hw_init(struct regmap *map)
			goto err_free;
		}
		ret = regmap_raw_read(map, 0, tmp_buf,
				      map->num_reg_defaults_raw);
				      map->cache_size_raw);
		map->cache_bypass = cache_bypass;
		if (ret < 0)
			goto err_cache_free;