aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPhoebe Buckheister <phoebe.buckheister@itwm.fraunhofer.de>2014-03-14 16:23:57 -0400
committerDavid S. Miller <davem@davemloft.net>2014-03-14 22:15:25 -0400
commit376b7bd3558eaf12d3e5c24aa71d0c162d2701fd (patch)
tree6d73521c4d4eb2d0a41cd848eb311670c7722e14
parent177943260a6088bec51fc6c04643d84e43bef423 (diff)
ieee802154: rename struct ieee802154_addr to *_sa
The struct as currently defined uses host byte order for some fields, and most big endian/EUI display byte order for other fields. Inside the stack, endianness should ideally match network byte order where possible to minimize the number of byteswaps done in critical paths, but this patch does not address this; it is only preparatory. Signed-off-by: Phoebe Buckheister <phoebe.buckheister@itwm.fraunhofer.de> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--drivers/net/ieee802154/fakehard.c14
-rw-r--r--include/net/af_ieee802154.h4
-rw-r--r--include/net/ieee802154_netdev.h12
-rw-r--r--include/net/nl802154.h6
-rw-r--r--net/ieee802154/6lowpan_rtnl.c4
-rw-r--r--net/ieee802154/af802154.h2
-rw-r--r--net/ieee802154/af_ieee802154.c2
-rw-r--r--net/ieee802154/dgram.c8
-rw-r--r--net/ieee802154/nl-mac.c12
-rw-r--r--net/ieee802154/reassembly.c6
-rw-r--r--net/ieee802154/reassembly.h15
-rw-r--r--net/mac802154/mac_cmd.c2
-rw-r--r--net/mac802154/wpan.c10
13 files changed, 49 insertions, 48 deletions
diff --git a/drivers/net/ieee802154/fakehard.c b/drivers/net/ieee802154/fakehard.c
index bf0d55e2dd63..06a400f10565 100644
--- a/drivers/net/ieee802154/fakehard.c
+++ b/drivers/net/ieee802154/fakehard.c
@@ -119,7 +119,7 @@ static u8 fake_get_dsn(const struct net_device *dev)
119 * 802.15.4-2006 document. 119 * 802.15.4-2006 document.
120 */ 120 */
121static int fake_assoc_req(struct net_device *dev, 121static int fake_assoc_req(struct net_device *dev,
122 struct ieee802154_addr *addr, u8 channel, u8 page, u8 cap) 122 struct ieee802154_addr_sa *addr, u8 channel, u8 page, u8 cap)
123{ 123{
124 struct wpan_phy *phy = fake_to_phy(dev); 124 struct wpan_phy *phy = fake_to_phy(dev);
125 125
@@ -149,7 +149,7 @@ static int fake_assoc_req(struct net_device *dev,
149 * 802.15.4-2006 document. 149 * 802.15.4-2006 document.
150 */ 150 */
151static int fake_assoc_resp(struct net_device *dev, 151static int fake_assoc_resp(struct net_device *dev,
152 struct ieee802154_addr *addr, u16 short_addr, u8 status) 152 struct ieee802154_addr_sa *addr, u16 short_addr, u8 status)
153{ 153{
154 return 0; 154 return 0;
155} 155}
@@ -167,7 +167,7 @@ static int fake_assoc_resp(struct net_device *dev,
167 * document, with the reason described in 7.3.3.2. 167 * document, with the reason described in 7.3.3.2.
168 */ 168 */
169static int fake_disassoc_req(struct net_device *dev, 169static int fake_disassoc_req(struct net_device *dev,
170 struct ieee802154_addr *addr, u8 reason) 170 struct ieee802154_addr_sa *addr, u8 reason)
171{ 171{
172 return ieee802154_nl_disassoc_confirm(dev, IEEE802154_SUCCESS); 172 return ieee802154_nl_disassoc_confirm(dev, IEEE802154_SUCCESS);
173} 173}
@@ -191,10 +191,10 @@ static int fake_disassoc_req(struct net_device *dev,
191 * Note: This is in section 7.5.2.3 of the IEEE 802.15.4-2006 191 * Note: This is in section 7.5.2.3 of the IEEE 802.15.4-2006
192 * document, with 7.3.8 describing coordinator realignment. 192 * document, with 7.3.8 describing coordinator realignment.
193 */ 193 */
194static int fake_start_req(struct net_device *dev, struct ieee802154_addr *addr, 194static int fake_start_req(struct net_device *dev,
195 u8 channel, u8 page, 195 struct ieee802154_addr_sa *addr, u8 channel, u8 page,
196 u8 bcn_ord, u8 sf_ord, u8 pan_coord, u8 blx, 196 u8 bcn_ord, u8 sf_ord, u8 pan_coord, u8 blx,
197 u8 coord_realign) 197 u8 coord_realign)
198{ 198{
199 struct wpan_phy *phy = fake_to_phy(dev); 199 struct wpan_phy *phy = fake_to_phy(dev);
200 200
diff --git a/include/net/af_ieee802154.h b/include/net/af_ieee802154.h
index 75e64c7a2960..f79ae2aa76d6 100644
--- a/include/net/af_ieee802154.h
+++ b/include/net/af_ieee802154.h
@@ -36,7 +36,7 @@ enum {
36/* address length, octets */ 36/* address length, octets */
37#define IEEE802154_ADDR_LEN 8 37#define IEEE802154_ADDR_LEN 8
38 38
39struct ieee802154_addr { 39struct ieee802154_addr_sa {
40 int addr_type; 40 int addr_type;
41 u16 pan_id; 41 u16 pan_id;
42 union { 42 union {
@@ -51,7 +51,7 @@ struct ieee802154_addr {
51 51
52struct sockaddr_ieee802154 { 52struct sockaddr_ieee802154 {
53 sa_family_t family; /* AF_IEEE802154 */ 53 sa_family_t family; /* AF_IEEE802154 */
54 struct ieee802154_addr addr; 54 struct ieee802154_addr_sa addr;
55}; 55};
56 56
57/* get/setsockopt */ 57/* get/setsockopt */
diff --git a/include/net/ieee802154_netdev.h b/include/net/ieee802154_netdev.h
index 97b2e34d87f7..53937cdbcd82 100644
--- a/include/net/ieee802154_netdev.h
+++ b/include/net/ieee802154_netdev.h
@@ -41,8 +41,8 @@ struct ieee802154_frag_info {
41 */ 41 */
42struct ieee802154_mac_cb { 42struct ieee802154_mac_cb {
43 u8 lqi; 43 u8 lqi;
44 struct ieee802154_addr sa; 44 struct ieee802154_addr_sa sa;
45 struct ieee802154_addr da; 45 struct ieee802154_addr_sa da;
46 u8 flags; 46 u8 flags;
47 u8 seq; 47 u8 seq;
48 struct ieee802154_frag_info frag_info; 48 struct ieee802154_frag_info frag_info;
@@ -95,16 +95,16 @@ struct ieee802154_mlme_ops {
95 /* The following fields are optional (can be NULL). */ 95 /* The following fields are optional (can be NULL). */
96 96
97 int (*assoc_req)(struct net_device *dev, 97 int (*assoc_req)(struct net_device *dev,
98 struct ieee802154_addr *addr, 98 struct ieee802154_addr_sa *addr,
99 u8 channel, u8 page, u8 cap); 99 u8 channel, u8 page, u8 cap);
100 int (*assoc_resp)(struct net_device *dev, 100 int (*assoc_resp)(struct net_device *dev,
101 struct ieee802154_addr *addr, 101 struct ieee802154_addr_sa *addr,
102 u16 short_addr, u8 status); 102 u16 short_addr, u8 status);
103 int (*disassoc_req)(struct net_device *dev, 103 int (*disassoc_req)(struct net_device *dev,
104 struct ieee802154_addr *addr, 104 struct ieee802154_addr_sa *addr,
105 u8 reason); 105 u8 reason);
106 int (*start_req)(struct net_device *dev, 106 int (*start_req)(struct net_device *dev,
107 struct ieee802154_addr *addr, 107 struct ieee802154_addr_sa *addr,
108 u8 channel, u8 page, u8 bcn_ord, u8 sf_ord, 108 u8 channel, u8 page, u8 bcn_ord, u8 sf_ord,
109 u8 pan_coord, u8 blx, u8 coord_realign); 109 u8 pan_coord, u8 blx, u8 coord_realign);
110 int (*scan_req)(struct net_device *dev, 110 int (*scan_req)(struct net_device *dev,
diff --git a/include/net/nl802154.h b/include/net/nl802154.h
index 99d2ba1c7e03..06ead976755a 100644
--- a/include/net/nl802154.h
+++ b/include/net/nl802154.h
@@ -22,7 +22,7 @@
22#define IEEE802154_NL_H 22#define IEEE802154_NL_H
23 23
24struct net_device; 24struct net_device;
25struct ieee802154_addr; 25struct ieee802154_addr_sa;
26 26
27/** 27/**
28 * ieee802154_nl_assoc_indic - Notify userland of an association request. 28 * ieee802154_nl_assoc_indic - Notify userland of an association request.
@@ -37,7 +37,7 @@ struct ieee802154_addr;
37 * Note: This is in section 7.3.1 of the IEEE 802.15.4-2006 document. 37 * Note: This is in section 7.3.1 of the IEEE 802.15.4-2006 document.
38 */ 38 */
39int ieee802154_nl_assoc_indic(struct net_device *dev, 39int ieee802154_nl_assoc_indic(struct net_device *dev,
40 struct ieee802154_addr *addr, u8 cap); 40 struct ieee802154_addr_sa *addr, u8 cap);
41 41
42/** 42/**
43 * ieee802154_nl_assoc_confirm - Notify userland of association. 43 * ieee802154_nl_assoc_confirm - Notify userland of association.
@@ -65,7 +65,7 @@ int ieee802154_nl_assoc_confirm(struct net_device *dev,
65 * Note: This is in section 7.3.3 of the IEEE 802.15.4 document. 65 * Note: This is in section 7.3.3 of the IEEE 802.15.4 document.
66 */ 66 */
67int ieee802154_nl_disassoc_indic(struct net_device *dev, 67int ieee802154_nl_disassoc_indic(struct net_device *dev,
68 struct ieee802154_addr *addr, u8 reason); 68 struct ieee802154_addr_sa *addr, u8 reason);
69 69
70/** 70/**
71 * ieee802154_nl_disassoc_confirm - Notify userland of disassociation 71 * ieee802154_nl_disassoc_confirm - Notify userland of disassociation
diff --git a/net/ieee802154/6lowpan_rtnl.c b/net/ieee802154/6lowpan_rtnl.c
index 48a8f52b5991..331180e617ca 100644
--- a/net/ieee802154/6lowpan_rtnl.c
+++ b/net/ieee802154/6lowpan_rtnl.c
@@ -91,7 +91,7 @@ static int lowpan_header_create(struct sk_buff *skb,
91{ 91{
92 const u8 *saddr = _saddr; 92 const u8 *saddr = _saddr;
93 const u8 *daddr = _daddr; 93 const u8 *daddr = _daddr;
94 struct ieee802154_addr sa, da; 94 struct ieee802154_addr_sa sa, da;
95 95
96 /* TODO: 96 /* TODO:
97 * if this package isn't ipv6 one, where should it be routed? 97 * if this package isn't ipv6 one, where should it be routed?
@@ -171,7 +171,7 @@ static int lowpan_give_skb_to_devices(struct sk_buff *skb,
171static int process_data(struct sk_buff *skb) 171static int process_data(struct sk_buff *skb)
172{ 172{
173 u8 iphc0, iphc1; 173 u8 iphc0, iphc1;
174 const struct ieee802154_addr *_saddr, *_daddr; 174 const struct ieee802154_addr_sa *_saddr, *_daddr;
175 175
176 raw_dump_table(__func__, "raw skb data dump", skb->data, skb->len); 176 raw_dump_table(__func__, "raw skb data dump", skb->data, skb->len);
177 /* at least two bytes will be used for the encoding */ 177 /* at least two bytes will be used for the encoding */
diff --git a/net/ieee802154/af802154.h b/net/ieee802154/af802154.h
index b1ec52537522..331d15cb93a7 100644
--- a/net/ieee802154/af802154.h
+++ b/net/ieee802154/af802154.h
@@ -31,6 +31,6 @@ extern struct proto ieee802154_dgram_prot;
31void ieee802154_raw_deliver(struct net_device *dev, struct sk_buff *skb); 31void ieee802154_raw_deliver(struct net_device *dev, struct sk_buff *skb);
32int ieee802154_dgram_deliver(struct net_device *dev, struct sk_buff *skb); 32int ieee802154_dgram_deliver(struct net_device *dev, struct sk_buff *skb);
33struct net_device *ieee802154_get_dev(struct net *net, 33struct net_device *ieee802154_get_dev(struct net *net,
34 struct ieee802154_addr *addr); 34 struct ieee802154_addr_sa *addr);
35 35
36#endif 36#endif
diff --git a/net/ieee802154/af_ieee802154.c b/net/ieee802154/af_ieee802154.c
index a56ab9c47278..a8db341581ac 100644
--- a/net/ieee802154/af_ieee802154.c
+++ b/net/ieee802154/af_ieee802154.c
@@ -44,7 +44,7 @@
44 * Utility function for families 44 * Utility function for families
45 */ 45 */
46struct net_device *ieee802154_get_dev(struct net *net, 46struct net_device *ieee802154_get_dev(struct net *net,
47 struct ieee802154_addr *addr) 47 struct ieee802154_addr_sa *addr)
48{ 48{
49 struct net_device *dev = NULL; 49 struct net_device *dev = NULL;
50 struct net_device *tmp; 50 struct net_device *tmp;
diff --git a/net/ieee802154/dgram.c b/net/ieee802154/dgram.c
index 1846c1fe0d06..405fdf9bf5e1 100644
--- a/net/ieee802154/dgram.c
+++ b/net/ieee802154/dgram.c
@@ -41,8 +41,8 @@ static DEFINE_RWLOCK(dgram_lock);
41struct dgram_sock { 41struct dgram_sock {
42 struct sock sk; 42 struct sock sk;
43 43
44 struct ieee802154_addr src_addr; 44 struct ieee802154_addr_sa src_addr;
45 struct ieee802154_addr dst_addr; 45 struct ieee802154_addr_sa dst_addr;
46 46
47 unsigned int bound:1; 47 unsigned int bound:1;
48 unsigned int want_ack:1; 48 unsigned int want_ack:1;
@@ -113,7 +113,7 @@ static int dgram_bind(struct sock *sk, struct sockaddr *uaddr, int len)
113 goto out_put; 113 goto out_put;
114 } 114 }
115 115
116 memcpy(&ro->src_addr, &addr->addr, sizeof(struct ieee802154_addr)); 116 memcpy(&ro->src_addr, &addr->addr, sizeof(struct ieee802154_addr_sa));
117 117
118 ro->bound = 1; 118 ro->bound = 1;
119 err = 0; 119 err = 0;
@@ -181,7 +181,7 @@ static int dgram_connect(struct sock *sk, struct sockaddr *uaddr,
181 goto out; 181 goto out;
182 } 182 }
183 183
184 memcpy(&ro->dst_addr, &addr->addr, sizeof(struct ieee802154_addr)); 184 memcpy(&ro->dst_addr, &addr->addr, sizeof(struct ieee802154_addr_sa));
185 185
186out: 186out:
187 release_sock(sk); 187 release_sock(sk);
diff --git a/net/ieee802154/nl-mac.c b/net/ieee802154/nl-mac.c
index ba5c1e002f37..7ae93e1f8aa0 100644
--- a/net/ieee802154/nl-mac.c
+++ b/net/ieee802154/nl-mac.c
@@ -40,7 +40,7 @@
40#include "ieee802154.h" 40#include "ieee802154.h"
41 41
42int ieee802154_nl_assoc_indic(struct net_device *dev, 42int ieee802154_nl_assoc_indic(struct net_device *dev,
43 struct ieee802154_addr *addr, u8 cap) 43 struct ieee802154_addr_sa *addr, u8 cap)
44{ 44{
45 struct sk_buff *msg; 45 struct sk_buff *msg;
46 46
@@ -99,7 +99,7 @@ nla_put_failure:
99EXPORT_SYMBOL(ieee802154_nl_assoc_confirm); 99EXPORT_SYMBOL(ieee802154_nl_assoc_confirm);
100 100
101int ieee802154_nl_disassoc_indic(struct net_device *dev, 101int ieee802154_nl_disassoc_indic(struct net_device *dev,
102 struct ieee802154_addr *addr, u8 reason) 102 struct ieee802154_addr_sa *addr, u8 reason)
103{ 103{
104 struct sk_buff *msg; 104 struct sk_buff *msg;
105 105
@@ -304,7 +304,7 @@ static struct net_device *ieee802154_nl_get_dev(struct genl_info *info)
304int ieee802154_associate_req(struct sk_buff *skb, struct genl_info *info) 304int ieee802154_associate_req(struct sk_buff *skb, struct genl_info *info)
305{ 305{
306 struct net_device *dev; 306 struct net_device *dev;
307 struct ieee802154_addr addr; 307 struct ieee802154_addr_sa addr;
308 u8 page; 308 u8 page;
309 int ret = -EOPNOTSUPP; 309 int ret = -EOPNOTSUPP;
310 310
@@ -351,7 +351,7 @@ out:
351int ieee802154_associate_resp(struct sk_buff *skb, struct genl_info *info) 351int ieee802154_associate_resp(struct sk_buff *skb, struct genl_info *info)
352{ 352{
353 struct net_device *dev; 353 struct net_device *dev;
354 struct ieee802154_addr addr; 354 struct ieee802154_addr_sa addr;
355 int ret = -EOPNOTSUPP; 355 int ret = -EOPNOTSUPP;
356 356
357 if (!info->attrs[IEEE802154_ATTR_STATUS] || 357 if (!info->attrs[IEEE802154_ATTR_STATUS] ||
@@ -383,7 +383,7 @@ out:
383int ieee802154_disassociate_req(struct sk_buff *skb, struct genl_info *info) 383int ieee802154_disassociate_req(struct sk_buff *skb, struct genl_info *info)
384{ 384{
385 struct net_device *dev; 385 struct net_device *dev;
386 struct ieee802154_addr addr; 386 struct ieee802154_addr_sa addr;
387 int ret = -EOPNOTSUPP; 387 int ret = -EOPNOTSUPP;
388 388
389 if ((!info->attrs[IEEE802154_ATTR_DEST_HW_ADDR] && 389 if ((!info->attrs[IEEE802154_ATTR_DEST_HW_ADDR] &&
@@ -425,7 +425,7 @@ out:
425int ieee802154_start_req(struct sk_buff *skb, struct genl_info *info) 425int ieee802154_start_req(struct sk_buff *skb, struct genl_info *info)
426{ 426{
427 struct net_device *dev; 427 struct net_device *dev;
428 struct ieee802154_addr addr; 428 struct ieee802154_addr_sa addr;
429 429
430 u8 channel, bcn_ord, sf_ord; 430 u8 channel, bcn_ord, sf_ord;
431 u8 page; 431 u8 page;
diff --git a/net/ieee802154/reassembly.c b/net/ieee802154/reassembly.c
index 1dae1991883d..f08b37a24b1d 100644
--- a/net/ieee802154/reassembly.c
+++ b/net/ieee802154/reassembly.c
@@ -36,8 +36,8 @@ static int lowpan_frag_reasm(struct lowpan_frag_queue *fq,
36 struct sk_buff *prev, struct net_device *dev); 36 struct sk_buff *prev, struct net_device *dev);
37 37
38static unsigned int lowpan_hash_frag(__be16 tag, u16 d_size, 38static unsigned int lowpan_hash_frag(__be16 tag, u16 d_size,
39 const struct ieee802154_addr *saddr, 39 const struct ieee802154_addr_sa *saddr,
40 const struct ieee802154_addr *daddr) 40 const struct ieee802154_addr_sa *daddr)
41{ 41{
42 u32 c; 42 u32 c;
43 43
@@ -103,7 +103,7 @@ out:
103 103
104static inline struct lowpan_frag_queue * 104static inline struct lowpan_frag_queue *
105fq_find(struct net *net, const struct ieee802154_frag_info *frag_info, 105fq_find(struct net *net, const struct ieee802154_frag_info *frag_info,
106 const struct ieee802154_addr *src, const struct ieee802154_addr *dst) 106 const struct ieee802154_addr_sa *src, const struct ieee802154_addr_sa *dst)
107{ 107{
108 struct inet_frag_queue *q; 108 struct inet_frag_queue *q;
109 struct lowpan_create_arg arg; 109 struct lowpan_create_arg arg;
diff --git a/net/ieee802154/reassembly.h b/net/ieee802154/reassembly.h
index 055518b9da2d..895721ae71e1 100644
--- a/net/ieee802154/reassembly.h
+++ b/net/ieee802154/reassembly.h
@@ -6,8 +6,8 @@
6struct lowpan_create_arg { 6struct lowpan_create_arg {
7 __be16 tag; 7 __be16 tag;
8 u16 d_size; 8 u16 d_size;
9 const struct ieee802154_addr *src; 9 const struct ieee802154_addr_sa *src;
10 const struct ieee802154_addr *dst; 10 const struct ieee802154_addr_sa *dst;
11}; 11};
12 12
13/* Equivalent of ipv4 struct ip 13/* Equivalent of ipv4 struct ip
@@ -17,11 +17,11 @@ struct lowpan_frag_queue {
17 17
18 __be16 tag; 18 __be16 tag;
19 u16 d_size; 19 u16 d_size;
20 struct ieee802154_addr saddr; 20 struct ieee802154_addr_sa saddr;
21 struct ieee802154_addr daddr; 21 struct ieee802154_addr_sa daddr;
22}; 22};
23 23
24static inline u32 ieee802154_addr_hash(const struct ieee802154_addr *a) 24static inline u32 ieee802154_addr_hash(const struct ieee802154_addr_sa *a)
25{ 25{
26 switch (a->addr_type) { 26 switch (a->addr_type) {
27 case IEEE802154_ADDR_LONG: 27 case IEEE802154_ADDR_LONG:
@@ -34,8 +34,9 @@ static inline u32 ieee802154_addr_hash(const struct ieee802154_addr *a)
34 } 34 }
35} 35}
36 36
37static inline bool ieee802154_addr_addr_equal(const struct ieee802154_addr *a1, 37static inline bool
38 const struct ieee802154_addr *a2) 38ieee802154_addr_addr_equal(const struct ieee802154_addr_sa *a1,
39 const struct ieee802154_addr_sa *a2)
39{ 40{
40 if (a1->pan_id != a2->pan_id) 41 if (a1->pan_id != a2->pan_id)
41 return false; 42 return false;
diff --git a/net/mac802154/mac_cmd.c b/net/mac802154/mac_cmd.c
index a99910d4d52f..e079c57c48ca 100644
--- a/net/mac802154/mac_cmd.c
+++ b/net/mac802154/mac_cmd.c
@@ -34,7 +34,7 @@
34#include "mac802154.h" 34#include "mac802154.h"
35 35
36static int mac802154_mlme_start_req(struct net_device *dev, 36static int mac802154_mlme_start_req(struct net_device *dev,
37 struct ieee802154_addr *addr, 37 struct ieee802154_addr_sa *addr,
38 u8 channel, u8 page, 38 u8 channel, u8 page,
39 u8 bcn_ord, u8 sf_ord, 39 u8 bcn_ord, u8 sf_ord,
40 u8 pan_coord, u8 blx, 40 u8 pan_coord, u8 blx,
diff --git a/net/mac802154/wpan.c b/net/mac802154/wpan.c
index 372d8a222b91..b2bc3f030190 100644
--- a/net/mac802154/wpan.c
+++ b/net/mac802154/wpan.c
@@ -132,9 +132,9 @@ static int mac802154_header_create(struct sk_buff *skb,
132 const void *_saddr, 132 const void *_saddr,
133 unsigned len) 133 unsigned len)
134{ 134{
135 const struct ieee802154_addr *saddr = _saddr; 135 const struct ieee802154_addr_sa *saddr = _saddr;
136 const struct ieee802154_addr *daddr = _daddr; 136 const struct ieee802154_addr_sa *daddr = _daddr;
137 struct ieee802154_addr dev_addr; 137 struct ieee802154_addr_sa dev_addr;
138 struct mac802154_sub_if_data *priv = netdev_priv(dev); 138 struct mac802154_sub_if_data *priv = netdev_priv(dev);
139 int pos = 2; 139 int pos = 2;
140 u8 head[MAC802154_FRAME_HARD_HEADER_LEN]; 140 u8 head[MAC802154_FRAME_HARD_HEADER_LEN];
@@ -219,7 +219,7 @@ mac802154_header_parse(const struct sk_buff *skb, unsigned char *haddr)
219{ 219{
220 const u8 *hdr = skb_mac_header(skb); 220 const u8 *hdr = skb_mac_header(skb);
221 const u8 *tail = skb_tail_pointer(skb); 221 const u8 *tail = skb_tail_pointer(skb);
222 struct ieee802154_addr *addr = (struct ieee802154_addr *)haddr; 222 struct ieee802154_addr_sa *addr = (struct ieee802154_addr_sa *)haddr;
223 u16 fc; 223 u16 fc;
224 int da_type; 224 int da_type;
225 225
@@ -304,7 +304,7 @@ mac802154_header_parse(const struct sk_buff *skb, unsigned char *haddr)
304 goto malformed; 304 goto malformed;
305 } 305 }
306 306
307 return sizeof(struct ieee802154_addr); 307 return sizeof(struct ieee802154_addr_sa);
308 308
309malformed: 309malformed:
310 pr_debug("malformed packet\n"); 310 pr_debug("malformed packet\n");