Subject: Re: [PATCH net-next 10/10] net: dsa: Add lockdep class to tx queues to avoid lockdep splat

From: Florian Fainelli <[email-masked]>
Date: Tue, 05 May 2015 16:22:33 -0700

On 05/05/15 16:09, Andrew Lunn wrote:
> DSA stacks an Ethernet device on top of an Ethernet device. This can
> cause false positive lockdep splats for the transmit queue:
> 
> =============================================
> [ INFO: possible recursive locking detected ]
> 4.0.0-rc7-01838-g70621a215fc7 #386 Not tainted
> ---------------------------------------------
> kworker/0:0/4 is trying to acquire lock:
>  (_xmit_ETHER#2){+.-...}, at: [<c040e95c>] sch_direct_xmit+0xa8/0x1fc
> 
> but task is already holding lock:
>  (_xmit_ETHER#2){+.-...}, at: [<c03f4208>] __dev_queue_xmit+0x4d4/0x56c
> 
> other info that might help us debug this:
>  Possible unsafe locking scenario:
> 
>        CPU0
>        ----
>   lock(_xmit_ETHER#2);
>   lock(_xmit_ETHER#2);
> 
> To avoid this, walk the tq queues of the dsa slaves and set a lockdep
> class.

Had meant to fix that a while ago when this was bugging me, thanks for
doing this!

> 
> Signed-off-by: Andrew Lunn <[email-masked]>

Acked-by: Florian Fainelli <[email-masked]>
-- 
Florian