lkml.org 
[lkml]   [2022]   [Jul]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.15 223/230] dmaengine: pl330: Fix lockdep warning about non-static key
    Date
    From: Dmitry Osipenko <dmitry.osipenko@collabora.com>

    commit b64b3b2f1d81f83519582e1feee87d77f51f5f17 upstream.

    The DEFINE_SPINLOCK() macro shouldn't be used for dynamically allocated
    spinlocks. The lockdep warns about this and disables locking validator.
    Fix the warning by making lock static.

    INFO: trying to register non-static key.
    The code is fine but needs lockdep annotation, or maybe
    you didn't initialize this object before use?
    turning off the locking correctness validator.
    Hardware name: Radxa ROCK Pi 4C (DT)
    Call trace:
    dump_backtrace.part.0+0xcc/0xe0
    show_stack+0x18/0x6c
    dump_stack_lvl+0x8c/0xb8
    dump_stack+0x18/0x34
    register_lock_class+0x4a8/0x4cc
    __lock_acquire+0x78/0x20cc
    lock_acquire.part.0+0xe0/0x230
    lock_acquire+0x68/0x84
    _raw_spin_lock_irqsave+0x84/0xc4
    add_desc+0x44/0xc0
    pl330_get_desc+0x15c/0x1d0
    pl330_prep_dma_cyclic+0x100/0x270
    snd_dmaengine_pcm_trigger+0xec/0x1c0
    dmaengine_pcm_trigger+0x18/0x24
    ...

    Fixes: e588710311ee ("dmaengine: pl330: fix descriptor allocation fail")
    Signed-off-by: Dmitry Osipenko <dmitry.osipenko@collabora.com>
    Link: https://lore.kernel.org/r/20220520181432.149904-1-dmitry.osipenko@collabora.com
    Signed-off-by: Vinod Koul <vkoul@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    drivers/dma/pl330.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    --- a/drivers/dma/pl330.c
    +++ b/drivers/dma/pl330.c
    @@ -2589,7 +2589,7 @@ static struct dma_pl330_desc *pl330_get_

    /* If the DMAC pool is empty, alloc new */
    if (!desc) {
    - DEFINE_SPINLOCK(lock);
    + static DEFINE_SPINLOCK(lock);
    LIST_HEAD(pool);

    if (!add_desc(&pool, &lock, GFP_ATOMIC, 1))

    \
     
     \ /
      Last update: 2022-07-11 12:06    [W:3.123 / U:0.344 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site