Re: [PATCH v3 2/3] clk: divider: Switch from .round_rate to .determine_rate by default

From: Stephen Boyd
Date: Fri Jul 02 2021 - 17:00:56 EST


Quoting Marek Szyprowski (2021-07-02 05:46:11)
> Hi
>
> On 02.07.2021 11:19, Martin Blumenstingl wrote:
> > Hi Stephen,
> >
> > On Fri, Jul 2, 2021 at 3:02 AM Stephen Boyd <sboyd@xxxxxxxxxx> wrote:
> > [...]
> >> My guess is that we have drivers copying the clk_ops from the
> >> divider_ops structure and so they are copying over round_rate but not
> >> determine_rate.
> > I just learned something new - thanks for investigating this as well!
> >
> > $ git grep "clk_divider_ops\.round_rate" drivers/
> > drivers/clk/bcm/clk-bcm2835.c: return clk_divider_ops.round_rate(hw,
> > rate, parent_rate);
>
> I confirm that this issue appears also on Raspberry Pi 3b+ board. I was
> about to write a bug report, but you were faster. The funny thing is
> that is so nondeterministic, that automated bisecting failed to catch it.
>

I'd think it was deterministic. The function pointer is NULL after this
patch so it should always try to set the PC to 0 and fail to execute.
Unless that is somehow executable?