linux/drivers/net
Ma JieYue fdcf77659c xen-netfront: fix missing rx_refill_timer when allocate memory failed
There was a bug in xennet_alloc_rx_buffers, when allocating page or
sk_buff failed, and at the same time rx_batch queue not empty,
the rx_refill_timer timer won't be scheduled. If finally the remaining
request buffers in rx ring less than what backend driver expected,
the backend driver would think of rx ring as full and start dropping packets.
In such situation, there is no way for the netfront driver to recover
automatically, so that the device can not work properly.

The patch fixes the problem by always scheduling rx_refill_timer timer when
alloc_page or __netdev_alloc_skb fails, no matter whether rx_batch queue is
empty or not. It ensures that the rx ring request buffers will finally meet
the backend needs.

Signed-off-by: Ma JieYue <jieyue.majy@alibaba-inc.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2013-11-18 13:56:05 -05:00
..
appletalk
arcnet
bonding bonding: add ip checks when store ip target 2013-11-15 17:44:43 -05:00
caif caif: add a sanity check to the tty name 2013-09-04 00:27:27 -04:00
can Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2013-11-13 17:40:34 +09:00
cris
dsa
ethernet net: ethernet: ti/cpsw: do not crash on single-MAC machines during resume 2013-11-15 17:58:19 -05:00
fddi net:drivers/net: Miscellaneous conversions to ETH_ALEN 2013-10-02 17:04:45 -04:00
hamradio Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2013-10-23 16:49:34 -04:00
hippi
hyperv
ieee802154 mrf24j40: Use level-triggered interrupts 2013-10-08 15:32:14 -04:00
irda irda: remove deprecated IRQF_DISABLED 2013-10-07 15:53:52 -04:00
phy Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2013-11-13 17:40:34 +09:00
plip net:drivers/net: Miscellaneous conversions to ETH_ALEN 2013-10-02 17:04:45 -04:00
ppp ip: generate unique IP identificator if local fragmentation is allowed 2013-09-19 14:11:15 -04:00
slip slip/slcan: added locking in wakeup function 2013-09-20 15:38:26 -04:00
team genetlink: make all genl_ops users const 2013-11-14 17:10:41 -05:00
usb net: cdc_ncm: cleanup a type issue in cdc_ncm_setup() 2013-11-14 03:10:30 -05:00
vmxnet3 vmxnet3: Remove extern from function prototypes 2013-09-24 16:37:10 -07:00
wan Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2013-11-04 13:48:30 -05:00
wimax wimax: Remove extern from function prototypes 2013-09-24 16:46:22 -07:00
wireless Merge branch 'for-davem' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless 2013-11-14 17:24:01 -05:00
xen-netback Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2013-11-04 13:48:30 -05:00
dummy.c
eql.c
ifb.c
Kconfig
LICENSE.SRC
loopback.c net loopback: Set loopback_dev to NULL when freed 2013-09-17 19:05:13 -04:00
macvlan.c net: Add layer 2 hardware acceleration operations for macvlan devices 2013-11-07 19:11:41 -05:00
macvtap.c macvtap: limit head length of skb allocated 2013-11-14 16:05:27 -05:00
Makefile
mdio.c
mii.c
netconsole.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2013-11-04 13:48:30 -05:00
nlmon.c
ntb_netdev.c
rionet.c
sb1000.c
Space.c net/ethernet: Drop H8/300 Ethernet driver 2013-09-16 18:20:24 -07:00
sungem_phy.c
tun.c tuntap: limit head length of skb allocated 2013-11-14 16:05:27 -05:00
veth.c veth: extend features to support tunneling 2013-10-28 00:57:29 -04:00
virtio_net.c virtio-net: mergeable buffer size should include virtio-net header 2013-11-14 17:22:56 -05:00
vxlan.c vxlan: Use ERR_CAST inlined function instead of ERR_PTR(PTR_ERR(...)) 2013-11-04 20:02:33 -05:00
xen-netfront.c xen-netfront: fix missing rx_refill_timer when allocate memory failed 2013-11-18 13:56:05 -05:00