diff options
Diffstat (limited to 'net/ieee802154/6lowpan.c')
-rw-r--r-- | net/ieee802154/6lowpan.c | 23 |
1 files changed, 20 insertions, 3 deletions
diff --git a/net/ieee802154/6lowpan.c b/net/ieee802154/6lowpan.c index 48b25c0af4d0..8edfea5da572 100644 --- a/net/ieee802154/6lowpan.c +++ b/net/ieee802154/6lowpan.c | |||
@@ -106,7 +106,6 @@ static int lowpan_header_create(struct sk_buff *skb, | |||
106 | unsigned short type, const void *_daddr, | 106 | unsigned short type, const void *_daddr, |
107 | const void *_saddr, unsigned int len) | 107 | const void *_saddr, unsigned int len) |
108 | { | 108 | { |
109 | struct ipv6hdr *hdr; | ||
110 | const u8 *saddr = _saddr; | 109 | const u8 *saddr = _saddr; |
111 | const u8 *daddr = _daddr; | 110 | const u8 *daddr = _daddr; |
112 | struct ieee802154_addr sa, da; | 111 | struct ieee802154_addr sa, da; |
@@ -117,8 +116,6 @@ static int lowpan_header_create(struct sk_buff *skb, | |||
117 | if (type != ETH_P_IPV6) | 116 | if (type != ETH_P_IPV6) |
118 | return 0; | 117 | return 0; |
119 | 118 | ||
120 | hdr = ipv6_hdr(skb); | ||
121 | |||
122 | if (!saddr) | 119 | if (!saddr) |
123 | saddr = dev->dev_addr; | 120 | saddr = dev->dev_addr; |
124 | 121 | ||
@@ -533,7 +530,27 @@ static struct header_ops lowpan_header_ops = { | |||
533 | .create = lowpan_header_create, | 530 | .create = lowpan_header_create, |
534 | }; | 531 | }; |
535 | 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 | |||
536 | 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, | ||
537 | .ndo_start_xmit = lowpan_xmit, | 554 | .ndo_start_xmit = lowpan_xmit, |
538 | .ndo_set_mac_address = lowpan_set_address, | 555 | .ndo_set_mac_address = lowpan_set_address, |
539 | }; | 556 | }; |