enetc: Remove the imdio bus on PF probe bailout
authorClaudiu Manoil <claudiu.manoil@nxp.com>
Wed, 22 Jul 2020 12:38:48 +0000 (15:38 +0300)
committerDavid S. Miller <davem@davemloft.net>
Thu, 23 Jul 2020 00:32:07 +0000 (17:32 -0700)
commitc6dd6488acd105f4fde9b4d289aaef5669b12c76
tree420fa803ab3121fcdfc487d728769d5e531d4860
parent7979a7d2abb831371f9e75ab88d94dda59dfcf96
enetc: Remove the imdio bus on PF probe bailout

enetc_imdio_remove() is missing from the enetc_pf_probe()
bailout path. Not surprisingly because enetc_setup_serdes()
is registering the imdio bus for internal purposes, and it's
not obvious that enetc_imdio_remove() currently performs the
teardown of enetc_setup_serdes().
To fix this, define enetc_teardown_serdes() to wrap
enetc_imdio_remove() (improve code maintenance) and call it
on bailout and remove paths.

Fixes: 975d183ef0ca ("net: enetc: Initialize SerDes for SGMII and USXGMII protocols")
Signed-off-by: Claudiu Manoil <claudiu.manoil@nxp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/freescale/enetc/enetc_pf.c