From a77d38c2d9ba077515ca2bdd3a1b1e1aa87b0a87 Mon Sep 17 00:00:00 2001 From: zeal Date: Mon, 16 Nov 2009 04:58:09 +0000 Subject: [PATCH] --- yaml --- r: 171583 b: refs/heads/master c: fa6cae143d58c74d800b8dbdd8b9f058614874f2 h: refs/heads/master i: 171581: 72f6357df57416ea70bd5de75e0cd00ac532daef 171579: 09146690a53bd9f3dd19cef9778d60bc2d8a7cfa 171575: 3e1a23099e8b1c7bfac6e452179a5f2432a6b58d 171567: 24821eb86046d29689280516bebfe0edaf7f978a 171551: 99baf5442d7314d6e8fa53d69b9dc23d39070e05 171519: bfc86208a1f22038333901cb41c9045b7402e14a v: v3 --- [refs] | 2 +- trunk/drivers/net/arm/ks8695net.c | 22 +++++++--------------- 2 files changed, 8 insertions(+), 16 deletions(-) diff --git a/[refs] b/[refs] index e6c8fea75602..17ff3d5102cd 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 3fd434d846a2c87f8f705b6876f81e4053f93749 +refs/heads/master: fa6cae143d58c74d800b8dbdd8b9f058614874f2 diff --git a/trunk/drivers/net/arm/ks8695net.c b/trunk/drivers/net/arm/ks8695net.c index 0073d198715b..e15451a85107 100644 --- a/trunk/drivers/net/arm/ks8695net.c +++ b/trunk/drivers/net/arm/ks8695net.c @@ -433,24 +433,16 @@ ks8695_rx_irq(int irq, void *dev_id) { struct net_device *ndev = (struct net_device *)dev_id; struct ks8695_priv *ksp = netdev_priv(ndev); - unsigned long status; - - unsigned long mask_bit = 1 << ks8695_get_rx_enable_bit(ksp); spin_lock(&ksp->rx_lock); - status = readl(KS8695_IRQ_VA + KS8695_INTST); - - /*clean rx status bit*/ - writel(status | mask_bit , KS8695_IRQ_VA + KS8695_INTST); - - if (status & mask_bit) { - if (napi_schedule_prep(&ksp->napi)) { - /*disable rx interrupt*/ - status &= ~mask_bit; - writel(status , KS8695_IRQ_VA + KS8695_INTEN); - __napi_schedule(&ksp->napi); - } + if (napi_schedule_prep(&ksp->napi)) { + unsigned long status = readl(KS8695_IRQ_VA + KS8695_INTEN); + unsigned long mask_bit = 1 << ks8695_get_rx_enable_bit(ksp); + /*disable rx interrupt*/ + status &= ~mask_bit; + writel(status , KS8695_IRQ_VA + KS8695_INTEN); + __napi_schedule(&ksp->napi); } spin_unlock(&ksp->rx_lock);