aboutsummaryrefslogtreecommitdiffstats
path: root/net/ieee802154/af_ieee802154.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/ieee802154/af_ieee802154.c')
-rw-r--r--net/ieee802154/af_ieee802154.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/net/ieee802154/af_ieee802154.c b/net/ieee802154/af_ieee802154.c
index a8db341581ac..973cb11da42b 100644
--- a/net/ieee802154/af_ieee802154.c
+++ b/net/ieee802154/af_ieee802154.c
@@ -48,7 +48,7 @@ struct net_device *ieee802154_get_dev(struct net *net,
48{ 48{
49 struct net_device *dev = NULL; 49 struct net_device *dev = NULL;
50 struct net_device *tmp; 50 struct net_device *tmp;
51 u16 pan_id, short_addr; 51 __le16 pan_id, short_addr;
52 52
53 switch (addr->addr_type) { 53 switch (addr->addr_type) {
54 case IEEE802154_ADDR_LONG: 54 case IEEE802154_ADDR_LONG:
@@ -59,9 +59,9 @@ struct net_device *ieee802154_get_dev(struct net *net,
59 rcu_read_unlock(); 59 rcu_read_unlock();
60 break; 60 break;
61 case IEEE802154_ADDR_SHORT: 61 case IEEE802154_ADDR_SHORT:
62 if (addr->pan_id == 0xffff || 62 if (addr->pan_id == IEEE802154_PANID_BROADCAST ||
63 addr->short_addr == IEEE802154_ADDR_UNDEF || 63 addr->short_addr == IEEE802154_ADDR_UNDEF ||
64 addr->short_addr == 0xffff) 64 addr->short_addr == IEEE802154_ADDR_UNDEF)
65 break; 65 break;
66 66
67 rtnl_lock(); 67 rtnl_lock();
@@ -74,8 +74,8 @@ struct net_device *ieee802154_get_dev(struct net *net,
74 short_addr = 74 short_addr =
75 ieee802154_mlme_ops(tmp)->get_short_addr(tmp); 75 ieee802154_mlme_ops(tmp)->get_short_addr(tmp);
76 76
77 if (pan_id == addr->pan_id && 77 if (le16_to_cpu(pan_id) == addr->pan_id &&
78 short_addr == addr->short_addr) { 78 le16_to_cpu(short_addr) == addr->short_addr) {
79 dev = tmp; 79 dev = tmp;
80 dev_hold(dev); 80 dev_hold(dev);
81 break; 81 break;