carl9170: Fix memory accounting when sta is in power-save mode.
authorNicolas Cavallari <Nicolas.Cavallari@lri.fr>
Thu, 23 Feb 2012 15:53:34 +0000 (16:53 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 12 Mar 2012 17:33:01 +0000 (10:33 -0700)
commit2070216144d9c8ff4894a443b093277b42342b12
tree2fc1c1bb103dc7f87513b7f971f4bfe68f80e9cc
parent412821717f792e86941e16f507637b2b5592aa81
carl9170: Fix memory accounting when sta is in power-save mode.

commit 992d52529d7840236d3059b51c15d5eb9e81a869 upstream.

On Access Point mode, when transmitting a packet, if the destination
station is in powersave mode, we abort transmitting the packet to the
device queue, but we do not reclaim the allocated memory.  Given enough
packets, we can go in a state where there is no packet on the device
queue, but we think the device has no memory left, so no packet gets
transmitted, connections breaks and the AP stops working.

This undo the allocation done in the TX path when the station is in
power-save mode.

Signed-off-by: Nicolas Cavallari <cavallar@lri.fr>
Acked-by: Christian Lamparter <chunkeey@googlemail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/wireless/ath/carl9170/tx.c