linux/drivers/net/ethernet
Petri Gynther d6707bec59 net: bcmgenet: rewrite bcmgenet_rx_refill()
Currently, bcmgenet_desc_rx() calls bcmgenet_rx_refill() at the end of
Rx packet processing loop, after the current Rx packet has already been
passed to napi_gro_receive(). However, bcmgenet_rx_refill() might fail
to allocate a new Rx skb, thus leaving a hole on the Rx queue where no
valid Rx buffer exists.

To eliminate this situation:
1. Rewrite bcmgenet_rx_refill() to retain the current Rx skb on the Rx
   queue if a new replacement Rx skb can't be allocated and DMA-mapped.
   In this case, the data on the current Rx skb is effectively dropped.
2. Modify bcmgenet_desc_rx() to call bcmgenet_rx_refill() at the top of
   Rx packet processing loop, so that the new replacement Rx skb is
   already in place before the current Rx skb is processed.

Signed-off-by: Petri Gynther <pgynther@google.com>
Tested-by: Jaedon Shin <jaedon.shin@gmail.com>--
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Tested-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2015-03-13 15:48:15 -04:00
..
3com drivers/net: Use setup_timer and mod_timer 2015-02-11 19:40:12 -08:00
8390 net: 8390: axnet_cs: Use setup_timer and mod_timer 2015-03-01 13:40:23 -05:00
adaptec
adi
aeroflex
agere et131x: use msecs_to_jiffies for conversions 2015-02-11 19:37:43 -08:00
allwinner ethernet: codespell comment spelling fixes 2015-03-08 22:54:22 -04:00
alteon net: rename vlan_tx_* helpers since "tx" is misleading there 2015-01-13 17:51:08 -05:00
altera Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2015-03-03 21:16:48 -05:00
amd ethernet: codespell comment spelling fixes 2015-03-08 22:54:22 -04:00
apm net: eth: xgene: fix booting with devicetree 2015-03-05 15:40:10 -05:00
apple ethernet: codespell comment spelling fixes 2015-03-08 22:54:22 -04:00
arc
atheros ethernet: codespell comment spelling fixes 2015-03-08 22:54:22 -04:00
broadcom net: bcmgenet: rewrite bcmgenet_rx_refill() 2015-03-13 15:48:15 -04:00
brocade ethernet: codespell comment spelling fixes 2015-03-08 22:54:22 -04:00
cadence net/macb: Only adjust tx_clk on link change 2015-03-12 23:04:32 -04:00
calxeda ethernet: codespell comment spelling fixes 2015-03-08 22:54:22 -04:00
chelsio ethernet: codespell comment spelling fixes 2015-03-08 22:54:22 -04:00
cirrus ethernet: codespell comment spelling fixes 2015-03-08 22:54:22 -04:00
cisco Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2015-03-03 21:16:48 -05:00
davicom dm9000: Add regulator and reset support to dm9000 2015-01-15 14:08:07 -05:00
dec ethernet: codespell comment spelling fixes 2015-03-08 22:54:22 -04:00
dlink
emulex ethernet: codespell comment spelling fixes 2015-03-08 22:54:22 -04:00
faraday
freescale net/fsl: remove dependency FSL_SOC from MDIO 2015-03-11 16:37:50 -04:00
fujitsu
hisilicon net: hip04: add missing MODULE_LICENSE 2015-02-02 18:51:03 -08:00
hp hp100: fix misspelling of current function in string 2014-12-09 16:18:47 -05:00
i825xx
ibm ibmveth: Add function to enable live MAC address changes 2015-03-03 14:36:17 -05:00
icplus
intel i40e: add ethtool RSS support 2015-03-09 10:53:37 -07:00
marvell ethernet: codespell comment spelling fixes 2015-03-08 22:54:22 -04:00
mellanox net/mlx5_core: don't export static symbol 2015-03-12 00:03:34 -04:00
micrel ethernet: Use eth_<foo>_addr instead of memset 2015-03-03 17:01:36 -05:00
microchip
moxa ethernet: codespell comment spelling fixes 2015-03-08 22:54:22 -04:00
myricom myri10ge: Delete an unnecessary check before the function call "kfree" 2015-02-05 00:25:10 -08:00
natsemi net: rename vlan_tx_* helpers since "tx" is misleading there 2015-01-13 17:51:08 -05:00
neterion ethernet: codespell comment spelling fixes 2015-03-08 22:54:22 -04:00
nuvoton
nvidia net: rename vlan_tx_* helpers since "tx" is misleading there 2015-01-13 17:51:08 -05:00
nxp
octeon
oki-semi ethernet: codespell comment spelling fixes 2015-03-08 22:54:22 -04:00
packetengines ethernet: codespell comment spelling fixes 2015-03-08 22:54:22 -04:00
pasemi net: pasemi: Use setup_timer and mod_timer 2015-03-01 13:40:23 -05:00
qlogic ethernet: codespell comment spelling fixes 2015-03-08 22:54:22 -04:00
qualcomm ethernet: codespell comment spelling fixes 2015-03-08 22:54:22 -04:00
rdc
realtek r8169: Fix trivial typo in rtl_check_firmware 2015-02-24 16:26:07 -05:00
renesas sh_eth: Mitigate lost statistics updates 2015-03-04 15:40:54 -05:00
rocker switchdev: add netlink flags to IPv4 FIB add op 2015-03-09 23:56:52 -04:00
samsung ethernet: codespell comment spelling fixes 2015-03-08 22:54:22 -04:00
seeq
sfc ethernet: codespell comment spelling fixes 2015-03-08 22:54:22 -04:00
sgi
silan
sis
smsc Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2015-03-09 23:38:02 -04:00
stmicro Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2015-03-09 23:38:02 -04:00
sun ethernet: codespell comment spelling fixes 2015-03-08 22:54:22 -04:00
tehuti net: rename vlan_tx_* helpers since "tx" is misleading there 2015-01-13 17:51:08 -05:00
ti ethernet: codespell comment spelling fixes 2015-03-08 22:54:22 -04:00
tile tile: use %*pb[l] to print bitmaps including cpumasks and nodemasks 2015-02-13 21:21:37 -08:00
toshiba ethernet: codespell comment spelling fixes 2015-03-08 22:54:22 -04:00
tundra
via net: via-rhine: add BQL support 2015-02-24 16:30:02 -05:00
wiznet ethernet: codespell comment spelling fixes 2015-03-08 22:54:22 -04:00
xilinx net: axienet: fix error return code 2014-12-31 19:19:00 -05:00
xircom
xscale Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2015-03-03 21:16:48 -05:00
dnet.c net: dnet: fix dnet_poll() 2015-01-11 21:44:55 -05:00
dnet.h
ec_bhf.c
ethoc.c
fealnx.c
jme.c net: rename vlan_tx_* helpers since "tx" is misleading there 2015-01-13 17:51:08 -05:00
jme.h
Kconfig net: s6gmac: remove driver 2014-12-22 16:29:03 -05:00
korina.c
lantiq_etop.c
Makefile net: s6gmac: remove driver 2014-12-22 16:29:03 -05:00
netx-eth.c