]> git.baikalelectronics.ru Git - kernel.git/commit
b43: avoid packet losses in the dma worker code.
authorfrancesco.gringoli@ing.unibs.it <francesco.gringoli@ing.unibs.it>
Fri, 16 Dec 2011 17:34:56 +0000 (18:34 +0100)
committerJohn W. Linville <linville@tuxdriver.com>
Mon, 19 Dec 2011 19:40:22 +0000 (14:40 -0500)
commit897710a635113467c7548d3213c80b61c2f61920
tree35c1429e8216cc5ae4ef2f505a838d523045037f
parent7015539fb6dc9c0013f31bb55d01899426744478
b43: avoid packet losses in the dma worker code.

Following Rafal request, we verified that on "modern" CPUs using one
or more workers is equivalent. Here is patch V3 that addresses the
packet loss bug in the dma engine using only one worker.

-------

This patch addresses a bug in the dma worker code that keeps draining
packets even when the hardware queues are full. In such cases packets
can not be passed down to the device and are erroneusly dropped by the
code.

This problem was already discussed here

http://www.mail-archive.com/b43-dev@lists.infradead.org/msg01413.html

and acknowledged by Michael.

Number of hardware queues is now defined in b43.h (B43_QOS_QUEUE_NUM).

Acknowledgements to Riccardo Paolillo <riccardo.paolillo@gmail.com> and
Michele Orru <michele.orru@hotmail.it>

Signed-off-by: Francesco Gringoli <francesco.gringoli@ing.unibs.it>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/b43/b43.h
drivers/net/wireless/b43/dma.c
drivers/net/wireless/b43/main.c