Hello:
This patch was applied to netdev/net.git (main) by Jakub Kicinski kuba@kernel.org:
On Tue, 30 Jul 2024 08:31:04 +0200 you wrote:
The carrier_lock spinlock protects the carrier detection. While it is hold, framer_get_status() is called witch in turn takes a mutex. This is not correct and can lead to a deadlock.
A run with PROVE_LOCKING enabled detected the issue: [ BUG: Invalid wait context ] ... c204ddbc (&framer->mutex){+.+.}-{3:3}, at: framer_get_status+0x40/0x78 other info that might help us debug this: context-{4:4} 2 locks held by ifconfig/146: #0: c0926a38 (rtnl_mutex){+.+.}-{3:3}, at: devinet_ioctl+0x12c/0x664 #1: c2006a40 (&qmc_hdlc->carrier_lock){....}-{2:2}, at: qmc_hdlc_framer_set_carrier+0x30/0x98
[...]
Here is the summary with links: - [net,v1] net: wan: fsl_qmc_hdlc: Convert carrier_lock spinlock to a mutex https://git.kernel.org/netdev/net/c/c4d6a347ba7b
You are awesome, thank you!