diff options
author | Figo.zhang <figo1802@gmail.com> | 2010-03-05 11:36:02 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-03-07 18:25:49 -0500 |
commit | b96b894c518bc7399e6b86b635b5e8cd7356a8e9 (patch) | |
tree | 0cb2533a8fe3fe2ef9919cbc9ad8ebea3adaefad /drivers/net/arm | |
parent | 3a22813a5aaf8e8c72be575dabe0ba26f9352f4d (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>
Diffstat (limited to 'drivers/net/arm')
-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 8ca639127dbc..a1d4188c430b 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) | |||
575 | if (work_done < budget) { | 575 | if (work_done < budget) { |
576 | unsigned long flags; | 576 | unsigned long flags; |
577 | spin_lock_irqsave(&ksp->rx_lock, flags); | 577 | spin_lock_irqsave(&ksp->rx_lock, flags); |
578 | __napi_complete(napi); | ||
578 | /*enable rx interrupt*/ | 579 | /*enable rx interrupt*/ |
579 | writel(isr | mask_bit, KS8695_IRQ_VA + KS8695_INTEN); | 580 | writel(isr | mask_bit, KS8695_IRQ_VA + KS8695_INTEN); |
580 | __napi_complete(napi); | ||
581 | spin_unlock_irqrestore(&ksp->rx_lock, flags); | 581 | spin_unlock_irqrestore(&ksp->rx_lock, flags); |
582 | } | 582 | } |
583 | return work_done; | 583 | return work_done; |