[EMAIL PROTECTED] writes: > lockdep has seen locks "-> #0" - "-> #3" taken in circular order, but IMHO, > lock "-> #3" (&pch->downl) taken after "-> #2" (&ppp->wlock) differs from > &pch->downl lock taken in "-> #0" (before &vlan_netdev_xmit_lock_key) and > lockdep should be notified about this. > > Reported & tested by: "Yuriy N. Shkandybin" <[EMAIL PROTECTED]> > Signed-off-by: Jarek Poplawski <[EMAIL PROTECTED]> > Cc: Paul Mackerras <[EMAIL PROTECTED]> > Signed-off-by: Andrew Morton <[EMAIL PROTECTED]> > --- > > drivers/net/ppp_generic.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff -puN drivers/net/ppp_generic.c~ppp_generic-fix-lockdep-warning > drivers/net/ppp_generic.c > --- a/drivers/net/ppp_generic.c~ppp_generic-fix-lockdep-warning > +++ a/drivers/net/ppp_generic.c > @@ -1433,7 +1433,8 @@ ppp_channel_push(struct channel *pch) > struct sk_buff *skb; > struct ppp *ppp; > > - spin_lock_bh(&pch->downl); > + local_bh_disable(); > + spin_lock_nested(&pch->downl, SINGLE_DEPTH_NESTING);
This looks like a band-aid to me. I don't feel that I understand exactly how the recursive locking situation arose, or why saying "SINGLE_DEPTH_NESTING" (whatever that means exactly) is a suitable fix. Paul. - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html