[PATCH 0/6] 802.15.4 and 6LoWPAN Buffering Fixes

From: Alan Ott
Date: Tue Apr 02 2013 - 14:51:20 EST


These patches fix an issue in the 802.15.4 code where the output buffer
(which prior to this patchset is just a workqueue) can grow to an arbitrary
size. This is basically fixed as follows:

1. Use netif_stop_queue() and netif_wake_queue() to stop and start the
transmit queue, preventing packets from piling up without bound on the
mac802154 workqueue.

2. Increase the default tx_buffer_len for mac802154 (wpan) devices from 10
to 300, enabling Qdisc to work properly on the transmit queue.

Additionally the following related issues are fixed:

1. Handle dev_queue_xmit() return values properly in the 6LoWPAN code (and
return the proper errors to the higher layers). This will cause the higher
layers to retry later if the mac802154 queue is full.

2. Fix the retry of transmit failures in mac802154.

Alan Ott (6):
mac802154: Immediately retry sending failed packets
mac802154: Move xmit_attemps to stack
mac802154: Use netif flow control
mac802154: Increase tx_buffer_len
6lowpan: handle dev_queue_xmit error code properly
6lowpan: return the dev_queue_xmit() return value from lowpan_xmit()

net/ieee802154/6lowpan.c | 4 ++--
net/mac802154/tx.c | 34 ++++++++++++++++++++++++----------
net/mac802154/wpan.c | 2 +-
3 files changed, 27 insertions(+), 13 deletions(-)

--
1.7.11.2

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/