Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
[platform/adaptation/renesas_rcar/renesas_kernel.git] / drivers / net / arm / ep93xx_eth.c
index bf72d57..4a5ec94 100644 (file)
@@ -23,6 +23,7 @@
 #include <linux/platform_device.h>
 #include <linux/delay.h>
 #include <linux/io.h>
+#include <linux/slab.h>
 
 #include <mach/hardware.h>
 
@@ -310,11 +311,6 @@ err:
                processed++;
        }
 
-       if (processed) {
-               wrw(ep, REG_RXDENQ, processed);
-               wrw(ep, REG_RXSTSENQ, processed);
-       }
-
        return processed;
 }
 
@@ -349,6 +345,11 @@ poll_some_more:
                        goto poll_some_more;
        }
 
+       if (rx) {
+               wrw(ep, REG_RXDENQ, rx);
+               wrw(ep, REG_RXSTSENQ, rx);
+       }
+
        return rx;
 }
 
@@ -373,8 +374,6 @@ static int ep93xx_xmit(struct sk_buff *skb, struct net_device *dev)
                                skb->len, DMA_TO_DEVICE);
        dev_kfree_skb(skb);
 
-       dev->trans_start = jiffies;
-
        spin_lock_irq(&ep->tx_pending_lock);
        ep->tx_pending++;
        if (ep->tx_pending == TX_QUEUE_ENTRIES)