diff options
author | Takashi Iwai <tiwai@suse.de> | 2013-05-29 12:52:16 +0200 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2013-05-29 12:52:16 +0200 |
commit | 8a90bb5116889e98008fbc8178fc2a77bb51df4a (patch) | |
tree | 210b6755c9ae2d0d66a79f8696469ab50b7621ad /drivers/net/wireless/b43/dma.c | |
parent | d47333ddb234dbc661ab2a4fe019758bd33ba33b (diff) | |
parent | 1ab9ecc24819a8cf8ee982aaf6fb83298f094b0d (diff) | |
download | op-kernel-dev-8a90bb5116889e98008fbc8178fc2a77bb51df4a.zip op-kernel-dev-8a90bb5116889e98008fbc8178fc2a77bb51df4a.tar.gz |
Merge tag 'asoc-v3.10-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus
ASoC: Updates for v3.10
A series of driver specific updates, none particularly critical, plus
one fix to the compressed API code to handle capture streams properly
which is very safe for mainline as there's no current users.
Diffstat (limited to 'drivers/net/wireless/b43/dma.c')
-rw-r--r-- | drivers/net/wireless/b43/dma.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/drivers/net/wireless/b43/dma.c b/drivers/net/wireless/b43/dma.c index 523355b..f7c70b3 100644 --- a/drivers/net/wireless/b43/dma.c +++ b/drivers/net/wireless/b43/dma.c @@ -1728,6 +1728,25 @@ drop_recycle_buffer: sync_descbuffer_for_device(ring, dmaaddr, ring->rx_buffersize); } +void b43_dma_handle_rx_overflow(struct b43_dmaring *ring) +{ + int current_slot, previous_slot; + + B43_WARN_ON(ring->tx); + + /* Device has filled all buffers, drop all packets and let TCP + * decrease speed. + * Decrement RX index by one will let the device to see all slots + * as free again + */ + /* + *TODO: How to increase rx_drop in mac80211? + */ + current_slot = ring->ops->get_current_rxslot(ring); + previous_slot = prev_slot(ring, current_slot); + ring->ops->set_current_rxslot(ring, previous_slot); +} + void b43_dma_rx(struct b43_dmaring *ring) { const struct b43_dma_ops *ops = ring->ops; |