[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20151202173525.GN2355@nanopsycho.orion>
Date: Wed, 2 Dec 2015 18:35:25 +0100
From: Jiri Pirko <jiri@...nulli.us>
To: David Miller <davem@...emloft.net>
Cc: gerlitz.or@...il.com, netdev@...r.kernel.org, idosch@...lanox.com,
eladr@...lanox.com, yotamg@...lanox.com, ogerlitz@...lanox.com
Subject: Re: [patch net-next 24/26] mlxsw: spectrum: Implement LAG port
join/leave
Wed, Dec 02, 2015 at 06:30:07PM CET, davem@...emloft.net wrote:
>From: Or Gerlitz <gerlitz.or@...il.com>
>Date: Wed, 2 Dec 2015 07:47:51 +0200
>
>> On Tue, Dec 1, 2015 at 3:49 PM, Jiri Pirko <jiri@...nulli.us> wrote:
>>> Implement basic procedures for joining/leaving port to/from LAG. That
>>> includes HW setup of collector, core LAG mapping setup.
>>>
>>> Signed-off-by: Jiri Pirko <jiri@...lanox.com>
>>> ---
>>> drivers/net/ethernet/mellanox/mlxsw/spectrum.c | 284 +++++++++++++++++++++++--
>>> drivers/net/ethernet/mellanox/mlxsw/spectrum.h | 35 ++-
>>> 2 files changed, 302 insertions(+), 17 deletions(-)
>>>
>>> --- a/drivers/net/ethernet/mellanox/mlxsw/spectrum.c
>>> +++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum.c
>>
>> [...]
>>
>>> +static int mlxsw_sp_port_lag_leave(struct mlxsw_sp_port *mlxsw_sp_port,
>>> + struct net_device *lag_dev)
>>> +{
>>> + struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
>>> + struct mlxsw_sp_upper *lag;
>>> + u16 lag_id = mlxsw_sp_port->lag_id;
>>> + int err;
>>> +
>>> + if (!mlxsw_sp_port->lagged)
>>> + return 0;
>>> + lag = mlxsw_sp_lag_get(mlxsw_sp, lag_id);
>>> + BUG_ON(lag->ref_count == 0);
>>
>> is this a must to crash the system here? can't we do something less drastic?
>
>Indeed, please use WARN_ON() and return an error or perform some other kind of
>recovery operation.
>
>BUG_ON() is bad and is only to ever be used when the kernel's
>continued operation is absolutely impossible.
Fair enough. Will change.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists