Re: [PATCH v1 2/2] net: dsa: rtl8366rb: Quick fix to work with fw_devlink=on

Alvin Šipraga
2021-08-26T11:29:07Z

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@google.com>

With the caveat that it's a test with my RFC rtl8365mb subdriver...

Tested-by: Alvin Šipraga <alsi@bang-olufsen.dk>

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;
>