|
@@ -306,12 +306,23 @@ int thermal_zone_bind_cooling_device(struct thermal_zone_device *tz,
|
|
{
|
|
{
|
|
struct thermal_cooling_device_instance *dev;
|
|
struct thermal_cooling_device_instance *dev;
|
|
struct thermal_cooling_device_instance *pos;
|
|
struct thermal_cooling_device_instance *pos;
|
|
|
|
+ struct thermal_zone_device *pos1;
|
|
|
|
+ struct thermal_cooling_device *pos2;
|
|
int result;
|
|
int result;
|
|
|
|
|
|
if (trip >= tz->trips || (trip < 0 && trip != THERMAL_TRIPS_NONE))
|
|
if (trip >= tz->trips || (trip < 0 && trip != THERMAL_TRIPS_NONE))
|
|
return -EINVAL;
|
|
return -EINVAL;
|
|
|
|
|
|
- if (!tz || !cdev)
|
|
|
|
|
|
+ list_for_each_entry(pos1, &thermal_tz_list, node) {
|
|
|
|
+ if (pos1 == tz)
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+ list_for_each_entry(pos2, &thermal_cdev_list, node) {
|
|
|
|
+ if (pos2 == cdev)
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if (tz != pos1 || cdev != pos2)
|
|
return -EINVAL;
|
|
return -EINVAL;
|
|
|
|
|
|
dev =
|
|
dev =
|