Message ID | 1389725137-16147-1-git-send-email-eduardo.valentin@ti.com (mailing list archive) |
---|---|
State | Rejected |
Delegated to: | Zhang Rui |
Headers | show |
On Tue, 2014-01-14 at 14:45 -0400, Eduardo Valentin wrote: > When registering a thermal zone, passing an invalid > .governor_name via struct thermal_zone_params may > create a thermal zone without a governor, when it > is supposed to be the default governor. > > This patch fixes this issue by assigning the > default governor, whenever the zone has a governor > set to NULL. > please check if the patch at https://patchwork.kernel.org/patch/3730391/ fixes the same problem? thanks, rui > Cc: Zhang Rui <rui.zhang@intel.com> > Cc: linux-pm@vger.kernel.org > Cc: linux-kernel@vger.kernel.org > Reported-by: Wei Ni <wni@nvidia.com> > Signed-off-by: Eduardo Valentin <eduardo.valentin@ti.com> > --- > drivers/thermal/thermal_core.c | 7 ++++--- > 1 file changed, 4 insertions(+), 3 deletions(-) > > diff --git a/drivers/thermal/thermal_core.c b/drivers/thermal/thermal_core.c > index a621e90..967d980 100644 > --- a/drivers/thermal/thermal_core.c > +++ b/drivers/thermal/thermal_core.c > @@ -89,7 +89,7 @@ int thermal_register_governor(struct thermal_governor *governor) > list_for_each_entry(pos, &thermal_tz_list, node) { > if (pos->governor) > continue; > - if (pos->tzp) > + if (pos->tzp && pos->tzp->governor_name) > name = pos->tzp->governor_name; > else > name = DEFAULT_THERMAL_GOVERNOR; > @@ -1527,9 +1527,10 @@ struct thermal_zone_device *thermal_zone_device_register(const char *type, > /* Update 'this' zone's governor information */ > mutex_lock(&thermal_governor_lock); > > - if (tz->tzp) > + if (tz->tzp && tz->tzp->governor_name) > tz->governor = __find_governor(tz->tzp->governor_name); > - else > + > + if (!tz->governor) > tz->governor = __find_governor(DEFAULT_THERMAL_GOVERNOR); > > mutex_unlock(&thermal_governor_lock); -- To unsubscribe from this list: send the line "unsubscribe linux-pm" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/thermal/thermal_core.c b/drivers/thermal/thermal_core.c index a621e90..967d980 100644 --- a/drivers/thermal/thermal_core.c +++ b/drivers/thermal/thermal_core.c @@ -89,7 +89,7 @@ int thermal_register_governor(struct thermal_governor *governor) list_for_each_entry(pos, &thermal_tz_list, node) { if (pos->governor) continue; - if (pos->tzp) + if (pos->tzp && pos->tzp->governor_name) name = pos->tzp->governor_name; else name = DEFAULT_THERMAL_GOVERNOR; @@ -1527,9 +1527,10 @@ struct thermal_zone_device *thermal_zone_device_register(const char *type, /* Update 'this' zone's governor information */ mutex_lock(&thermal_governor_lock); - if (tz->tzp) + if (tz->tzp && tz->tzp->governor_name) tz->governor = __find_governor(tz->tzp->governor_name); - else + + if (!tz->governor) tz->governor = __find_governor(DEFAULT_THERMAL_GOVERNOR); mutex_unlock(&thermal_governor_lock);
When registering a thermal zone, passing an invalid .governor_name via struct thermal_zone_params may create a thermal zone without a governor, when it is supposed to be the default governor. This patch fixes this issue by assigning the default governor, whenever the zone has a governor set to NULL. Cc: Zhang Rui <rui.zhang@intel.com> Cc: linux-pm@vger.kernel.org Cc: linux-kernel@vger.kernel.org Reported-by: Wei Ni <wni@nvidia.com> Signed-off-by: Eduardo Valentin <eduardo.valentin@ti.com> --- drivers/thermal/thermal_core.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-)