• Guenter Roeck's avatar
    regmap: regcache-rbtree: Clean new present bits on present bitmap resize · 8ef9724b
    Guenter Roeck authored
    When inserting a new register into a block, the present bit map size is
    increased using krealloc. krealloc does not clear the additionally
    allocated memory, leaving it filled with random values. Result is that
    some registers are considered cached even though this is not the case.
    
    Fix the problem by clearing the additionally allocated memory. Also, if
    the bitmap size does not increase, do not reallocate the bitmap at all
    to reduce overhead.
    
    Fixes: 3f4ff561 ("regmap: rbtree: Make cache_present bitmap per node")
    Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
    Signed-off-by: default avatarMark Brown <broonie@kernel.org>
    Cc: stable@vger.kernel.org
    8ef9724b
regcache-rbtree.c 13.4 KB