linux-hardened/drivers/net/ethernet/broadcom
Florian Fainelli 478a010c92 net: bcmgenet: fix TX reclaim accounting for fragments
The GENET driver supports SKB fragments, and succeeds in transmitting
them properly, but when reclaiming these transmitted fragments, we will
only update the count of free buffer descriptors by 1, even for SKBs
with fragments. This leads to the networking stack thinking it has more
room than the hardware has when pushing new SKBs, and backing off
consequently because we return NETDEV_TX_BUSY.

Fix this by accounting for the SKB nr_frags plus one (itself) and update
ring->free_bds accordingly with that value for each iteration loop in
__bcmgenet_tx_reclaim().

Fixes: 1c1008c793 ("net: bcmgenet: add main driver file")
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2014-09-22 18:38:40 -04:00
..
bnx2x bnx2x: Fix link problems for 1G SFP RJ45 module 2014-09-05 17:28:37 -07:00
genet net: bcmgenet: fix TX reclaim accounting for fragments 2014-09-22 18:38:40 -04:00
b44.c drivers: net: b44: Fix typo in returning multicast stats 2014-09-12 18:23:55 -04:00
b44.h b44: use fixed PHY device if we do not find any 2013-12-20 20:48:49 -05:00
bcm63xx_enet.c net: get rid of SET_ETHTOOL_OPS 2014-05-13 17:43:20 -04:00
bcm63xx_enet.h bcm63xx_enet: add support Broadcom BCM6345 Ethernet 2013-06-13 17:22:08 -07:00
bcmsysport.c net: systemport: check harder for out of memory conditions 2014-09-08 16:02:49 -07:00
bcmsysport.h net: systemport: add Wake-on-LAN support 2014-07-07 20:56:47 -07:00
bgmac.c net: get rid of SET_ETHTOOL_OPS 2014-05-13 17:43:20 -04:00
bgmac.h bgmac: add support for Northstar SoC (BCM4707, BCM53018) 2014-01-04 20:25:20 -05:00
bnx2.c PCI: Remove DEFINE_PCI_DEVICE_TABLE macro use 2014-08-12 12:15:14 -06:00
bnx2.h bnx2: Rebranding bnx2 driver. 2014-06-25 16:27:27 -07:00
bnx2_fw.h bnx2: Rebranding bnx2 driver. 2014-06-25 16:27:27 -07:00
cnic.c cnic : Cleanup CONFIG_IPV6 & VLAN check 2014-09-05 20:47:14 -07:00
cnic.h cnic: Rebranding cnic driver. 2014-06-25 16:27:27 -07:00
cnic_defs.h cnic: Rebranding cnic driver. 2014-06-25 16:27:27 -07:00
cnic_if.h cnic: Rebranding cnic driver. 2014-06-25 16:27:27 -07:00
Kconfig cnic : Cleanup CONFIG_IPV6 & VLAN check 2014-09-05 20:47:14 -07:00
Makefile net: systemport: hook SYSTEMPORT driver in the build 2014-04-26 12:57:40 -04:00
sb1250-mac.c drivers/net: delete non-required instances of include <linux/init.h> 2014-01-16 11:53:26 -08:00
tg3.c tg3: Work around HW/FW limitations with vlan encapsulated frames 2014-09-22 14:20:23 -04:00
tg3.h tg3: prevent ifup/ifdown during PCI error recovery 2014-09-02 13:02:19 -07:00