diff options
Diffstat (limited to 'drivers/net/forcedeth.c')
| -rw-r--r-- | drivers/net/forcedeth.c | 25 | 
1 files changed, 14 insertions, 11 deletions
diff --git a/drivers/net/forcedeth.c b/drivers/net/forcedeth.c index 1094d292630..3b4e0766c7b 100644 --- a/drivers/net/forcedeth.c +++ b/drivers/net/forcedeth.c @@ -3514,11 +3514,13 @@ static irqreturn_t nv_nic_irq(int foo, void *data)  	nv_msi_workaround(np);  #ifdef CONFIG_FORCEDETH_NAPI -	napi_schedule(&np->napi); - -	/* Disable furthur irq's -	   (msix not enabled with napi) */ -	writel(0, base + NvRegIrqMask); +	if (napi_schedule_prep(&np->napi)) { +		/* +		 * Disable further irq's (msix not enabled with napi) +		 */ +		writel(0, base + NvRegIrqMask); +		__napi_schedule(&np->napi); +	}  #else  	do @@ -3615,12 +3617,13 @@ static irqreturn_t nv_nic_irq_optimized(int foo, void *data)  	nv_msi_workaround(np);  #ifdef CONFIG_FORCEDETH_NAPI -	napi_schedule(&np->napi); - -	/* Disable furthur irq's -	   (msix not enabled with napi) */ -	writel(0, base + NvRegIrqMask); - +	if (napi_schedule_prep(&np->napi)) { +		/* +		 * Disable further irq's (msix not enabled with napi) +		 */ +		writel(0, base + NvRegIrqMask); +		__napi_schedule(&np->napi); +	}  #else  	do  	{  |