From: Ioana Ciornei Date: Tue, 14 Jul 2020 13:34:29 +0000 (+0300) Subject: staging: dpaa2-ethsw: disable switch ports are probe time X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=03ad6de9bb3e6e48b2ab87226f545f8a301017fa;p=linux.git staging: dpaa2-ethsw: disable switch ports are probe time The MC firmware will enable the switch interfaces at DPSW creation without waiting for an 'ifconfig up' on the switch interfaces. When this happens, the states held by the Linux software vs the firmware are not in sync. Make sure to disable the switch ports at probe time to not encounter this issue. Signed-off-by: Ioana Ciornei Link: https://lore.kernel.org/r/20200714133431.17532-5-ioana.ciornei@nxp.com Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/staging/fsl-dpaa2/ethsw/ethsw.c b/drivers/staging/fsl-dpaa2/ethsw/ethsw.c index a1917842536e0..f283ce195c1ea 100644 --- a/drivers/staging/fsl-dpaa2/ethsw/ethsw.c +++ b/drivers/staging/fsl-dpaa2/ethsw/ethsw.c @@ -1672,6 +1672,10 @@ static int ethsw_probe(struct fsl_mc_device *sw_dev) goto err_free_ports; } + /* Make sure the switch ports are disabled at probe time */ + for (i = 0; i < ethsw->sw_attr.num_ifs; i++) + dpsw_if_disable(ethsw->mc_io, 0, ethsw->dpsw_handle, i); + /* Setup IRQs */ err = ethsw_setup_irqs(sw_dev); if (err)