diff options
author | Figo.zhang <figo1802@gmail.com> | 2010-03-05 16:36:02 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-03-07 15:25:49 -0800 |
commit | b96b894c518bc7399e6b86b635b5e8cd7356a8e9 (patch) | |
tree | 0cb2533a8fe3fe2ef9919cbc9ad8ebea3adaefad /drivers/net/arm/ks8695net.c | |
parent | 3a22813a5aaf8e8c72be575dabe0ba26f9352f4d (diff) | |
download | linux-3.10-b96b894c518bc7399e6b86b635b5e8cd7356a8e9.tar.gz linux-3.10-b96b894c518bc7399e6b86b635b5e8cd7356a8e9.tar.bz2 linux-3.10-b96b894c518bc7399e6b86b635b5e8cd7356a8e9.zip |
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>
Diffstat (limited to 'drivers/net/arm/ks8695net.c')
-rw-r--r-- | drivers/net/arm/ks8695net.c | 2 |
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; |