> I am not looking for a hack-around, I am looking for a proper solution. >
As you have the hardware you can try something to correct the problem. The change was introduced in commit 9421c9015047 on Nov 15. In the net-next tree it is about -42 commits. git log -42 cpsw.c git diff f5b589488ea5 cpsw.c shows the changes. As explained in the commit log this corrects the problem of sending a tagged frame and the VLAN tag is removed by the hardware. I do not think the implementation is 100% correct but maybe it is too much to check for VLAN tag every time a frame is sent. The change assumes a VLAN tag is always there and it may be dropped. The MAC controller uses VLAN for its dual MAC function, but it is added automatically and not done at system level. If the VLAN tag is removed all the time it is pointless to put it in the first place by software. The connected switch also has some functions to manipulate the VLAN tag. Are you actively using the second Ethernet device which is not connected to the switch and is using VLAN? There should be a way to use device tree to specify which function to enable.