diff options
author | Linus Torvalds | 2013-04-11 18:22:20 -0700 |
---|---|---|
committer | Linus Torvalds | 2013-04-11 18:22:20 -0700 |
commit | 89a132ac273815c3f573684f7a79840e8930d3e1 (patch) | |
tree | 68ef31fc4ab30f45adac07835caa15103d07033d /drivers | |
parent | ee8b890e1e7fd5fc8258a713d7c868324e67b8c0 (diff) | |
parent | 51a246aa5c0a14b3d34a5c6d3c9e271c784b127f (diff) |
Merge tag 'regmap-v3.9-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap
Pull regmap revert from Mark Brown:
"regmap: Back out work buffer fix
This reverts commit bc8ce4 (regmap: don't corrupt work buffer in
_regmap_raw_write()) since it turns out that it can cause issues when
taken in isolation from the other changes in -next that lead to its
discovery. On the basis that nobody noticed the problems for quite
some time without that subsequent work let's drop it from v3.9."
* tag 'regmap-v3.9-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap:
regmap: Back out work buffer fix
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/base/regmap/regmap.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/base/regmap/regmap.c b/drivers/base/regmap/regmap.c index d34adef1e63e..58cfb3232428 100644 --- a/drivers/base/regmap/regmap.c +++ b/drivers/base/regmap/regmap.c @@ -943,7 +943,8 @@ static int _regmap_raw_write(struct regmap *map, unsigned int reg, unsigned int ival; int val_bytes = map->format.val_bytes; for (i = 0; i < val_len / val_bytes; i++) { - ival = map->format.parse_val(val + (i * val_bytes)); + memcpy(map->work_buf, val + (i * val_bytes), val_bytes); + ival = map->format.parse_val(map->work_buf); ret = regcache_write(map, reg + (i * map->reg_stride), ival); if (ret) { |