Message ID | 1504223549-4152-1-git-send-email-nicoleotsuka@gmail.com (mailing list archive) |
---|---|
State | Changes Requested, archived |
Headers | show |
On Thu, Aug 31, 2017 at 04:52:29PM -0700, Nicolin Chen wrote: > The dev pointer is going through a null check after a dereference. > So this patch just reverses that. > > Signed-off-by: Nicolin Chen <nicoleotsuka@gmail.com> > --- > drivers/thermal/tegra/soctherm.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/drivers/thermal/tegra/soctherm.c b/drivers/thermal/tegra/soctherm.c > index 7d2db23..6718799 100644 > --- a/drivers/thermal/tegra/soctherm.c > +++ b/drivers/thermal/tegra/soctherm.c > @@ -478,7 +478,7 @@ static int throttrip_program(struct device *dev, > struct soctherm_throt_cfg *stc, > int trip_temp) > { > - struct tegra_soctherm *ts = dev_get_drvdata(dev); > + struct tegra_soctherm *ts; > int temp, cpu_throt, gpu_throt; > unsigned int throt; > u32 r, reg_off; > @@ -486,6 +486,8 @@ static int throttrip_program(struct device *dev, > if (!dev || !sg || !stc || !stc->init) > return -EINVAL; > > + ts = dev_get_drvdata(dev); > + > temp = enforce_temp_range(dev, trip_temp) / ts->soc->thresh_grain; > > /* Hardcode LIGHT on LEVEL1 and HEAVY on LEVEL2 */ I don't see a case where dev is ever going to be NULL here. Therefore, I think a better patch would be to just drop the !dev test and leave the rest of the code as-is. Thierry
diff --git a/drivers/thermal/tegra/soctherm.c b/drivers/thermal/tegra/soctherm.c index 7d2db23..6718799 100644 --- a/drivers/thermal/tegra/soctherm.c +++ b/drivers/thermal/tegra/soctherm.c @@ -478,7 +478,7 @@ static int throttrip_program(struct device *dev, struct soctherm_throt_cfg *stc, int trip_temp) { - struct tegra_soctherm *ts = dev_get_drvdata(dev); + struct tegra_soctherm *ts; int temp, cpu_throt, gpu_throt; unsigned int throt; u32 r, reg_off; @@ -486,6 +486,8 @@ static int throttrip_program(struct device *dev, if (!dev || !sg || !stc || !stc->init) return -EINVAL; + ts = dev_get_drvdata(dev); + temp = enforce_temp_range(dev, trip_temp) / ts->soc->thresh_grain; /* Hardcode LIGHT on LEVEL1 and HEAVY on LEVEL2 */
The dev pointer is going through a null check after a dereference. So this patch just reverses that. Signed-off-by: Nicolin Chen <nicoleotsuka@gmail.com> --- drivers/thermal/tegra/soctherm.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)