diff options
author | Anton Vorontsov <avorontsov@ru.mvista.com> | 2009-11-10 09:11:10 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-11-11 22:03:36 -0500 |
commit | a3bc1f11e9b867a4f49505ecac486a33af248b2e (patch) | |
tree | 026512ce0362e0f13f0c35d2fc6bc01d2498a2ed /drivers/char/scc.h | |
parent | 836cf7faf8c75743477ed6ed341cce491f3183fb (diff) |
gianfar: Revive SKB recycling
Before calling gfar_clean_tx_ring() the driver grabs an irqsave
spinlock, and then tries to recycle skbs. But since
skb_recycle_check() returns 0 with IRQs disabled, we'll never
recycle any skbs.
It appears that gfar_clean_tx_ring() and gfar_start_xmit() are
mostly idependent and can work in parallel, except when they
modify num_txbdfree.
So we can drop the lock from most sections and thus fix the skb
recycling.
Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
Acked-by: Kumar Gala <galak@kernel.crashing.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/char/scc.h')
0 files changed, 0 insertions, 0 deletions