Message ID | 20200915182229.69529-6-olteanv@gmail.com |
---|---|
State | New |
Headers | show |
Series | Bugfixes in Microsemi Ocelot switch driver | expand |
From: Vladimir Oltean <olteanv@gmail.com> Date: Tue, 15 Sep 2020 21:22:27 +0300 > diff --git a/drivers/net/ethernet/mscc/ocelot_vsc7514.c b/drivers/net/ethernet/mscc/ocelot_vsc7514.c > index 99872f1b7460..91a915d0693f 100644 > --- a/drivers/net/ethernet/mscc/ocelot_vsc7514.c > +++ b/drivers/net/ethernet/mscc/ocelot_vsc7514.c > @@ -1000,7 +1000,10 @@ static int mscc_ocelot_probe(struct platform_device *pdev) > ocelot->vcap_is2_actions = vsc7514_vcap_is2_actions; > ocelot->vcap = vsc7514_vcap_props; > > - ocelot_init(ocelot); > + err = ocelot_init(ocelot); > + if (err) > + return err; > + This also leaks the OF device 'ports' object.
diff --git a/drivers/net/dsa/ocelot/felix.c b/drivers/net/dsa/ocelot/felix.c index a1e1d3824110..f7b43f8d56ed 100644 --- a/drivers/net/dsa/ocelot/felix.c +++ b/drivers/net/dsa/ocelot/felix.c @@ -571,7 +571,10 @@ static int felix_setup(struct dsa_switch *ds) if (err) return err; - ocelot_init(ocelot); + err = ocelot_init(ocelot); + if (err) + return err; + if (ocelot->ptp) { err = ocelot_init_timestamp(ocelot, &ocelot_ptp_clock_info); if (err) { diff --git a/drivers/net/ethernet/mscc/ocelot_vsc7514.c b/drivers/net/ethernet/mscc/ocelot_vsc7514.c index 99872f1b7460..91a915d0693f 100644 --- a/drivers/net/ethernet/mscc/ocelot_vsc7514.c +++ b/drivers/net/ethernet/mscc/ocelot_vsc7514.c @@ -1000,7 +1000,10 @@ static int mscc_ocelot_probe(struct platform_device *pdev) ocelot->vcap_is2_actions = vsc7514_vcap_is2_actions; ocelot->vcap = vsc7514_vcap_props; - ocelot_init(ocelot); + err = ocelot_init(ocelot); + if (err) + return err; + if (ocelot->ptp) { err = ocelot_init_timestamp(ocelot, &ocelot_ptp_clock_info); if (err) {