net: dsa: Fix type was not set for devlink port
authorMaxim Kochetkov <fido_max@inbox.ru>
Mon, 29 Mar 2021 15:30:16 +0000 (18:30 +0300)
committerDavid S. Miller <davem@davemloft.net>
Mon, 29 Mar 2021 20:49:04 +0000 (13:49 -0700)
commitfb6ec87f7229b92baa81b35cbc76f2626d5bfadb
treee8f7e2d16d95cc0bb122f95aacffb56f8c1bb859
parentbff5b62585123823842833ab20b1c0a7fa437f8c
net: dsa: Fix type was not set for devlink port

If PHY is not available on DSA port (described at devicetree but absent or
failed to detect) then kernel prints warning after 3700 secs:

[ 3707.948771] ------------[ cut here ]------------
[ 3707.948784] Type was not set for devlink port.
[ 3707.948894] WARNING: CPU: 1 PID: 17 at net/core/devlink.c:8097 0xc083f9d8

We should unregister the devlink port as a user port and
re-register it as an unused port before executing "continue" in case of
dsa_port_setup error.

Fixes: 86f8b1c01a0a ("net: dsa: Do not make user port errors fatal")
Signed-off-by: Maxim Kochetkov <fido_max@inbox.ru>
Reviewed-by: Vladimir Oltean <olteanv@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/dsa/dsa2.c