diff options
author | Alexander Aring <alex.aring@gmail.com> | 2014-10-27 17:13:30 +0100 |
---|---|---|
committer | Marcel Holtmann <marcel@holtmann.org> | 2014-10-27 18:07:40 +0100 |
commit | c5c47e67bcd24638a059b1b5e9ec18c95f8634ca (patch) | |
tree | c57352e1df69afab550d8df129a0bee16b3455a7 /include/net/mac802154.h | |
parent | ieee802154: drivers: use dev_alloc_skb (diff) | |
download | linux-c5c47e67bcd24638a059b1b5e9ec18c95f8634ca.tar.xz 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.h | 1 |
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); |