kernel: set vlan mc for rtl8367d family chips
authorMieczyslaw Nalewaj <namiltd@yahoo.com>
Sun, 21 Jul 2024 21:00:59 +0000 (23:00 +0200)
committerHauke Mehrtens <hauke@hauke-m.de>
Thu, 29 Aug 2024 18:50:01 +0000 (20:50 +0200)
Set vlan mc for rtl8367d family chips

Co-authored-by: Serge Vasilugin <vasilugin@yandex.ru>
Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/14804
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
target/linux/generic/files/drivers/net/phy/rtl8367b.c

index 0f93e95a6ff417402bc5a13954870eba67278b9f..33a40f5929bd58bc5e59ce473be119dd1fd23a0c 100644 (file)
@@ -1040,7 +1040,7 @@ static int rtl8367b_set_vlan_mc(struct rtl8366_smi *smi, u32 index,
            vlanmc->priority > RTL8367B_PRIORITYMAX ||
            vlanmc->member > RTL8367B_VLAN_MC0_MEMBER_MASK ||
            vlanmc->untag > RTL8367B_UNTAG_MASK ||
-           vlanmc->fid > RTL8367B_FIDMAX)
+           vlanmc->fid > ((smi->rtl8367b_chip >= RTL8367B_CHIP_RTL8367S_VB) ? RTL8367D_FIDMAX : RTL8367B_FIDMAX))
                return -EINVAL;
 
        data[0] = (vlanmc->member & RTL8367B_VLAN_MC0_MEMBER_MASK) <<