]> 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)
commitbc4aa400de6b8dba6ed9667a4b45dda368c3a08e
tree35c1429e8216cc5ae4ef2f505a838d523045037f
parente5cc081b8f779ffee2355238c9b9718357127395
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