regmap: fix page selection for noinc reads
authorDmitry Baryshkov <dmitry.baryshkov@linaro.org>
Thu, 17 Sep 2020 15:34:04 +0000 (18:34 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 1 Oct 2020 15:36:30 +0000 (17:36 +0200)
commitde74a520081f1bab78ae7e017d59ea30078bc630
tree2de14520627d0b75bdc83f3b3ebf003ce0f2633d
parent2e00a8682cb55e0a6a2e475954202e1ce79f85be
regmap: fix page selection for noinc reads

[ Upstream commit 4003324856311faebb46cbd56a1616bd3f3b67c2 ]

Non-incrementing reads can fail if register + length crosses page
border. However for non-incrementing reads we should not check for page
border crossing. Fix this by passing additional flag to _regmap_raw_read
and passing length to _regmap_select_page basing on the flag.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Fixes: 74fe7b551f33 ("regmap: Add regmap_noinc_read API")
Link: https://lore.kernel.org/r/20200917153405.3139200-1-dmitry.baryshkov@linaro.org
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/base/regmap/regmap.c