mac802154: tx: fix error handling while xmit

In case of an error we should call kfree_skb instead of consume_skb which
is called by ieee802154_xmit_complete function.

Signed-off-by: Alexander Aring <alex.aring@gmail.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
This commit is contained in:
Alexander Aring 2014-10-26 09:37:07 +01:00 committed by Marcel Holtmann
parent 18d60a0d49
commit cdb66beaa0

View file

@ -51,11 +51,15 @@ static void mac802154_xmit_worker(struct work_struct *work)
int res;
res = local->ops->xmit(&local->hw, skb);
if (res)
if (res) {
pr_debug("transmission failed\n");
/* Restart the netif queue on each sub_if_data object. */
ieee802154_xmit_complete(&local->hw, skb);
/* Restart the netif queue on each sub_if_data object. */
ieee802154_wake_queue(&local->hw);
kfree_skb(skb);
} else {
/* Restart the netif queue on each sub_if_data object. */
ieee802154_xmit_complete(&local->hw, skb);
}
}
static netdev_tx_t