Re: [PATCH 2/5] video: Add missing annotation for cyber2000fb_enable_ddc() and cyber2000fb_disable_ddc()
From: Sam Ravnborg
Date: Tue Apr 07 2020 - 15:48:32 EST
Hi Jules.
On Fri, Apr 03, 2020 at 05:05:02PM +0100, Jules Irenge wrote:
> Sparse reports warnings at cyber2000fb_enable_ddc()
> and cyber2000fb_disable_ddc()
>
> warning: context imbalance in cyber2000fb_enable_ddc()
> - wrong count at exit
>
> warning: context imbalance in cyber2000fb_disable_ddc()
> - unexpected unlock
>
> The root cause is the missing annotation at cyber2000fb_enable_ddc()
> and cyber2000fb_disable_ddc()
>
> Add the missing __acquires(&cfb->reg_b0_lock) annotation
> Add the missing __releases(&cfb->reg_b0_lock) annotation
>
> Signed-off-by: Jules Irenge <jbi.octave@xxxxxxxxx>
Thanks, added to drm-misc-next, so the patch will hit the kernel
when the merge windows opens the next time.
Was this the only locking relevant warning in fbdev?
I would expect a few more.
Sam
> ---
> drivers/video/fbdev/cyber2000fb.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/video/fbdev/cyber2000fb.c b/drivers/video/fbdev/cyber2000fb.c
> index 460826a7ad55..513f58f28b0f 100644
> --- a/drivers/video/fbdev/cyber2000fb.c
> +++ b/drivers/video/fbdev/cyber2000fb.c
> @@ -1160,12 +1160,14 @@ EXPORT_SYMBOL(cyber2000fb_detach);
> #define DDC_SDA_IN (1 << 6)
>
> static void cyber2000fb_enable_ddc(struct cfb_info *cfb)
> + __acquires(&cfb->reg_b0_lock)
> {
> spin_lock(&cfb->reg_b0_lock);
> cyber2000fb_writew(0x1bf, 0x3ce, cfb);
> }
>
> static void cyber2000fb_disable_ddc(struct cfb_info *cfb)
> + __releases(&cfb->reg_b0_lock)
> {
> cyber2000fb_writew(0x0bf, 0x3ce, cfb);
> spin_unlock(&cfb->reg_b0_lock);
> --
> 2.24.1
>
> _______________________________________________
> dri-devel mailing list
> dri-devel@xxxxxxxxxxxxxxxxxxxxx
> https://lists.freedesktop.org/mailman/listinfo/dri-devel