net: ti: icssg-prueth: Fix start counter for ft1 filter
authorMD Danish Anwar <danishanwar@ti.com>
Mon, 27 May 2024 06:30:15 +0000 (12:00 +0530)
committerPaolo Abeni <pabeni@redhat.com>
Tue, 28 May 2024 13:29:52 +0000 (15:29 +0200)
The start counter for FT1 filter is wrongly set to 0 in the driver.
FT1 is used for source address violation (SAV) check and source address
starts at Byte 6 not Byte 0. Fix this by changing start counter to
ETH_ALEN in icssg_ft1_set_mac_addr().

Fixes: e9b4ece7d74b ("net: ti: icssg-prueth: Add Firmware config and classification APIs.")
Signed-off-by: MD Danish Anwar <danishanwar@ti.com>
Link: https://lore.kernel.org/r/20240527063015.263748-1-danishanwar@ti.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
drivers/net/ethernet/ti/icssg/icssg_classifier.c

index 79ba47bb3602ec21c435cceac66bdc291fa270a3..f7d21da1a0fb62b0112019b6600f21971ce98adb 100644 (file)
@@ -455,7 +455,7 @@ void icssg_ft1_set_mac_addr(struct regmap *miig_rt, int slice, u8 *mac_addr)
 {
        const u8 mask_addr[] = { 0, 0, 0, 0, 0, 0, };
 
-       rx_class_ft1_set_start_len(miig_rt, slice, 0, 6);
+       rx_class_ft1_set_start_len(miig_rt, slice, ETH_ALEN, ETH_ALEN);
        rx_class_ft1_set_da(miig_rt, slice, 0, mac_addr);
        rx_class_ft1_set_da_mask(miig_rt, slice, 0, mask_addr);
        rx_class_ft1_cfg_set_type(miig_rt, slice, 0, FT1_CFG_TYPE_EQ);