• Lars-Peter Clausen's avatar
    regmap: cache Fix regcache-rbtree sync · 8abac3ba
    Lars-Peter Clausen authored
    The last register block, which falls into the specified range, is not handled
    correctly. The formula which calculates the number of register which should be
    synced is inverse (and off by one). E.g. if all registers in that block should
    be synced only one is synced, and if only one should be synced all (but one) are
    synced. To calculate the number of registers that need to be synced we need to
    subtract the number of the first register in the block from the max register
    number and add one. This patch updates the code accordingly.
    
    The issue was introduced in commit ac8d91c8 ("regmap: Supply ranges to the sync
    operations").
    Signed-off-by: default avatarLars-Peter Clausen <lars@metafoo.de>
    Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
    Cc: stable@vger.kernel.org
    8abac3ba
regcache-rbtree.c 10.9 KB