BUG_ON((first > limit) || (limit >= ltc->num_tags));
 
-       mutex_lock(<c->subdev.mutex);
+       mutex_lock(<c->mutex);
        ltc->func->cbc_clear(ltc, first, limit);
        ltc->func->cbc_wait(ltc);
-       mutex_unlock(<c->subdev.mutex);
+       mutex_unlock(<c->mutex);
 }
 
 int
 {
        struct nvkm_ltc *ltc = nvkm_ltc(subdev);
        nvkm_memory_unref(<c->tag_ram);
+       mutex_destroy(<c->mutex);
        return ltc;
 }
 
 
        nvkm_subdev_ctor(&nvkm_ltc, device, index, <c->subdev);
        ltc->func = func;
+       mutex_init(<c->mutex);
        ltc->zbc_min = 1; /* reserve 0 for disabled */
        ltc->zbc_max = min(func->zbc, NVKM_LTC_MAX_ZBC_CNT) - 1;
        return 0;