diff --git a/drivers/gpu/nvgpu/hal/vgpu/init/vgpu_hal_gp10b.c b/drivers/gpu/nvgpu/hal/vgpu/init/vgpu_hal_gp10b.c index 69139afcb..4ec286dfc 100644 --- a/drivers/gpu/nvgpu/hal/vgpu/init/vgpu_hal_gp10b.c +++ b/drivers/gpu/nvgpu/hal/vgpu/init/vgpu_hal_gp10b.c @@ -201,7 +201,7 @@ static const struct gpu_ops vgpu_gp10b_ops = { .trigger_suspend = NULL, .wait_for_pause = gr_gk20a_wait_for_pause, .resume_from_pause = NULL, - .clear_sm_errors = gr_gk20a_clear_sm_errors, + .clear_sm_errors = NULL, .sm_debugger_attached = NULL, .suspend_single_sm = NULL, .suspend_all_sms = NULL, diff --git a/drivers/gpu/nvgpu/hal/vgpu/init/vgpu_hal_gv11b.c b/drivers/gpu/nvgpu/hal/vgpu/init/vgpu_hal_gv11b.c index bb5c27984..4aab163f1 100644 --- a/drivers/gpu/nvgpu/hal/vgpu/init/vgpu_hal_gv11b.c +++ b/drivers/gpu/nvgpu/hal/vgpu/init/vgpu_hal_gv11b.c @@ -260,7 +260,7 @@ static const struct gpu_ops vgpu_gv11b_ops = { .trigger_suspend = NULL, .wait_for_pause = gr_gk20a_wait_for_pause, .resume_from_pause = NULL, - .clear_sm_errors = gr_gk20a_clear_sm_errors, + .clear_sm_errors = NULL, .sm_debugger_attached = NULL, .suspend_single_sm = NULL, .suspend_all_sms = NULL, diff --git a/drivers/gpu/nvgpu/os/linux/ioctl_ctrl.c b/drivers/gpu/nvgpu/os/linux/ioctl_ctrl.c index a445acd6c..bad8490e7 100644 --- a/drivers/gpu/nvgpu/os/linux/ioctl_ctrl.c +++ b/drivers/gpu/nvgpu/os/linux/ioctl_ctrl.c @@ -875,6 +875,10 @@ static int nvgpu_gpu_ioctl_clear_sm_errors(struct gk20a *g) { int err; + if (g->ops.gr.clear_sm_errors == NULL) { + return -ENOSYS; + } + err = gk20a_busy(g); if (err) return err;