af_ieee802154: fix check on broadcast address
authorAlexander Aring <alex.aring@gmail.com>
Thu, 20 Mar 2014 13:57:02 +0000 (14:57 +0100)
committerDavid S. Miller <davem@davemloft.net>
Thu, 20 Mar 2014 21:19:45 +0000 (17:19 -0400)
This patch fixes an issue which was introduced by commit
b70ab2e87f17176d18f67ef331064441a032b5f3 ("ieee802154: enforce
consistent endianness in the 802.15.4 stack").

The correct behaviour should be a check on the broadcast address field
which is 0xffff.

Signed-off-by: Alexander Aring <alex.aring@gmail.com>
Reported-by: Jan Luebbe <jlu@pengutronix.de>
Cc: Phoebe Buckheister <phoebe.buckheister@itwm.fraunhofer.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ieee802154/af_ieee802154.c

index be44a86751aa7c74d5251d443267098646acfe46..351d9a94ec2faa429612d6b7da26b09b63e49a25 100644 (file)
@@ -63,7 +63,7 @@ ieee802154_get_dev(struct net *net, const struct ieee802154_addr *addr)
        case IEEE802154_ADDR_SHORT:
                if (addr->pan_id == cpu_to_le16(IEEE802154_PANID_BROADCAST) ||
                    addr->short_addr == cpu_to_le16(IEEE802154_ADDR_UNDEF) ||
-                   addr->short_addr == cpu_to_le16(IEEE802154_ADDR_UNDEF))
+                   addr->short_addr == cpu_to_le16(IEEE802154_ADDR_BROADCAST))
                        break;
 
                rtnl_lock();