From: David Vrabel Date: Fri, 16 May 2014 11:26:04 +0000 (+0100) Subject: xen-netback: fix race between napi_complete() and interrupt handler X-Git-Tag: omap-for-v3.16/fixes-against-rc1~146^2~22 X-Git-Url: https://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0d08fceb2e21c30ca3e1e462e678723f806acf18;p=pandora-kernel.git xen-netback: fix race between napi_complete() and interrupt handler When the NAPI budget was not all used, xenvif_poll() would call napi_complete() /after/ enabling the interrupt. This resulted in a race between the napi_complete() and the napi_schedule() in the interrupt handler. The use of local_irq_save/restore() avoided by race iff the handler is running on the same CPU but not if it was running on a different CPU. Fix this properly by calling napi_complete() before reenabling interrupts (in the xenvif_napi_schedule_or_enable_irq() call). Signed-off-by: David Vrabel Acked-by: Wei Liu Acked-by: Ian Campbell Signed-off-by: David S. Miller --- Reading git-diff-tree failed