diff options
author | Lukasz Majewski <l.majewski@samsung.com> | 2014-11-18 05:16:30 -0500 |
---|---|---|
committer | Eduardo Valentin <edubezval@gmail.com> | 2014-12-08 20:32:56 -0500 |
commit | 9a3031dc3e7a5edfeb52ae8951f8bcd927351854 (patch) | |
tree | 27b350a5c4033f34bbfc7a35d54d041ecc595b26 | |
parent | 73904cbc1a5a5143323743209257d4668fadc7f3 (diff) |
thermal:core:fix: Check return code of the ->get_max_state() callback
The return code from ->get_max_state() callback was not checked during
binding cooling device to thermal zone device.
Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
Signed-off-by: Eduardo Valentin <edubezval@gmail.com>
-rw-r--r-- | drivers/thermal/thermal_core.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/thermal/thermal_core.c b/drivers/thermal/thermal_core.c index 43b90709585f..85679295bfd5 100644 --- a/drivers/thermal/thermal_core.c +++ b/drivers/thermal/thermal_core.c | |||
@@ -928,7 +928,7 @@ int thermal_zone_bind_cooling_device(struct thermal_zone_device *tz, | |||
928 | struct thermal_zone_device *pos1; | 928 | struct thermal_zone_device *pos1; |
929 | struct thermal_cooling_device *pos2; | 929 | struct thermal_cooling_device *pos2; |
930 | unsigned long max_state; | 930 | unsigned long max_state; |
931 | int result; | 931 | int result, ret; |
932 | 932 | ||
933 | if (trip >= tz->trips || (trip < 0 && trip != THERMAL_TRIPS_NONE)) | 933 | if (trip >= tz->trips || (trip < 0 && trip != THERMAL_TRIPS_NONE)) |
934 | return -EINVAL; | 934 | return -EINVAL; |
@@ -945,7 +945,9 @@ int thermal_zone_bind_cooling_device(struct thermal_zone_device *tz, | |||
945 | if (tz != pos1 || cdev != pos2) | 945 | if (tz != pos1 || cdev != pos2) |
946 | return -EINVAL; | 946 | return -EINVAL; |
947 | 947 | ||
948 | cdev->ops->get_max_state(cdev, &max_state); | 948 | ret = cdev->ops->get_max_state(cdev, &max_state); |
949 | if (ret) | ||
950 | return ret; | ||
949 | 951 | ||
950 | /* lower default 0, upper default max_state */ | 952 | /* lower default 0, upper default max_state */ |
951 | lower = lower == THERMAL_NO_LIMIT ? 0 : lower; | 953 | lower = lower == THERMAL_NO_LIMIT ? 0 : lower; |