Re: [PATCH net-next v3 18/19] net: ravb: Do not apply RX CSUM settings to hardware if the interface is down

From: Sergey Shtylyov
Date: Mon Jan 08 2024 - 15:36:58 EST


On 1/8/24 11:34 PM, Sergey Shtylyov wrote:
[...]

>> From: Claudiu Beznea <claudiu.beznea.uj@xxxxxxxxxxxxxx>
>>
>> Do not apply the RX CSUM settings to hardware if the interface is down. In
>> case runtime PM is enabled, and while the interface is down, the IP will be
>> in reset mode (as for some platforms disabling the clocks will switch the
>> IP to reset mode, which will lead to losing registers content) and applying
>> settings in reset mode is not an option. Instead, cache the RX CSUM
>> settings and apply them in ravb_open() though ravb_emac_init().
>>
>> Commit prepares for the addition of runtime PM.
>>
>> Signed-off-by: Claudiu Beznea <claudiu.beznea.uj@xxxxxxxxxxxxxx>
> [...]
>
>> diff --git a/drivers/net/ethernet/renesas/ravb_main.c b/drivers/net/ethernet/renesas/ravb_main.c
>> index 168b6208db37..e909960fbc30 100644
>> --- a/drivers/net/ethernet/renesas/ravb_main.c
>> +++ b/drivers/net/ethernet/renesas/ravb_main.c
>> @@ -2342,6 +2342,9 @@ static void ravb_set_rx_csum(struct net_device *ndev, bool enable)
>> struct ravb_private *priv = netdev_priv(ndev);
>> unsigned long flags;
>>
>> + if (!(ndev->flags & IFF_UP))
>
> Well, I guess it's even OK to even write EDCMR in the reset mode... BUT

Well, I guess it's even OK to write ECMR in the reset mode... :-)

> again, won't this race with pm_runtime_put_autosuspend() when its call gets
> added to ravb_close()?

[...]

MBR, Sergey