summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFigo.zhang <figo1802@gmail.com>2010-03-05 16:36:02 +0000
committerDavid S. Miller <davem@davemloft.net>2010-03-07 15:25:49 -0800
commitb96b894c518bc7399e6b86b635b5e8cd7356a8e9 (patch)
tree0cb2533a8fe3fe2ef9919cbc9ad8ebea3adaefad
parent3a22813a5aaf8e8c72be575dabe0ba26f9352f4d (diff)
fix a race in ks8695_poll
fix a race at the end of NAPI processing in ks8695_poll() function. Signed-off-by:Figo.zhang <figo1802@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--drivers/net/arm/ks8695net.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/arm/ks8695net.c b/drivers/net/arm/ks8695net.c
index 8ca639127db..a1d4188c430 100644
--- a/drivers/net/arm/ks8695net.c
+++ b/drivers/net/arm/ks8695net.c
@@ -575,9 +575,9 @@ static int ks8695_poll(struct napi_struct *napi, int budget)
if (work_done < budget) {
unsigned long flags;
spin_lock_irqsave(&ksp->rx_lock, flags);
+ __napi_complete(napi);
/*enable rx interrupt*/
writel(isr | mask_bit, KS8695_IRQ_VA + KS8695_INTEN);
- __napi_complete(napi);
spin_unlock_irqrestore(&ksp->rx_lock, flags);
}
return work_done;