summaryrefslogtreecommitdiffstats
path: root/drivers/gpu
diff options
context:
space:
mode:
authorMartin Peres2013-03-15 00:21:07 +0100
committerBen Skeggs2013-03-18 02:15:27 +0100
commit98ee7c7c63f16e443f51abf08e5412f8eb44ad1e (patch)
tree07790702c0f3a988f0570b15dbab7d0611baa6a8 /drivers/gpu
parentdrm/nv40/therm: reserve negative temperatures for errors (diff)
downloadkernel-qcow2-linux-98ee7c7c63f16e443f51abf08e5412f8eb44ad1e.tar.gz
kernel-qcow2-linux-98ee7c7c63f16e443f51abf08e5412f8eb44ad1e.tar.xz
kernel-qcow2-linux-98ee7c7c63f16e443f51abf08e5412f8eb44ad1e.zip
drm/nouveau/therm: disable auto fan management if temperature is not available
Signed-off-by: Martin Peres <martin.peres@labri.fr> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Diffstat (limited to 'drivers/gpu')
-rw-r--r--drivers/gpu/drm/nouveau/core/subdev/therm/base.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/gpu/drm/nouveau/core/subdev/therm/base.c b/drivers/gpu/drm/nouveau/core/subdev/therm/base.c
index 3f8083f41be8..d6a05589c941 100644
--- a/drivers/gpu/drm/nouveau/core/subdev/therm/base.c
+++ b/drivers/gpu/drm/nouveau/core/subdev/therm/base.c
@@ -149,6 +149,11 @@ nouveau_therm_fan_mode(struct nouveau_therm *therm, int mode)
(mode != NOUVEAU_THERM_CTRL_NONE && device->card_type >= NV_C0))
return -EINVAL;
+ /* do not allow automatic fan management if the thermal sensor is
+ * not available */
+ if (priv->mode == 2 && therm->temp_get(therm) < 0)
+ return -EINVAL;
+
if (priv->mode == mode)
return 0;