[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAMhUBjnc1rCoE5G8MPHO-nzMdQs=O3=YLH1QnuF7mbKbds2QMQ@mail.gmail.com>
Date: Sun, 10 Apr 2022 15:08:04 +0800
From: Zheyu Ma <zheyuma97@...il.com>
To: mike.marciniszyn@...nelisnetworks.com,
dennis.dalessandro@...nelisnetworks.com, jgg@...pe.ca
Cc: linux-rdma@...r.kernel.org,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>
Subject: [BUG] IB/hfi1: Warning when the driver fails to probe
Hello,
I found a bug at the init_one() function in the hfi driver.
When the function xa_alloc_irq() fails, the driver executes the error
handling function sdma_clean(), and this function uses the lock '
dd->sde_map_lock'. But this lock is initialized after executing the
function xa_alloc_irq(), which causes the following warning:
[ 23.257762] hfi1 0000:00:05.0: Could not allocate unit ID: error 1
[ 23.269915] INFO: trying to register non-static key.
[ 23.270318] The code is fine but needs lockdep annotation, or maybe
[ 23.270808] you didn't initialize this object before use?
[ 23.271229] turning off the locking correctness validator.
[ 23.273198] Call Trace:
[ 23.274185] register_lock_class+0x11b/0x880
[ 23.274525] __lock_acquire+0xf3/0x7930
[ 23.275769] lock_acquire+0xff/0x2d0
[ 23.276053] ? sdma_clean+0x42a/0x660 [hfi1]
[ 23.276485] ? lock_release+0x472/0x710
[ 23.276789] _raw_spin_lock_irq+0x46/0x60
[ 23.277105] ? sdma_clean+0x42a/0x660 [hfi1]
[ 23.277530] sdma_clean+0x42a/0x660 [hfi1]
[ 23.277945] ? trace_kfree+0x28/0xc0
[ 23.278232] hfi1_free_devdata+0x3a7/0x420 [hfi1]
[ 23.278688] init_one+0x867/0x11a0 [hfi1]
[ 23.279090] ? _raw_spin_unlock_irqrestore+0x3d/0x60
[ 23.279482] ? rcu_lock_release+0x20/0x20 [hfi1]
[ 23.279930] pci_device_probe+0x40e/0x8d0
Regards,
Zheyu Ma
Powered by blists - more mailing lists