Setting the FTRL register will stop the fec from
trying to use multiple receive buffers.

Signed-off-by: Troy Kisky <troy.ki...@boundarydevices.com>
---
 drivers/net/ethernet/freescale/fec.h      | 1 +
 drivers/net/ethernet/freescale/fec_main.c | 1 +
 2 files changed, 2 insertions(+)

diff --git a/drivers/net/ethernet/freescale/fec.h 
b/drivers/net/ethernet/freescale/fec.h
index 2106d72..cc9677a 100644
--- a/drivers/net/ethernet/freescale/fec.h
+++ b/drivers/net/ethernet/freescale/fec.h
@@ -64,6 +64,7 @@
 #define FEC_R_FIFO_RSEM                0x194 /* Receive FIFO section empty 
threshold */
 #define FEC_R_FIFO_RAEM                0x198 /* Receive FIFO almost empty 
threshold */
 #define FEC_R_FIFO_RAFL                0x19c /* Receive FIFO almost full 
threshold */
+#define FEC_FTRL               0x1b0 /* Frame truncation receive length*/
 #define FEC_RACC               0x1c4 /* Receive Accelerator function */
 #define FEC_RCMR_1             0x1c8 /* Receive classification match ring 1 */
 #define FEC_RCMR_2             0x1cc /* Receive classification match ring 2 */
diff --git a/drivers/net/ethernet/freescale/fec_main.c 
b/drivers/net/ethernet/freescale/fec_main.c
index 41c81f6..3e5b24a 100644
--- a/drivers/net/ethernet/freescale/fec_main.c
+++ b/drivers/net/ethernet/freescale/fec_main.c
@@ -988,6 +988,7 @@ fec_restart(struct net_device *ndev)
                        val &= ~FEC_RACC_OPTIONS;
                writel(val, fep->hwp + FEC_RACC);
        }
+       writel(PKT_MAXBUF_SIZE, fep->hwp + FEC_FTRL);
 #endif
 
        /*
-- 
2.5.0

Reply via email to