RE: [EXTERNAL] [PATCH net-next v2 1/3] net: prestera: ignore duplicate RIF destruction events

Elad Nachman <[email protected]> Thu, 30 Jul 2026 17:49:36 +0000
Newsgroups org.kernel.vger.linux-wireless,org.kernel.vger.linux-kernel,org.kernel.vger.netdev
Message-ID <CH0PR18MB4244230A2BE15899162DBBE2DBC92@CH0PR18MB4244.namprd18.prod.outlook.com>
>
>
> From: Yuyang Huang <[email protected]>
> Sent: Saturday, July 11, 2026 3:54 AM
> To: Yuyang Huang <[email protected]>
> Cc: David S. Miller <[email protected]>; Andrew Lunn <[email protected]>; David Ahern <[email protected]>; Elad Nachman <[email protected]>; Eric Dumazet <[email protected]>; Ido Schimmel <[email protected]>; Jakub Kicinski <[email protected]>; Johannes Berg <[email protected]>; Paolo Abeni <[email protected]>; Simon Horman <[email protected]>; [email protected]; [email protected]; [email protected]; Kuniyuki Iwashima <[email protected]>
> Subject: [EXTERNAL] [PATCH net-next v2 1/3] net: prestera: ignore duplicate RIF destruction events
>
> During address teardown, the inetaddr notifier may be called multiple
> times for the same interface. Ignore NETDEV_DOWN events if the RIF has
> already been destroyed, rather than returning -EEXIST, which aborts the
> notifier chain.
>
> Cc: Ido Schimmel <mailto:[email protected]>
> Cc: Kuniyuki Iwashima <mailto:[email protected]>
> Signed-off-by: Yuyang Huang <mailto:[email protected]>
> ---
>  drivers/net/ethernet/marvell/prestera/prestera_router.c | 6 ++----
>  1 file changed, 2 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/net/ethernet/marvell/prestera/prestera_router.c b/drivers/net/ethernet/marvell/prestera/prestera_router.c
> index b036b173a308..0c4f462baa6e 100644
> --- a/drivers/net/ethernet/marvell/prestera/prestera_router.c
> +++ b/drivers/net/ethernet/marvell/prestera/prestera_router.c
> @@ -1302,10 +1302,8 @@ static int __prestera_inetaddr_port_event(struct net_device *port_dev,
>               dev_hold(port_dev);
>               break;
>       case NETDEV_DOWN:
> -             if (!re) {
> -                     NL_SET_ERR_MSG_MOD(extack, "Can't find RIF");
> -                     return -EEXIST;
> -             }
> +             if (!re)
> +                     return 0;
>               prestera_rif_entry_destroy(port->sw, re);
>               dev_put(port_dev);
>               break;
> --
> 2.55.0.795.g602f6c329a-goog
>

Acked-by: Elad Nachman <[email protected]>