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 <[email protected]> > Cc: [email protected] > Cc: [email protected] > Reported-by: Wei Ni <[email protected]> > Signed-off-by: Eduardo Valentin <[email protected]> > --- > 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-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

