irda: Fix lockdep annotations in hashbin_delete().
authorDavid S. Miller <davem@davemloft.net>
Fri, 17 Feb 2017 21:19:39 +0000 (16:19 -0500)
committerBen Hutchings <ben@decadent.org.uk>
Thu, 16 Mar 2017 02:18:51 +0000 (02:18 +0000)
commitc512d1770f6731d7c34eb71d7463852d3ad0e452
tree5d4c0506b1f246868874728804845292211b8b36
parentfd3a84ea1b8650f6929462996f8d96d271f9d0d0
irda: Fix lockdep annotations in hashbin_delete().

commit 4c03b862b12f980456f9de92db6d508a4999b788 upstream.

A nested lock depth was added to the hasbin_delete() code but it
doesn't actually work some well and results in tons of lockdep splats.

Fix the code instead to properly drop the lock around the operation
and just keep peeking the head of the hashbin queue.

Reported-by: Dmitry Vyukov <dvyukov@google.com>
Tested-by: Dmitry Vyukov <dvyukov@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
net/irda/irqueue.c