Hi Saravana, From looking at the code, the Marvell DSA driver mv88e6xxx may also suffer from the same problem if fw_devlink=on. Maybe somebody (Andrew?) could test so that you know whether include a simlar patch to that driver in your series. Other drivers may be effected too - as Andrew said in the other thread, this is not an uncommon pattern for DSA drivers. On 8/26/21 9:45 AM, Saravana Kannan wrote: > This is just a quick fix to make this driver work with fw_devlink=on. > The proper fix might need a significant amount of rework of the driver > of the framework to use a component device model. > > Signed-off-by: Saravana Kannan <saravanak@xxxxxxxxxx> With the caveat that it's a test with my RFC rtl8365mb subdriver... Tested-by: Alvin Šipraga <alsi@xxxxxxxxxxxxxxx> Kind regards, Alvin > --- > drivers/net/dsa/realtek-smi-core.c | 7 +++++++ > 1 file changed, 7 insertions(+) > > diff --git a/drivers/net/dsa/realtek-smi-core.c b/drivers/net/dsa/realtek-smi-core.c > index 8e49d4f85d48..f79c174f4954 100644 > --- a/drivers/net/dsa/realtek-smi-core.c > +++ b/drivers/net/dsa/realtek-smi-core.c > @@ -394,6 +394,13 @@ static int realtek_smi_probe(struct platform_device *pdev) > var = of_device_get_match_data(dev); > np = dev->of_node; > > + /* This driver assumes the child PHYs would be probed successfully > + * before this functions returns. That's not a valid assumption, but > + * let fw_devlink know so that this driver continues to function with > + * fw_devlink=on. > + */ > + np->fwnode.flags |= FWNODE_FLAG_BROKEN_PARENT; > + > smi = devm_kzalloc(dev, sizeof(*smi) + var->chip_data_sz, GFP_KERNEL); > if (!smi) > return -ENOMEM; >