Skip to content

Commit

Permalink
mac802154: tx: use queue helpers in xmit worker
Browse files Browse the repository at this point in the history
This patch uses the queue utility helpers inside the xmit worker of
mac802154 subsystem.

Signed-off-by: Alexander Aring <alex.aring@gmail.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
  • Loading branch information
Alexander Aring authored and Marcel Holtmann committed Oct 26, 2014
1 parent c208510 commit 18d60a0
Showing 1 changed file with 2 additions and 12 deletions.
14 changes: 2 additions & 12 deletions net/mac802154/tx.c
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,6 @@ static void mac802154_xmit_worker(struct work_struct *work)
{
struct wpan_xmit_cb *cb = container_of(work, struct wpan_xmit_cb, work);
struct ieee802154_local *local = cb->local;
struct ieee802154_sub_if_data *sdata;
struct sk_buff *skb = cb->skb;
int res;

Expand All @@ -56,18 +55,12 @@ static void mac802154_xmit_worker(struct work_struct *work)
pr_debug("transmission failed\n");

/* Restart the netif queue on each sub_if_data object. */
rcu_read_lock();
list_for_each_entry_rcu(sdata, &local->interfaces, list)
netif_wake_queue(sdata->dev);
rcu_read_unlock();

dev_kfree_skb(skb);
ieee802154_xmit_complete(&local->hw, skb);
}

static netdev_tx_t
mac802154_tx(struct ieee802154_local *local, struct sk_buff *skb)
{
struct ieee802154_sub_if_data *sdata;
struct wpan_xmit_cb *cb = wpan_xmit_cb(skb);

mac802154_monitors_rx(local, skb);
Expand All @@ -84,10 +77,7 @@ mac802154_tx(struct ieee802154_local *local, struct sk_buff *skb)
goto err_tx;

/* Stop the netif queue on each sub_if_data object. */
rcu_read_lock();
list_for_each_entry_rcu(sdata, &local->interfaces, list)
netif_stop_queue(sdata->dev);
rcu_read_unlock();
ieee802154_stop_queue(&local->hw);

INIT_WORK(&cb->work, mac802154_xmit_worker);
cb->skb = skb;
Expand Down

0 comments on commit 18d60a0

Please sign in to comment.