p54: call p54_wake_free_queues on every p54_free_skb and p54_rx_frame_sent
authorMax Filippov <jcmvbkbc@gmail.com>
Tue, 5 May 2009 21:47:02 +0000 (01:47 +0400)
committerJohn W. Linville <linville@tuxdriver.com>
Wed, 6 May 2009 19:15:05 +0000 (15:15 -0400)
commit7c5a189dc6a43def594fedc7cd8f6886596b65de
tree5852075d8085d5ef313636cc4e137a291fff71e5
parentaec6795210db6ba3f4592056d41ac5b1ab41e980
p54: call p54_wake_free_queues on every p54_free_skb and p54_rx_frame_sent

Currently queues are stopped when their length reaches their length limit,
but are restarted only when the size of freed range of packet buffer is
not less than the size of the largest possible packet.

This causes permanent queue stop on radio visibility loss in the middle
of ping series: there is plenty of room in the packet buffer, but it is
never freed more than 3 (size of 'best effort' queue) * 288 (ping packet
plus headers) bytes at once.

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/p54/p54common.c