ds->enabled_port_mask only contains a bitmask of user-facing enabled
ports, we also need to allow programming CFP rules that target CPU ports
(e.g: ports 5 and 8).

Signed-off-by: Florian Fainelli <f.faine...@gmail.com>
---
 drivers/net/dsa/bcm_sf2_cfp.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/net/dsa/bcm_sf2_cfp.c b/drivers/net/dsa/bcm_sf2_cfp.c
index b89acaee12d4..1e37b65aab93 100644
--- a/drivers/net/dsa/bcm_sf2_cfp.c
+++ b/drivers/net/dsa/bcm_sf2_cfp.c
@@ -755,7 +755,8 @@ static int bcm_sf2_cfp_rule_set(struct dsa_switch *ds, int 
port,
        port_num = fs->ring_cookie / SF2_NUM_EGRESS_QUEUES;
 
        if (fs->ring_cookie == RX_CLS_FLOW_DISC ||
-           !dsa_is_user_port(ds, port_num) ||
+           !(dsa_is_user_port(ds, port_num) ||
+             dsa_is_cpu_port(ds, port_num)) ||
            port_num >= priv->hw_params.num_ports)
                return -EINVAL;
        /*
-- 
2.14.1

Reply via email to