Hi Louis, > The functions `vkms_crtc_atomic_begin` and `vkms_crtc_atomic_flush` are > responsible for locking and unlocking a mutex, respectively. Add the > `__acquires` and `__releases` annotations to these functions to prevent > the associated sparse warning about context imbalance. > > Signed-off-by: Louis Chauvet <louis.chauvet@xxxxxxxxxxx> Thanks for fixing this warning. Tested it and I can confirm that these warnings are fixed now: drivers/gpu/drm/vkms/vkms_crtc.c:233:13: warning: context imbalance in 'vkms_crtc_atomic_begin' - wrong count at exit drivers/gpu/drm/vkms/vkms_crtc.c:262:39: warning: context imbalance in 'vkms_crtc_atomic_flush' - unexpected unlock Feel free to add: Reviewed-by: José Expósito <jose.exposito89@xxxxxxxxx> > --- > drivers/gpu/drm/vkms/vkms_crtc.c | 2 ++ > 1 file changed, 2 insertions(+) > > > --- > base-commit: d2194256049910d286cd6c308c2689df521d8842 > change-id: 20240912-vkms-warnings-e0e331bc5e6d > > Best regards, > > diff --git a/drivers/gpu/drm/vkms/vkms_crtc.c b/drivers/gpu/drm/vkms/vkms_crtc.c > index 40b4d084e3ceef9e1e24b7338efdd9253afee8d6..2ad164b518fb93f5b6b86948116ff7ed97770b60 100644 > --- a/drivers/gpu/drm/vkms/vkms_crtc.c > +++ b/drivers/gpu/drm/vkms/vkms_crtc.c > @@ -232,6 +232,7 @@ static void vkms_crtc_atomic_disable(struct drm_crtc *crtc, > > static void vkms_crtc_atomic_begin(struct drm_crtc *crtc, > struct drm_atomic_state *state) > + __acquires(&vkms_output->lock) > { > struct vkms_output *vkms_output = drm_crtc_to_vkms_output(crtc); > > @@ -243,6 +244,7 @@ static void vkms_crtc_atomic_begin(struct drm_crtc *crtc, > > static void vkms_crtc_atomic_flush(struct drm_crtc *crtc, > struct drm_atomic_state *state) > + __releases(&vkms_output->lock) > { > struct vkms_output *vkms_output = drm_crtc_to_vkms_output(crtc); > >