Re: [PATCH net-next v2 19/21] net: ravb: Do not set promiscuous mode if the interface is down

From: claudiu beznea
Date: Sun Dec 17 2023 - 09:02:27 EST




On 16.12.2023 22:16, Sergey Shtylyov wrote:
> On 12/14/23 2:45 PM, Claudiu wrote:
>
>> From: Claudiu Beznea <claudiu.beznea.uj@xxxxxxxxxxxxxx>
>>
>> Do not allow setting promiscuous mode if the interface is down. In case
>> runtime PM is enabled, and while interface is down, the IP will be in reset
>> mode (as for some platforms disabling/enabling the clocks will switch the
>> IP to standby mode which will lead to losing registers' content).
>
> Register.
> Have this issue actually occurred for you?
>
>> 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 1995cf7ff084..633346b6cd7c 100644
>> --- a/drivers/net/ethernet/renesas/ravb_main.c
>> +++ b/drivers/net/ethernet/renesas/ravb_main.c
>> @@ -2164,6 +2164,9 @@ static void ravb_set_rx_mode(struct net_device *ndev)
>> struct ravb_private *priv = netdev_priv(ndev);
>> unsigned long flags;
>>
>> + if (!netif_running(ndev))
>
> Seems racy as well...

It is also called with rtnl_mutex locked at least though __dev_change_flags().

>
>> + return;
>
> Hm, sh_eth.c doesn't have such check -- perhaps should be fixed
> as well...
>
> [...]
>
> MBR, Sergey