[PATCH 2/3] omap: Do not BUG_ON(!spin_is_locked()) on UP

Bruno Prémont bonbons at linux-vserver.org
Mon Dec 22 06:20:51 PST 2014


On Mon, 22 Dec 2014 08:46:48 -0500 Rob Clark wrote:
> On Sun, Dec 21, 2014 at 11:43 AM, Bruno Prémont wrote:
> > On !SMP systems spinlocks do not exist. Thus checking of they
> > are active will always fail.
> >
> > Use
> >   assert_spin_locked(lock);
> > instead of
> >   BUG_ON(!spin_is_locked(lock));
> > to not BUG() on all UP systems.
> >
> > Signed-off-by: Bruno Prémont <bonbons at linux-vserver.org>
> > ---
> >  drivers/gpu/drm/omapdrm/omap_irq.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/gpu/drm/omapdrm/omap_irq.c b/drivers/gpu/drm/omapdrm/omap_irq.c
> > index f035d2b..6ca9253 100644
> > --- a/drivers/gpu/drm/omapdrm/omap_irq.c
> > +++ b/drivers/gpu/drm/omapdrm/omap_irq.c
> > @@ -34,7 +34,7 @@ static void omap_irq_update(struct drm_device *dev)
> >         struct omap_drm_irq *irq;
> >         uint32_t irqmask = priv->vblank_mask;
> >
> > -       BUG_ON(!spin_is_locked(&list_lock));
> > +       assert_spin_locked(&list_lock));
> 
> btw, one too many ')' there...  I've fixed up the same issue w/ msm
> patch as I applied it

Oops.

I got it right for the nouveau patch, so I was probably too quick
doing the manual replace for the other occurrences in drivers/gpu/.


I didn't check how far back these BUG_ON() go though they might be worth
applying to stable trees as well (could be the assert_spin_locked()
macro appeared only after the introduction of some of these BUG_ON()s though).

I've hit them on nouveau on 3.18 and 3.19-rc1.

Bruno

> BR,
> -R
> 
> 
> >
> >         list_for_each_entry(irq, &priv->irq_list, node)
> >                 irqmask |= irq->irqmask;
> > --
> > 1.8.1.5


More information about the dri-devel mailing list