linux/drivers/net
Rakesh Pillai f35a7f91f6 ath10k: fix memory leak in rx ring buffer allocation
The rx ring buffers are added to a hash table if
firmware support full rx reorder. If the full rx
reorder support flag is not set before allocating
the rx ring buffers, none of the buffers are added
to the hash table.

There is a race condition between rx ring refill and
rx buffer replenish from napi poll. The interrupts are
enabled in hif start, before the rx ring is refilled during init.
We replenish buffers from napi poll due to the interrupts which
get enabled after hif start. Hence before the entire rx ring is
refilled during the init, the napi poll replenishes a few buffers
in steps of 100 buffers per attempt. During this rx ring replenish
from napi poll, the rx reorder flag has not been set due to which
the replenished buffers are not added to the hash table

Set the rx full reorder support flag before we allocate
the rx ring buffer to avoid the memory leak.

Signed-off-by: Rakesh Pillai <pillair@qti.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
2017-08-08 14:06:42 +03:00
..
appletalk drivers/net: Fix ptr_ret.cocci warnings. 2017-07-25 12:27:06 -07:00
arcnet arcnet: com20020-pci: constify attribute_group structures. 2017-07-18 12:04:56 -07:00
bonding Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-07-21 03:38:43 +01:00
caif Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2017-07-05 12:31:59 -07:00
can net: can: janz-ican3: constify attribute_group structures. 2017-07-18 12:04:56 -07:00
cris
dsa net: Convert to using %pOF instead of full_name 2017-07-24 13:41:48 -07:00
ethernet qed: Read per queue coalesce from hardware 2017-07-27 00:05:22 -07:00
fddi
fjes
hamradio hamradio: dmascc: avoid -Wformat-overflow warning 2017-07-26 09:32:44 -07:00
hippi
hyperv netvsc: remove no longer used max_num_rss queues 2017-07-24 17:39:20 -07:00
ieee802154 drivers: net: add missing interrupt.h include 2017-07-18 11:13:41 -07:00
ipvlan ipvlan: Stop advertising NETIF_F_UFO support. 2017-07-17 09:52:57 -07:00
irda
phy net: Convert to using %pOF instead of full_name 2017-07-24 13:41:48 -07:00
plip
ppp ppp: Fix false xmit recursion detect with two ppp devices 2017-07-18 11:20:33 -07:00
slip
team net: add netlink_ext_ack argument to rtnl_link_ops.validate 2017-06-26 23:13:22 -04:00
usb Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-07-21 03:38:43 +01:00
vmxnet3 vmxnet3: avoid format strint overflow warning 2017-07-14 09:03:11 -07:00
wan
wimax
wireless ath10k: fix memory leak in rx ring buffer allocation 2017-08-08 14:06:42 +03:00
xen-netback xen-netback: correctly schedule rate-limited queues 2017-06-22 11:15:42 -04:00
dummy.c dummy: Remove references to NETIF_F_UFO. 2017-07-17 09:52:57 -07:00
eql.c
geneve.c geneve/vxlan: offload ports on register/unregister events 2017-07-24 13:52:59 -07:00
gtp.c net: add netlink_ext_ack argument to rtnl_link_ops.validate 2017-06-26 23:13:22 -04:00
ifb.c net: add netlink_ext_ack argument to rtnl_link_ops.validate 2017-06-26 23:13:22 -04:00
Kconfig
LICENSE.SRC
loopback.c
macsec.c net: add netlink_ext_ack argument to rtnl_link_ops.validate 2017-06-26 23:13:22 -04:00
macvlan.c macvlan/macvtap: Remove NETIF_F_UFO advertisement. 2017-07-17 09:52:57 -07:00
macvtap.c macvlan/macvtap: Remove NETIF_F_UFO advertisement. 2017-07-17 09:52:57 -07:00
Makefile
mdio.c
mii.c
netconsole.c
nlmon.c net: add netlink_ext_ack argument to rtnl_link_ops.validate 2017-06-26 23:13:22 -04:00
ntb_netdev.c ntb_netdev: set the net_device's parent 2017-07-06 11:30:08 -04:00
rionet.c net: convert sk_buff.users from atomic_t to refcount_t 2017-07-01 07:39:07 -07:00
sb1000.c
Space.c
sungem_phy.c
tap.c tun/tap: Remove references to NETIF_F_UFO. 2017-07-17 09:52:57 -07:00
tun.c tun/tap: Remove references to NETIF_F_UFO. 2017-07-17 09:52:57 -07:00
veth.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-06-30 12:43:08 -04:00
virtio_net.c virtio-net: mark PM functions as __maybe_unused 2017-07-25 21:22:45 -07:00
vrf.c vrf: fix bug_on triggered by rx when destroying a vrf 2017-07-06 16:46:07 +01:00
vsockmon.c
vxlan.c geneve/vxlan: offload ports on register/unregister events 2017-07-24 13:52:59 -07:00
xen-netfront.c