diff options
Diffstat (limited to 'drivers/gpu/nvgpu')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/channel_gk20a.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/channel_gk20a.c b/drivers/gpu/nvgpu/gk20a/channel_gk20a.c index 6dad412a..6f0d7375 100644 --- a/drivers/gpu/nvgpu/gk20a/channel_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/channel_gk20a.c | |||
@@ -1561,15 +1561,16 @@ static void gk20a_channel_timeout_start(struct channel_gk20a *ch, | |||
1561 | static void gk20a_channel_timeout_stop(struct channel_gk20a *ch) | 1561 | static void gk20a_channel_timeout_stop(struct channel_gk20a *ch) |
1562 | { | 1562 | { |
1563 | mutex_lock(&ch->timeout.lock); | 1563 | mutex_lock(&ch->timeout.lock); |
1564 | |||
1565 | if (!ch->timeout.initialized) { | 1564 | if (!ch->timeout.initialized) { |
1566 | mutex_unlock(&ch->timeout.lock); | 1565 | mutex_unlock(&ch->timeout.lock); |
1567 | return; | 1566 | return; |
1568 | } | 1567 | } |
1568 | mutex_unlock(&ch->timeout.lock); | ||
1569 | 1569 | ||
1570 | ch->timeout.initialized = false; | ||
1571 | cancel_delayed_work_sync(&ch->timeout.wq); | 1570 | cancel_delayed_work_sync(&ch->timeout.wq); |
1572 | 1571 | ||
1572 | mutex_lock(&ch->timeout.lock); | ||
1573 | ch->timeout.initialized = false; | ||
1573 | mutex_unlock(&ch->timeout.lock); | 1574 | mutex_unlock(&ch->timeout.lock); |
1574 | } | 1575 | } |
1575 | 1576 | ||