linux-uconsole/drivers/base/regmap
Nikita Yushchenko 756d9ad548 UPSTREAM: regmap: fix deadlock on _regmap_raw_write() error path
Commit 815806e39b ("regmap: drop cache if the bus transfer error")
added a call to regcache_drop_region() to error path in
_regmap_raw_write(). However that path runs with regmap lock taken,
and regcache_drop_region() tries to re-take it, causing a deadlock.
Fix that by calling map->cache_ops->drop() directly.

Change-Id: I55c6d3ed490c47e8b3f5ca774d051a700f707b6e
Signed-off-by: Nikita Yushchenko <nikita.yoush@cogentembedded.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Huang, Tao <huangtao@rock-chips.com>
(cherry picked from git.kernel.org broonie/regmap.git for-next
 commit f0aa1ce625)
2016-09-23 10:05:03 +08:00
..
internal.h driver core update for 4.4-rc1 2015-11-04 21:50:37 -08:00
Kconfig regmap: ac97: Add generic AC'97 callbacks 2014-11-19 10:28:14 +00:00
Makefile regmap: Move tracing header into drivers/base/regmap 2015-03-19 22:22:45 +00:00
regcache-flat.c regmap: cache: Sort include headers alphabetically 2014-10-20 12:25:06 +01:00
regcache-lzo.c debugfs: Pass bool pointer to debugfs_create_bool() 2015-10-04 11:36:07 +01:00
regcache-rbtree.c regmap: regcache-rbtree: Clean new present bits on present bitmap resize 2015-07-29 15:10:13 +01:00
regcache.c debugfs: Pass bool pointer to debugfs_create_bool() 2015-10-04 11:36:07 +01:00
regmap-ac97.c regmap: Move documentation to regmap.h 2015-08-11 17:21:44 +01:00
regmap-debugfs.c regmap: debugfs: simplify regmap_reg_ranges_read_file() slightly 2015-09-30 20:31:16 +01:00
regmap-i2c.c Merge remote-tracking branches 'regmap/topic/lockdep' and 'regmap/topic/seq-delay' into regmap-next 2015-09-04 17:22:10 +01:00
regmap-irq.c regmap: irq: add ack_invert flag for chips using cleared bits as ack 2015-09-17 11:46:10 +01:00
regmap-mmio.c regmap: Move documentation to regmap.h 2015-08-11 17:21:44 +01:00
regmap-spi.c regmap: Move documentation to regmap.h 2015-08-11 17:21:44 +01:00
regmap-spmi.c regmap: spmi: Fix regmap_spmi_ext_read in multi-byte case 2016-05-18 17:06:48 -07:00
regmap.c UPSTREAM: regmap: fix deadlock on _regmap_raw_write() error path 2016-09-23 10:05:03 +08:00
trace.h regmap: Move tracing header into drivers/base/regmap 2015-03-19 22:22:45 +00:00