diff --git a/drivers/gpu/nvgpu/common/fifo/channel.c b/drivers/gpu/nvgpu/common/fifo/channel.c index 23b5d1e6c..5c5580e5b 100644 --- a/drivers/gpu/nvgpu/common/fifo/channel.c +++ b/drivers/gpu/nvgpu/common/fifo/channel.c @@ -340,7 +340,7 @@ static void gk20a_free_channel(struct channel_gk20a *ch, bool force) trace_gk20a_free_channel(ch->chid); if (g->os_channel.close != NULL) { - g->os_channel.close(ch); + g->os_channel.close(ch, force); } /* diff --git a/drivers/gpu/nvgpu/include/nvgpu/gk20a.h b/drivers/gpu/nvgpu/include/nvgpu/gk20a.h index 9227bf430..e517e8506 100644 --- a/drivers/gpu/nvgpu/include/nvgpu/gk20a.h +++ b/drivers/gpu/nvgpu/include/nvgpu/gk20a.h @@ -2066,7 +2066,7 @@ struct gk20a { struct { void (*open)(struct channel_gk20a *ch); - void (*close)(struct channel_gk20a *ch); + void (*close)(struct channel_gk20a *ch, bool force); void (*work_completion_signal)(struct channel_gk20a *ch); void (*work_completion_cancel_sync)(struct channel_gk20a *ch); bool (*os_fence_framework_inst_exists)(struct channel_gk20a *ch); diff --git a/drivers/gpu/nvgpu/os/linux/linux-channel.c b/drivers/gpu/nvgpu/os/linux/linux-channel.c index 2ecd9903e..153a1e08e 100644 --- a/drivers/gpu/nvgpu/os/linux/linux-channel.c +++ b/drivers/gpu/nvgpu/os/linux/linux-channel.c @@ -270,7 +270,7 @@ static void nvgpu_channel_open_linux(struct channel_gk20a *ch) { } -static void nvgpu_channel_close_linux(struct channel_gk20a *ch) +static void nvgpu_channel_close_linux(struct channel_gk20a *ch, bool force) { nvgpu_channel_work_completion_clear(ch);