diff options
author | Maxime Ripard <[email protected]> | 2022-08-16 13:25:07 +0200 |
---|---|---|
committer | Stephen Boyd <[email protected]> | 2022-09-15 09:30:14 -0700 |
commit | d77388223240884b918b8d85f88f132916afbf06 (patch) | |
tree | f06be10e49817e849bf0c6381da2bcfac9a4cb6f /lib/test_fortify/write_overflow-strncpy-src.c | |
parent | aac00c7fa1149fd5b5a5110096ffa78dcb120b79 (diff) |
clk: Drop the rate range on clk_put()
When clk_put() is called we don't make another clk_set_rate() call to
re-evaluate the rate boundaries. This is unlike clk_set_rate_range()
that evaluates the rate again each time it is called.
However, clk_put() is essentially equivalent to clk_set_rate_range()
since after clk_put() completes the consumer's boundaries shouldn't be
enforced anymore.
Let's add a call to clk_set_rate_range() in clk_put() to make sure those
rate boundaries are dropped and the clock provider drivers can react. In
order to be as non-intrusive as possible, we'll just make that call if
the clock had non-default boundaries.
Also add a few tests to make sure this case is covered.
Fixes: c80ac50cbb37 ("clk: Always set the rate on clk_set_range_rate")
Tested-by: Alexander Stein <[email protected]> # imx8mp
Tested-by: Marek Szyprowski <[email protected]> # exynos4210, meson g12b
Signed-off-by: Maxime Ripard <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Tested-by: Linux Kernel Functional Testing <[email protected]>
Tested-by: Naresh Kamboju <[email protected]>
Signed-off-by: Stephen Boyd <[email protected]>
Diffstat (limited to 'lib/test_fortify/write_overflow-strncpy-src.c')
0 files changed, 0 insertions, 0 deletions