From: Vladimir Oltean <vladimir.olt...@nxp.com>

The Ocelot switches do not support flow control on Ethernet interfaces
where a DSA tag must be added. If pause frames are enabled, they will be
encapsulated in the DSA tag just like regular frames, and the DSA master
will not recognize them.

Signed-off-by: Vladimir Oltean <vladimir.olt...@nxp.com>
---
 drivers/net/ethernet/mscc/ocelot.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/net/ethernet/mscc/ocelot.c 
b/drivers/net/ethernet/mscc/ocelot.c
index 6fc5b72c9260..41d1026ec5b3 100644
--- a/drivers/net/ethernet/mscc/ocelot.c
+++ b/drivers/net/ethernet/mscc/ocelot.c
@@ -2200,6 +2200,10 @@ void ocelot_configure_cpu(struct ocelot *ocelot, int npi,
                                    extraction);
                ocelot_fields_write(ocelot, npi, SYS_PORT_MODE_INCL_INJ_HDR,
                                    injection);
+
+               /* Disable transmission of pause frames */
+               ocelot_rmw_rix(ocelot, 0, SYS_PAUSE_CFG_PAUSE_ENA,
+                              SYS_PAUSE_CFG, npi);
        }
 
        /* Enable CPU port module */
-- 
2.25.1

Reply via email to