From: Sergei Shtylyov Date: Tue, 3 Sep 2013 22:41:27 +0000 (+0400) Subject: sh_eth: fix napi_{en|dis}able() calls racing against interrupts X-Git-Tag: v3.12-rc1~132^2~1^2~6 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d2779e99468fd83ef1493c34f3803fec9aad8345;p=pandora-kernel.git sh_eth: fix napi_{en|dis}able() calls racing against interrupts While implementing NAPI for the driver, I overlooked the race conditions where interrupt handler might have called napi_schedule_prep() before napi_enable() was called or after napi_disable() was called. If RX interrupt happens, this would cause the endless interrupts and messages like: sh-eth eth0: ignoring interrupt, status 0x00040000, mask 0x01ff009f. The interrupt wouldn't even be masked by the kernel eventually since the handler would return IRQ_HANDLED all the time. As a fix, move napi_enable() call before request_irq() call and napi_disable() call after free_irq() call. Signed-off-by: Sergei Shtylyov Signed-off-by: David S. Miller --- Reading git-diff-tree failed