linux/drivers
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
..
accessibility
acpi Merge branch 'x86-mce-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2013-11-12 11:16:44 +09:00
amba
ata Merge branch 'for-3.13' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata 2013-11-13 15:18:22 +09:00
atm
auxdisplay
base Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2013-11-13 15:34:18 +09:00
bcma Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2013-11-13 17:40:34 +09:00
block Via Paul Walmsley <paul@pwsan.com>: 2013-10-28 14:39:03 -07:00
bluetooth Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth 2013-11-05 15:58:21 -05:00
bus ARM: driver updates for 3.13 2013-11-11 17:05:37 +09:00
cdrom
char Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2013-11-13 17:40:34 +09:00
clk DeviceTree updates for 3.13. This is a bit larger pull request than 2013-11-12 16:52:17 +09:00
clocksource
connector connector: improved unaligned access error fix 2013-11-14 17:19:20 -05:00
cpufreq DeviceTree updates for 3.13. This is a bit larger pull request than 2013-11-12 16:52:17 +09:00
cpuidle
crypto powerpc: add missing explicit OF includes for ppc 2013-11-11 09:10:50 -06:00
dca
devfreq
dio
dma drivers/dma/mmp_tdma.c: use gen_pool_dma_alloc() to allocate descriptor 2013-11-13 12:09:23 +09:00
edac DeviceTree updates for 3.13. This is a bit larger pull request than 2013-11-12 16:52:17 +09:00
eisa
extcon
firewire
firmware Merge branch 'x86-mce-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2013-11-12 11:16:44 +09:00
fmc
gpio DeviceTree updates for 3.13. This is a bit larger pull request than 2013-11-12 16:52:17 +09:00
gpu Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2013-11-13 15:34:18 +09:00
hid Staging driver update for 3.13-rc1 2013-11-07 15:07:58 +09:00
hsi
hv
hwmon spi: Updates for v3.13 2013-11-12 15:01:39 +09:00
hwspinlock
i2c Merge remote-tracking branch 'grant/devicetree/next' into for-next 2013-11-07 10:34:46 -06:00
ide H8/300 has been dead for several years, the kernel for it has 2013-11-12 14:13:14 +09:00
idle
iio iio: light: vcnl4000: Remove redundant code 2013-10-24 14:48:14 +01:00
infiniband net/mlx4_core: Initialize all mailbox buffers to zero before use 2013-11-07 19:22:47 -05:00
input DeviceTree updates for 3.13. This is a bit larger pull request than 2013-11-12 16:52:17 +09:00
iommu drivers/iommu/omap-iopgtable.h: remove unneeded cast of void* 2013-11-13 12:09:00 +09:00
ipack
irqchip Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2013-11-12 10:02:59 +09:00
isdn isdnloop: use strlcpy() instead of strcpy() 2013-11-14 16:50:20 -05:00
leds leds: lp55xx: handle enable pin in driver 2013-10-25 10:13:25 -07:00
lguest
macintosh DeviceTree updates for 3.13. This is a bit larger pull request than 2013-11-12 16:52:17 +09:00
mailbox
md Driver Core / sysfs patches for 3.13-rc1 2013-11-07 11:42:15 +09:00
media Merge branch 'akpm' (patches from Andrew Morton) 2013-11-13 15:45:43 +09:00
memory
memstick drivers/memstick/core/ms_block.c: fix unreachable state in h_msb_read_page() 2013-11-13 12:09:35 +09:00
message drivers/message/i2o/driver.c: add missing destroy_workqueue() on error in i2o_driver_register() 2013-11-13 12:09:26 +09:00
mfd sound updates for 3.13-rc1 2013-11-12 15:29:53 +09:00
misc DeviceTree updates for 3.13. This is a bit larger pull request than 2013-11-12 16:52:17 +09:00
mmc
mtd Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2013-11-13 15:34:18 +09:00
net xen-netfront: fix missing rx_refill_timer when allocate memory failed 2013-11-18 13:56:05 -05:00
nfc
ntb
nubus
of DeviceTree updates for 3.13. This is a bit larger pull request than 2013-11-12 16:52:17 +09:00
oprofile
parisc
parport H8/300 has been dead for several years, the kernel for it has 2013-11-12 14:13:14 +09:00
pci DeviceTree updates for 3.13. This is a bit larger pull request than 2013-11-12 16:52:17 +09:00
pcmcia DeviceTree updates for 3.13. This is a bit larger pull request than 2013-11-12 16:52:17 +09:00
phy usb: patches for v3.13 2013-10-24 16:18:40 +01:00
pinctrl GPIO bulk changes for the v3.13 development cycle 2013-11-12 15:50:46 +09:00
platform sound updates for 3.13-rc1 2013-11-12 15:29:53 +09:00
pnp
power
pps drivers/pps/clients/pps-gpio.c: remove redundant of_match_ptr 2013-11-13 12:09:35 +09:00
ps3
ptp
pwm
rapidio
regulator Merge remote-tracking branch 'regulator/topic/tps65910' into regulator-next 2013-10-24 11:11:43 +01:00
remoteproc
reset
rpmsg
rtc drivers/rtc/rtc-as3722: add RTC driver 2013-11-13 12:09:31 +09:00
s390 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2013-11-13 17:40:34 +09:00
sbus
scsi Driver Core / sysfs patches for 3.13-rc1 2013-11-07 11:42:15 +09:00
sfi
sh
sn
spi DeviceTree updates for 3.13. This is a bit larger pull request than 2013-11-12 16:52:17 +09:00
ssb
staging Merge branch 'akpm' (patches from Andrew Morton) 2013-11-13 15:45:43 +09:00
target target/pscsi: fix return value check 2013-10-25 10:42:09 -07:00
tc
thermal
tty DeviceTree updates for 3.13. This is a bit larger pull request than 2013-11-12 16:52:17 +09:00
uio drivers/uio/uio_pruss.c: use gen_pool_dma_alloc() to allocate sram memory 2013-11-13 12:09:23 +09:00
usb Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2013-11-13 15:34:18 +09:00
uwb Driver Core / sysfs patches for 3.13-rc1 2013-11-07 11:42:15 +09:00
vfio
vhost vhost/scsi: Fix incorrect usage of get_user_pages_fast write parameter 2013-10-25 11:03:34 -07:00
video drivers/video/backlight/hx8357.c: remove redundant of_match_ptr 2013-11-13 12:09:22 +09:00
virt
virtio
vlynq
vme
w1 drivers: w1: make w1_slave::flags long to avoid memory corruption 2013-11-13 12:09:35 +09:00
watchdog DeviceTree updates for 3.13. This is a bit larger pull request than 2013-11-12 16:52:17 +09:00
xen
zorro
Kconfig
Makefile