On Thu, Aug 26, 2021 at 4:29 AM Alvin Šipraga <ALSI@xxxxxxxxxxxxxxx> wrote: > > 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> Thanks for testing. And just to be sure we are all on the same page: Without this patch the PHYs get handled by the Generic PHY driver. With this patch, the PHYs are handled by their specific driver. Correct? -Saravana > > 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; > >