diff options
author | Alan Ott <alan@signal11.us> | 2013-04-05 13:03:10 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2013-04-08 12:09:18 -0400 |
commit | 9f7f78b479ae06279a85451d456040bbe4eae013 (patch) | |
tree | c0e7c127eceffbcab6640a41766b6817157798ef /net/mac802154/tx.c | |
parent | cbde8123f6c18f34781de3a5095fb58e951326f4 (diff) | |
download | linux-9f7f78b479ae06279a85451d456040bbe4eae013.tar.gz linux-9f7f78b479ae06279a85451d456040bbe4eae013.tar.bz2 linux-9f7f78b479ae06279a85451d456040bbe4eae013.zip |
mac802154: Keep track of the channel when changed
Two sections checked whether the current channel != the new channel
without ever setting the current channel variables.
1. net/mac802154/tx.c: Prevent set_channel() from getting called every
time a packet is sent.
2. net/mac802154/mib.c: Lock (pib_lock) accesses to current_channel and
current_page and make sure they are updated when the channel has been
changed.
Signed-off-by: Alan Ott <alan@signal11.us>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/mac802154/tx.c')
-rw-r--r-- | net/mac802154/tx.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/net/mac802154/tx.c b/net/mac802154/tx.c index 3fd3e07ec599..6d1647399d4f 100644 --- a/net/mac802154/tx.c +++ b/net/mac802154/tx.c @@ -58,6 +58,9 @@ static void mac802154_xmit_worker(struct work_struct *work) pr_debug("set_channel failed\n"); goto out; } + + xw->priv->phy->current_channel = xw->chan; + xw->priv->phy->current_page = xw->page; } res = xw->priv->ops->xmit(&xw->priv->hw, xw->skb); |