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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 8/26/21 7:26 PM, Saravana Kannan wrote:
> 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?

Yes, both statements are correct.

	Alvin

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




[Index of Archives]     [Linux IBM ACPI]     [Linux Power Management]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux