Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

reset: Fix devm bulk optional exclusive control getter

Most likely due to copy-paste mistake the device managed version of the
denoted reset control getter has been implemented with invalid semantic,
which can be immediately spotted by having "WARN_ON(shared && acquired)"
warning in the system log as soon as the method is called. Anyway let's
fix it by altering the boolean arguments passed to the
__devm_reset_control_bulk_get() method from
- shared = true, optional = false, acquired = true
to
+ shared = false, optional = true, acquired = true
That's what they were supposed to be in the first place (see the non-devm
version of the same method: reset_control_bulk_get_optional_exclusive()).

Fixes: 48d71395896d ("reset: Add reset_control_bulk API")
Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
Reviewed-by: Dmitry Osipenko <dmitry.osipenko@collabora.com>
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Link: https://lore.kernel.org/r/20220624141853.7417-2-Sergey.Semin@baikalelectronics.ru

authored by

Serge Semin and committed by
Philipp Zabel
a57f68dd a5bdaae7

+1 -1
+1 -1
include/linux/reset.h
··· 731 731 devm_reset_control_bulk_get_optional_exclusive(struct device *dev, int num_rstcs, 732 732 struct reset_control_bulk_data *rstcs) 733 733 { 734 - return __devm_reset_control_bulk_get(dev, num_rstcs, rstcs, true, false, true); 734 + return __devm_reset_control_bulk_get(dev, num_rstcs, rstcs, false, true, true); 735 735 } 736 736 737 737 /**