[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <YtgYN3vi6MyTTT0K@nanopsycho>
Date: Wed, 20 Jul 2022 16:59:03 +0200
From: Jiri Pirko <jiri@...nulli.us>
To: Ido Schimmel <idosch@...dia.com>
Cc: netdev@...r.kernel.org, davem@...emloft.net, kuba@...nel.org,
petrm@...dia.com, pabeni@...hat.com, edumazet@...gle.com,
mlxsw@...dia.com, saeedm@...dia.com, snelson@...sando.io
Subject: Re: [patch net-next v2 05/12] mlxsw: core_linecards: Expose HW
revision and INI version
Wed, Jul 20, 2022 at 02:43:17PM CEST, idosch@...dia.com wrote:
>On Wed, Jul 20, 2022 at 02:27:40PM +0200, Jiri Pirko wrote:
>> Wed, Jul 20, 2022 at 10:56:35AM CEST, idosch@...dia.com wrote:
>> >On Tue, Jul 19, 2022 at 08:48:40AM +0200, Jiri Pirko wrote:
>> >> +int mlxsw_linecard_devlink_info_get(struct mlxsw_linecard *linecard,
>> >> + struct devlink_info_req *req,
>> >> + struct netlink_ext_ack *extack)
>> >> +{
>> >> + char buf[32];
>> >> + int err;
>> >> +
>> >> + mutex_lock(&linecard->lock);
>> >> + if (WARN_ON(!linecard->provisioned)) {
>> >> + err = 0;
>> >
>> >Why not:
>> >
>> >err = -EINVAL;
>> >
>> >?
>>
>> Well, a) this should not happen. No need to push error to the user for
>> this as the rest of the info message is still fine.
>
>Not sure what you mean by "the rest of the info message is still fine".
>Which info message? If the line card is not provisioned, then it
>shouldn't even have a devlink instance and it will not appear in
>"devlink dev info" dump.
>
>I still do not understand why this error is severe enough to print a
>WARNING to the kernel log, but not emit an error code to user space.
As I wrote, WARN_ON was a leftover.
>
>>
>>
>> >
>> >> + goto unlock;
>> >> + }
>> >> +
>> >> + sprintf(buf, "%d", linecard->hw_revision);
>> >> + err = devlink_info_version_fixed_put(req, "hw.revision", buf);
>> >> + if (err)
>> >> + goto unlock;
>> >> +
>> >> + sprintf(buf, "%d", linecard->ini_version);
>> >> + err = devlink_info_version_running_put(req, "ini.version", buf);
>> >> + if (err)
>> >> + goto unlock;
>> >> +
>> >> +unlock:
>> >> + mutex_unlock(&linecard->lock);
>> >> + return err;
>> >> +}
>> >> +
>> >> static int
>> >> mlxsw_linecard_provision_set(struct mlxsw_linecard *linecard, u8 card_type,
>> >> u16 hw_revision, u16 ini_version)
>> >> --
>> >> 2.35.3
>> >>
Powered by blists - more mailing lists