]> git.baikalelectronics.ru Git - kernel.git/commit
i2c: bcm2835: Fix the error handling in 'bcm2835_i2c_probe()'
authorChristophe JAILLET <christophe.jaillet@wanadoo.fr>
Fri, 20 Aug 2021 18:43:33 +0000 (20:43 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 8 Apr 2022 12:23:29 +0000 (14:23 +0200)
commitc9a0bdb8e40eb13df3534355f53c0ae94fc17d78
treefa0b5c559a1a17f3f65a035599165faaee1cf97a
parentc35975ec400f917f04452710b055acc0f7318df0
i2c: bcm2835: Fix the error handling in 'bcm2835_i2c_probe()'

[ Upstream commit 18392007968cbef7aa31c3428dd3951bf932d3da ]

Some resource should be released if an error occurs in
'bcm2835_i2c_probe()'.
Add an error handling path and the needed 'clk_disable_unprepare()' and
'clk_rate_exclusive_put()' calls.

While at it, rework the bottom of the function to use this newly added
error handling path and have an explicit and more standard "return 0;" at
the end of the normal path.

Fixes: 957d77b532e9 ("i2c: bcm2835: Model Divider in CCF")
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
[wsa: rebased]
Signed-off-by: Wolfram Sang <wsa@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/i2c/busses/i2c-bcm2835.c