Skip to content
Snippets Groups Projects
Unverified Commit 38e5bd62 authored by Koen Zandberg's avatar Koen Zandberg
Browse files

mrf24j40: Don't propagate address to 802154 layer

parent e6ace9c0
No related branches found
No related tags found
No related merge requests found
......@@ -131,14 +131,12 @@ void mrf24j40_set_addr_short(mrf24j40_t *dev, uint16_t addr)
#ifdef MODULE_SIXLOWPAN
/* https://tools.ietf.org/html/rfc4944#section-12 requires the first bit to
* 0 for unicast addresses */
dev->netdev.short_addr[0] &= 0x7F;
addr &= 0xFF7F;
#endif
dev->netdev.short_addr[0] = (uint8_t)(addr);
dev->netdev.short_addr[1] = (uint8_t)(addr >> 8);
mrf24j40_reg_write_short(dev, MRF24J40_REG_SADRL,
dev->netdev.short_addr[1]);
(uint8_t)(addr >> 8));
mrf24j40_reg_write_short(dev, MRF24J40_REG_SADRH,
dev->netdev.short_addr[0]);
(uint8_t)addr);
}
uint64_t mrf24j40_get_addr_long(mrf24j40_t *dev)
......@@ -156,7 +154,6 @@ uint64_t mrf24j40_get_addr_long(mrf24j40_t *dev)
void mrf24j40_set_addr_long(mrf24j40_t *dev, uint64_t addr)
{
for (int i = 0; i < 8; i++) {
dev->netdev.long_addr[i] = (uint8_t)(addr >> (i * 8));
mrf24j40_reg_write_short(dev, (MRF24J40_REG_EADR0 + i),
(addr >> ((7 - i) * 8)));
}
......
......@@ -371,7 +371,7 @@ static int _set(netdev_t *netdev, netopt_t opt, const void *val, size_t len)
}
else {
mrf24j40_set_addr_short(dev, *((const uint16_t *)val));
/* don't set res to set netdev_ieee802154_t::short_addr */
res = sizeof(uint16_t);
}
break;
......@@ -381,7 +381,7 @@ static int _set(netdev_t *netdev, netopt_t opt, const void *val, size_t len)
}
else {
mrf24j40_set_addr_long(dev, *((const uint64_t *)val));
/* don't set res to set netdev_ieee802154_t::long_addr */
res = sizeof(uint64_t);
}
break;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment