Re: [PATCH] drm:amd:amdgpu: Fix missing buffer object unlock in failure path
Applied. Thanks! Alex On Mon, May 15, 2023 at 6:27 PM Sukrut Bellary wrote: > > > On 5/3/23 16:15, Sukrut Bellary wrote: > > smatch warning - > > 1) drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:3615 gfx_v9_0_kiq_resume() > > warn: inconsistent returns 'ring->mqd_obj->tbo.base.resv'. > > > > 2) drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c:6901 gfx_v10_0_kiq_resume() > > warn: inconsistent returns 'ring->mqd_obj->tbo.base.resv'. > > > > Signed-off-by: Sukrut Bellary > > --- > > drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c | 4 +++- > > drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c | 4 +++- > > 2 files changed, 6 insertions(+), 2 deletions(-) > > > > diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c > > b/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c > > index 8bd07ff59671..66d5c5d68454 100644 > > --- a/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c > > +++ b/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c > > @@ -6891,8 +6891,10 @@ static int gfx_v10_0_kiq_resume(struct amdgpu_device > > *adev) > > return r; > > > > r = amdgpu_bo_kmap(ring->mqd_obj, (void **)&ring->mqd_ptr); > > - if (unlikely(r != 0)) > > + if (unlikely(r != 0)) { > > + amdgpu_bo_unreserve(ring->mqd_obj); > > return r; > > + } > > > > gfx_v10_0_kiq_init_queue(ring); > > amdgpu_bo_kunmap(ring->mqd_obj); > > diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c > > b/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c > > index bce6919d666a..d5715d8a4128 100644 > > --- a/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c > > +++ b/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c > > @@ -3617,8 +3617,10 @@ static int gfx_v9_0_kiq_resume(struct amdgpu_device > > *adev) > > return r; > > > > r = amdgpu_bo_kmap(ring->mqd_obj, (void **)&ring->mqd_ptr); > > - if (unlikely(r != 0)) > > + if (unlikely(r != 0)) { > > + amdgpu_bo_unreserve(ring->mqd_obj); > > return r; > > + } > > > > gfx_v9_0_kiq_init_queue(ring); > > amdgpu_bo_kunmap(ring->mqd_obj); > > Follow-up. > Could you please review this patch? > > > -- > Regards, > Sukrut
Re: [PATCH] drm:amd:amdgpu: Fix missing buffer object unlock in failure path
On 5/3/23 16:15, Sukrut Bellary wrote: > smatch warning - > 1) drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:3615 gfx_v9_0_kiq_resume() > warn: inconsistent returns 'ring->mqd_obj->tbo.base.resv'. > > 2) drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c:6901 gfx_v10_0_kiq_resume() > warn: inconsistent returns 'ring->mqd_obj->tbo.base.resv'. > > Signed-off-by: Sukrut Bellary > --- > drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c | 4 +++- > drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c | 4 +++- > 2 files changed, 6 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c > b/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c > index 8bd07ff59671..66d5c5d68454 100644 > --- a/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c > +++ b/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c > @@ -6891,8 +6891,10 @@ static int gfx_v10_0_kiq_resume(struct amdgpu_device > *adev) > return r; > > r = amdgpu_bo_kmap(ring->mqd_obj, (void **)&ring->mqd_ptr); > - if (unlikely(r != 0)) > + if (unlikely(r != 0)) { > + amdgpu_bo_unreserve(ring->mqd_obj); > return r; > + } > > gfx_v10_0_kiq_init_queue(ring); > amdgpu_bo_kunmap(ring->mqd_obj); > diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c > b/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c > index bce6919d666a..d5715d8a4128 100644 > --- a/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c > +++ b/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c > @@ -3617,8 +3617,10 @@ static int gfx_v9_0_kiq_resume(struct amdgpu_device > *adev) > return r; > > r = amdgpu_bo_kmap(ring->mqd_obj, (void **)&ring->mqd_ptr); > - if (unlikely(r != 0)) > + if (unlikely(r != 0)) { > + amdgpu_bo_unreserve(ring->mqd_obj); > return r; > + } > > gfx_v9_0_kiq_init_queue(ring); > amdgpu_bo_kunmap(ring->mqd_obj); Follow-up. Could you please review this patch? -- Regards, Sukrut
[PATCH] drm:amd:amdgpu: Fix missing buffer object unlock in failure path
smatch warning - 1) drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:3615 gfx_v9_0_kiq_resume() warn: inconsistent returns 'ring->mqd_obj->tbo.base.resv'. 2) drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c:6901 gfx_v10_0_kiq_resume() warn: inconsistent returns 'ring->mqd_obj->tbo.base.resv'. Signed-off-by: Sukrut Bellary --- drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c | 4 +++- drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c index 8bd07ff59671..66d5c5d68454 100644 --- a/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c +++ b/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c @@ -6891,8 +6891,10 @@ static int gfx_v10_0_kiq_resume(struct amdgpu_device *adev) return r; r = amdgpu_bo_kmap(ring->mqd_obj, (void **)&ring->mqd_ptr); - if (unlikely(r != 0)) + if (unlikely(r != 0)) { + amdgpu_bo_unreserve(ring->mqd_obj); return r; + } gfx_v10_0_kiq_init_queue(ring); amdgpu_bo_kunmap(ring->mqd_obj); diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c index bce6919d666a..d5715d8a4128 100644 --- a/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c +++ b/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c @@ -3617,8 +3617,10 @@ static int gfx_v9_0_kiq_resume(struct amdgpu_device *adev) return r; r = amdgpu_bo_kmap(ring->mqd_obj, (void **)&ring->mqd_ptr); - if (unlikely(r != 0)) + if (unlikely(r != 0)) { + amdgpu_bo_unreserve(ring->mqd_obj); return r; + } gfx_v9_0_kiq_init_queue(ring); amdgpu_bo_kunmap(ring->mqd_obj); -- 2.34.1