diff options
| -rw-r--r-- | net/ieee802154/6lowpan.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/net/ieee802154/6lowpan.c b/net/ieee802154/6lowpan.c index 8bfb40153fe7..8edfea5da572 100644 --- a/net/ieee802154/6lowpan.c +++ b/net/ieee802154/6lowpan.c | |||
| @@ -530,7 +530,27 @@ static struct header_ops lowpan_header_ops = { | |||
| 530 | .create = lowpan_header_create, | 530 | .create = lowpan_header_create, |
| 531 | }; | 531 | }; |
| 532 | 532 | ||
| 533 | static struct lock_class_key lowpan_tx_busylock; | ||
| 534 | static struct lock_class_key lowpan_netdev_xmit_lock_key; | ||
| 535 | |||
| 536 | static void lowpan_set_lockdep_class_one(struct net_device *dev, | ||
| 537 | struct netdev_queue *txq, | ||
| 538 | void *_unused) | ||
| 539 | { | ||
| 540 | lockdep_set_class(&txq->_xmit_lock, | ||
| 541 | &lowpan_netdev_xmit_lock_key); | ||
| 542 | } | ||
| 543 | |||
| 544 | |||
| 545 | static int lowpan_dev_init(struct net_device *dev) | ||
| 546 | { | ||
| 547 | netdev_for_each_tx_queue(dev, lowpan_set_lockdep_class_one, NULL); | ||
| 548 | dev->qdisc_tx_busylock = &lowpan_tx_busylock; | ||
| 549 | return 0; | ||
| 550 | } | ||
| 551 | |||
| 533 | static const struct net_device_ops lowpan_netdev_ops = { | 552 | static const struct net_device_ops lowpan_netdev_ops = { |
| 553 | .ndo_init = lowpan_dev_init, | ||
| 534 | .ndo_start_xmit = lowpan_xmit, | 554 | .ndo_start_xmit = lowpan_xmit, |
| 535 | .ndo_set_mac_address = lowpan_set_address, | 555 | .ndo_set_mac_address = lowpan_set_address, |
| 536 | }; | 556 | }; |
