]> err.no Git - linux-2.6/commitdiff
[NETROM] lockdep: fix false positive
authorRalf Baechle <ralf@linux-mips.org>
Wed, 12 Jul 2006 20:26:26 +0000 (13:26 -0700)
committerDavid S. Miller <davem@sunset.davemloft.net>
Wed, 12 Jul 2006 20:59:02 +0000 (13:59 -0700)
NETROM network devices are virtual network devices encapsulating NETROM
frames into AX.25 which will be sent through an AX.25 device, so form a
special "super class" of normal net devices; split their locks off into a
separate class since they always nest.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/netrom/af_netrom.c

index 672d5f803f8ff168e5b6d12bc6e51a9c72567463..1d50f801f181f4e1c4962a09d6acb81e23c7577a 100644 (file)
@@ -65,6 +65,14 @@ static DEFINE_SPINLOCK(nr_list_lock);
 
 static const struct proto_ops nr_proto_ops;
 
+/*
+ * NETROM network devices are virtual network devices encapsulating NETROM
+ * frames into AX.25 which will be sent through an AX.25 device, so form a
+ * special "super class" of normal net devices; split their locks off into a
+ * separate class since they always nest.
+ */
+static struct lock_class_key nr_netdev_xmit_lock_key;
+
 /*
  *     Socket removal during an interrupt is now safe.
  */
@@ -1405,6 +1413,7 @@ static int __init nr_proto_init(void)
                        free_netdev(dev);
                        goto fail;
                }
+               lockdep_set_class(&dev->_xmit_lock, &nr_netdev_xmit_lock_key);
                dev_nr[i] = dev;
        }