> 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.

Reply via email to