Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'regmap-fix-v4.8-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap

Pull regmap fix from Mark Brown:
"A fix for an issue with double locking that was introduced earlier
this release. I'd missed in review that we were already in a locked
region when trying to drop part of the cache"

* tag 'regmap-fix-v4.8-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap:
regmap: fix deadlock on _regmap_raw_write() error path

+5 -1
+5 -1
drivers/base/regmap/regmap.c
··· 1475 1475 1476 1476 kfree(buf); 1477 1477 } else if (ret != 0 && !map->cache_bypass && map->format.parse_val) { 1478 - regcache_drop_region(map, reg, reg + 1); 1478 + /* regcache_drop_region() takes lock that we already have, 1479 + * thus call map->cache_ops->drop() directly 1480 + */ 1481 + if (map->cache_ops && map->cache_ops->drop) 1482 + map->cache_ops->drop(map, reg, reg + 1); 1479 1483 } 1480 1484 1481 1485 trace_regmap_hw_write_done(map, reg, val_len / map->format.val_bytes);