On Mo, 2019-08-19 at 06:17 +0000, Wei Yongjun wrote: > Add the missing unlock before return from function > etnaviv_iommuv1_context_alloc() > in the error handling case. > > Fixes: 27b67278e007 ("drm/etnaviv: rework MMU handling") > Signed-off-by: Wei Yongjun <weiyongjun1@xxxxxxxxxx> Thanks, applied. For my education, can you tell me which tool you did use to catch this issue? Regards, Lucas > --- > drivers/gpu/drm/etnaviv/etnaviv_iommu.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/etnaviv/etnaviv_iommu.c > b/drivers/gpu/drm/etnaviv/etnaviv_iommu.c > index aac8dbf3ea56..1a7c89a67bea 100644 > --- a/drivers/gpu/drm/etnaviv/etnaviv_iommu.c > +++ b/drivers/gpu/drm/etnaviv/etnaviv_iommu.c > @@ -140,8 +140,10 @@ etnaviv_iommuv1_context_alloc(struct > etnaviv_iommu_global *global) > } > > v1_context = kzalloc(sizeof(*v1_context), GFP_KERNEL); > - if (!v1_context) > + if (!v1_context) { > + mutex_unlock(&global->lock); > return NULL; > + } > > v1_context->pgtable_cpu = dma_alloc_wc(global->dev, PT_SIZE, > &v1_context- > >pgtable_dma, > > >