summaryrefslogtreecommitdiffstats
path: root/include/net/mac802154.h
diff options
context:
space:
mode:
authorAlexander Aring <alex.aring@gmail.com>2014-10-27 17:13:30 +0100
committerMarcel Holtmann <marcel@holtmann.org>2014-10-27 18:07:40 +0100
commitc5c47e67bcd24638a059b1b5e9ec18c95f8634ca (patch)
treec57352e1df69afab550d8df129a0bee16b3455a7 /include/net/mac802154.h
parent61a2281458956db519f2c24fa40bf277adea2a67 (diff)
downloadlinux-c5c47e67bcd24638a059b1b5e9ec18c95f8634ca.tar.gz
linux-c5c47e67bcd24638a059b1b5e9ec18c95f8634ca.tar.bz2
linux-c5c47e67bcd24638a059b1b5e9ec18c95f8634ca.zip
mac802154: rx: use tasklet instead workqueue
Tasklets have much less overhead than workqueues. This patch also removes the heap allocation for the worker on receiving path. Like mac80211 we should prefer use a tasklet here instead a workqueue to getting fast out of interrupt context when ieee802154_rx_irqsafe is called by driver. Like wireless inside the tasklet context we should call netif_receive_skb instead netif_rx_ni anymore. Signed-off-by: Alexander Aring <alex.aring@gmail.com> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Diffstat (limited to 'include/net/mac802154.h')
-rw-r--r--include/net/mac802154.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/net/mac802154.h b/include/net/mac802154.h
index 942dd53d4658..4c4642ef244f 100644
--- a/include/net/mac802154.h
+++ b/include/net/mac802154.h
@@ -202,6 +202,7 @@ void ieee802154_free_hw(struct ieee802154_hw *hw);
int ieee802154_register_hw(struct ieee802154_hw *hw);
void ieee802154_unregister_hw(struct ieee802154_hw *hw);
+void ieee802154_rx(struct ieee802154_hw *hw, struct sk_buff *skb);
void ieee802154_rx_irqsafe(struct ieee802154_hw *hw, struct sk_buff *skb,
u8 lqi);