Skip to content

Commit

Permalink
drm/nouveau/therm: fix a potential deadlock in the therm monitoring code
Browse files Browse the repository at this point in the history
Signed-off-by: Martin Peres <martin.peres@free.fr>
Tested-by: Stefan Ringel <mail@stefanringel.de>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
  • Loading branch information
Martin Peres authored and Ben Skeggs committed Jul 15, 2014
1 parent 0b4e8e7 commit bb78e7a
Showing 1 changed file with 3 additions and 3 deletions.
6 changes: 3 additions & 3 deletions drivers/gpu/drm/nouveau/core/subdev/therm/temp.c
Original file line number Diff line number Diff line change
Expand Up @@ -192,11 +192,11 @@ alarm_timer_callback(struct nouveau_alarm *alarm)
nouveau_therm_threshold_hyst_polling(therm, &sensor->thrs_shutdown,
NOUVEAU_THERM_THRS_SHUTDOWN);

spin_unlock_irqrestore(&priv->sensor.alarm_program_lock, flags);

/* schedule the next poll in one second */
if (therm->temp_get(therm) >= 0 && list_empty(&alarm->head))
ptimer->alarm(ptimer, 1000 * 1000 * 1000, alarm);

spin_unlock_irqrestore(&priv->sensor.alarm_program_lock, flags);
ptimer->alarm(ptimer, 1000000000ULL, alarm);
}

void
Expand Down

0 comments on commit bb78e7a

Please sign in to comment.