X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;ds=sidebyside;f=net%2Frose%2Faf_rose.c;h=08a542855654fb8981717faeb9a73ab52d3531b7;hb=b62f963e1fdf838fed91faec21228d421a834f2d;hp=c115295ab431e1a7c0c3652829e25b04b05a8e9e;hpb=0f12b15ebcedce115a5d8e5ff741e49a7993f67c;p=powerpc.git diff --git a/net/rose/af_rose.c b/net/rose/af_rose.c index c115295ab4..08a5428556 100644 --- a/net/rose/af_rose.c +++ b/net/rose/af_rose.c @@ -66,6 +66,14 @@ static struct proto_ops rose_proto_ops; ax25_address rose_callsign; +/* + * ROSE network devices are virtual network devices encapsulating ROSE + * 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 rose_netdev_xmit_lock_key; + /* * Convert a ROSE address into text. */ @@ -1515,6 +1523,7 @@ static int __init rose_proto_init(void) free_netdev(dev); goto fail; } + lockdep_set_class(&dev->_xmit_lock, &rose_netdev_xmit_lock_key); dev_rose[i] = dev; }