Re: [RFC/RFT 05/14] soc: amlogic: meson-clk-measure: protect measure with a mutex

From: Stephen Boyd
Date: Wed Jun 26 2019 - 14:06:49 EST


Quoting Neil Armstrong (2019-06-26 01:24:47)
> On 25/06/2019 22:27, Stephen Boyd wrote:
> > Quoting Neil Armstrong (2019-06-20 08:00:04)
> >> In order to protect clock measuring when multiple process asks for
> >> a mesure, protect the main measure function with mutexes.

s/mesure/measure/

> >>
> >> Signed-off-by: Neil Armstrong <narmstrong@xxxxxxxxxxxx>
> >> ---
> >> drivers/soc/amlogic/meson-clk-measure.c | 12 +++++++++++-
> >> 1 file changed, 11 insertions(+), 1 deletion(-)
> >>
> >> diff --git a/drivers/soc/amlogic/meson-clk-measure.c b/drivers/soc/amlogic/meson-clk-measure.c
> >> index 19d4cbc93a17..c470e24f1dfa 100644
> >> --- a/drivers/soc/amlogic/meson-clk-measure.c
> >> +++ b/drivers/soc/amlogic/meson-clk-measure.c
> >> @@ -11,6 +11,8 @@
> >> #include <linux/debugfs.h>
> >> #include <linux/regmap.h>
> >>
> >> +static DEFINE_MUTEX(measure_lock);
> >> +
> >> #define MSR_CLK_DUTY 0x0
> >> #define MSR_CLK_REG0 0x4
> >> #define MSR_CLK_REG1 0x8
> >> @@ -360,6 +362,10 @@ static int meson_measure_id(struct meson_msr_id *clk_msr_id,
> >> unsigned int val;
> >> int ret;
> >>
> >> + ret = mutex_lock_interruptible(&measure_lock);
> >
> > Why interruptible?
>
>
> I supposed _interruptible was needed since it's called from userspace via
> debugfs, locking indefinitely isn't wanted, no ? or maybe I missed something...
>

Sounds plausible to me.