merge stable-1.5
authorFlorian Pose <fp@igh-essen.com>
Fri, 16 Sep 2016 11:57:01 +0200
branchstable-1.5
changeset 2657 bb2163e6b145
parent 2656 ad1199dd73e1 (current diff)
parent 2654 b3f6b3e5ef29 (diff)
child 2658 7690a5df7539
merge
--- a/devices/ccat/module.h	Fri Sep 16 11:56:53 2016 +0200
+++ b/devices/ccat/module.h	Fri Sep 16 11:57:01 2016 +0200
@@ -29,7 +29,7 @@
 #include "../ecdev.h"
 
 #define DRV_EXTRAVERSION "-ec"
-#define DRV_VERSION      "0.14" DRV_EXTRAVERSION
+#define DRV_VERSION      "0.15" DRV_EXTRAVERSION
 #define DRV_DESCRIPTION  "Beckhoff CCAT Ethernet/EtherCAT Network Driver"
 
 #undef pr_fmt
--- a/devices/ccat/netdev.c	Fri Sep 16 11:56:53 2016 +0200
+++ b/devices/ccat/netdev.c	Fri Sep 16 11:57:01 2016 +0200
@@ -291,7 +291,7 @@
 	iowrite32((u32) phys | ((phys_hi) > 0), ioaddr);
 	iowrite32(phys_hi, ioaddr + 4);
 
-	pr_debug
+	pr_info
 	    ("DMA%llu mem initialized\n base:         0x%p\n start:        0x%p\n phys:         0x%09llx\n pci addr:     0x%01x%08x\n size:         %llu |%llx bytes.\n",
 	     (u64) channel, dma->base, fifo->dma.start, (u64) dma->phys,
 	     ioread32(ioaddr + 4), ioread32(ioaddr),
@@ -749,12 +749,14 @@
 static void poll_rx(struct ccat_eth_priv *const priv)
 {
 	struct ccat_eth_fifo *const fifo = &priv->rx_fifo;
-	const size_t len = fifo->ops->ready(fifo);
-
-	if (len) {
+	size_t rx_per_poll = FIFO_LENGTH / 2;
+	size_t len = fifo->ops->ready(fifo);
+
+	while (len && --rx_per_poll) {
 		priv->receive(priv, len);
 		fifo->ops->add(fifo);
 		ccat_eth_fifo_inc(fifo);
+		len = fifo->ops->ready(fifo);
 	}
 }