Hi Geert > > From: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> > > > > It needs to check maximum trip size before using it. > > Otherwise, each driver might be called with unsupported trip. > > > > Reported-by: Magnus Damm <magnus.damm@xxxxxxxxx> > > Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> > > --- > > drivers/thermal/thermal_core.c | 3 +++ > > 1 file changed, 3 insertions(+) > > > > diff --git a/drivers/thermal/thermal_core.c b/drivers/thermal/thermal_core.c > > index 7f7a3ca..9761f49 100644 > > --- a/drivers/thermal/thermal_core.c > > +++ b/drivers/thermal/thermal_core.c > > @@ -461,6 +461,9 @@ static void thermal_tripped_notify(struct thermal_zone_device *tz, > > kobject_uevent_env(&tz->device.kobj, KOBJ_CHANGE, msg); > > } > > > > + if (tz->trips <= trip + 1) > > + goto unlock; > > + > > Thanks, I assume this will fix the "rcar_thermal e61f0000.thermal: rcar > driver trip error" messages. > > However, I don't know if it's the right fix, cfr. my unanswered question at > https://lkml.org/lkml/2016/1/5/107 > > > ret = tz->ops->get_trip_temp(tz, trip + 1, &upper_trip_temp); > > if (ret) > > goto unlock; Yes. we have 2 solutions. 1) use this patch 2) dev_warn() -> dev_dbg() But my opinion is that using trip with +1 without checking supported size is strange :)