summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJavier Carrasco <javier.carrasco.cruz@gmail.com>2023-10-13 16:34:21 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2023-11-20 11:59:30 +0100
commit40169c208f4bfdaa4999d7e6aebd90b26c8bc625 (patch)
tree26f810df4a746fa621f9449407e4a252e327e42f
parentcb051977e9932e65fae8c8c29e942adf6b614aa2 (diff)
downloadlinux-stable-40169c208f4bfdaa4999d7e6aebd90b26c8bc625.tar.gz
linux-stable-40169c208f4bfdaa4999d7e6aebd90b26c8bc625.tar.bz2
linux-stable-40169c208f4bfdaa4999d7e6aebd90b26c8bc625.zip
rtc: pcf85363: fix wrong mask/val parameters in regmap_update_bits call
[ Upstream commit 2be36c09b6b07306be33519e1aa70d2e2a2161bb ] The current implementation passes PIN_IO_INTA_OUT (2) as a mask and PIN_IO_INTAPM (GENMASK(1, 0)) as a value. Swap the variables to assign mask and value the right way. This error was first introduced with the alarm support. For better or worse it worked as expected because 0x02 was applied as a mask to 0x03, resulting 0x02 anyway. This will of course not work for any other value. Fixes: e5aac267a10a ("rtc: pcf85363: add alarm support") Signed-off-by: Javier Carrasco <javier.carrasco.cruz@gmail.com> Link: https://lore.kernel.org/r/20231013-topic-pcf85363_regmap_update_bits-v1-1-c454f016f71f@gmail.com Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
-rw-r--r--drivers/rtc/rtc-pcf85363.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/rtc/rtc-pcf85363.c b/drivers/rtc/rtc-pcf85363.c
index 06194674d71c..540042b9eec8 100644
--- a/drivers/rtc/rtc-pcf85363.c
+++ b/drivers/rtc/rtc-pcf85363.c
@@ -438,7 +438,7 @@ static int pcf85363_probe(struct i2c_client *client)
if (client->irq > 0 || wakeup_source) {
regmap_write(pcf85363->regmap, CTRL_FLAGS, 0);
regmap_update_bits(pcf85363->regmap, CTRL_PIN_IO,
- PIN_IO_INTA_OUT, PIN_IO_INTAPM);
+ PIN_IO_INTAPM, PIN_IO_INTA_OUT);
}
if (client->irq > 0) {