The RX_CLASS_OR_REG macro is being used with RX_CLASS_OR_EN parameter when writing to the AND enable register. This should use RX_CLASS_AND_EN instead to properly configure the classifier AND enable register. Fix this by using the correct RX_CLASS_AND_EN macro parameter for RX_CLASS_OR_REG when configuring the PTP duplicate and HSR tag classifiers. Fixes: f56438a74d88 ("net: ti: icssg: Add HSR/PRP protocol frame filtering") Signed-off-by: MD Danish Anwar --- This is a fix. Posting this to net-next as the guilty cposting ommit is part of net-next tree and it's not part of net tree yet. drivers/net/ethernet/ti/icssg/icssg_classifier.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/ethernet/ti/icssg/icssg_classifier.c b/drivers/net/ethernet/ti/icssg/icssg_classifier.c index cde53d9aaa7b..87a8577093db 100644 --- a/drivers/net/ethernet/ti/icssg/icssg_classifier.c +++ b/drivers/net/ethernet/ti/icssg/icssg_classifier.c @@ -517,7 +517,7 @@ void icssg_ft3_hsr_configurations(struct regmap *miig_rt, int slice, regmap_write(miig_rt, RX_CLASS_N_REG(slice, CLASSIFIER_PTP_DUP, RX_CLASS_AND_EN), RX_CLASS_DISABLE); - regmap_write(miig_rt, RX_CLASS_OR_REG(slice, CLASSIFIER_PTP_DUP, RX_CLASS_OR_EN), + regmap_write(miig_rt, RX_CLASS_OR_REG(slice, CLASSIFIER_PTP_DUP, RX_CLASS_AND_EN), RX_CLASS_OR_DUP_PTP); regmap_write(miig_rt, RX_CLASS_GATES_N_REG(slice, CLASSIFIER_PTP_DUP), RX_CLASS_GATE_PTP); @@ -525,7 +525,7 @@ void icssg_ft3_hsr_configurations(struct regmap *miig_rt, int slice, if (prueth->hsr_prp_version != PRP_V1) { regmap_write(miig_rt, RX_CLASS_N_REG(slice, CLASSIFIER_HSR_TAG, RX_CLASS_AND_EN), RX_CLASS_DISABLE); - regmap_write(miig_rt, RX_CLASS_OR_REG(slice, CLASSIFIER_HSR_TAG, RX_CLASS_OR_EN), + regmap_write(miig_rt, RX_CLASS_OR_REG(slice, CLASSIFIER_HSR_TAG, RX_CLASS_AND_EN), RX_CLASS_OR_HSR_TAG); regmap_write(miig_rt, RX_CLASS_GATES_N_REG(slice, CLASSIFIER_HSR_TAG), RX_CLASS_GATE_PTP); base-commit: 89fe91c65992a37863241e35aec151210efc53ce -- 2.34.1