This fixes wrong temperature outputs e.g. 511°C if the card is asleep.

Signed-off-by: Tobias Klausmann <[email protected]>
---
 drivers/gpu/drm/nouveau/nvkm/subdev/therm/gp100.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/therm/gp100.c 
b/drivers/gpu/drm/nouveau/nvkm/subdev/therm/gp100.c
index 9f0dea3f61dc..45d0ec632b5a 100644
--- a/drivers/gpu/drm/nouveau/nvkm/subdev/therm/gp100.c
+++ b/drivers/gpu/drm/nouveau/nvkm/subdev/therm/gp100.c
@@ -32,8 +32,10 @@ gp100_temp_get(struct nvkm_therm *therm)
        u32 inttemp = (tsensor & 0x0001fff8);
 
        /* device SHADOWed */
-       if (tsensor & 0x40000000)
+       if (tsensor & 0x40000000) {
                nvkm_trace(subdev, "reading temperature from SHADOWed 
sensor\n");
+               return -ENODEV;
+       }
 
        /* device valid */
        if (tsensor & 0x20000000)
-- 
2.16.1

_______________________________________________
dri-devel mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to