summaryrefslogtreecommitdiffstats
path: root/net/mac802154/mib.c
diff options
context:
space:
mode:
authorTony Cheneau <tony.cheneau@amnesiak.org>2013-03-25 18:59:29 +0100
committerDavid S. Miller <davem@davemloft.net>2013-03-26 17:37:58 +0100
commit0483546a3de329cad7705d42962edb09a28794c6 (patch)
treecbf7d3689d783348ffeccf037cf6ef54794ef2d5 /net/mac802154/mib.c
parent6lowpan: store fragment tag values per device instead of net stack wide (diff)
downloadlinux-0483546a3de329cad7705d42962edb09a28794c6.tar.xz
linux-0483546a3de329cad7705d42962edb09a28794c6.zip
mac802154: add mac802154_dev_get_dsn()
Bring-over mac802154_dev_get_dsn() function that was present in the Linux ZigBee kernel. This function is called by the 6LoWPAN code in order to properly set the DSN (Data Sequence Number) value in the IEEE 802.15.4 frame. Signed-off-by: Tony Cheneau <tony.cheneau@amnesiak.org> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/mac802154/mib.c')
-rw-r--r--net/mac802154/mib.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/net/mac802154/mib.c b/net/mac802154/mib.c
index f47781ab0ccc..f03e55f2ebf0 100644
--- a/net/mac802154/mib.c
+++ b/net/mac802154/mib.c
@@ -159,6 +159,15 @@ void mac802154_dev_set_pan_id(struct net_device *dev, u16 val)
}
}
+u8 mac802154_dev_get_dsn(const struct net_device *dev)
+{
+ struct mac802154_sub_if_data *priv = netdev_priv(dev);
+
+ BUG_ON(dev->type != ARPHRD_IEEE802154);
+
+ return priv->dsn++;
+}
+
static void phy_chan_notify(struct work_struct *work)
{
struct phy_chan_notify_work *nw = container_of(work,