[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID:
<DM6PR12MB451625174F9F4D445BF936F9D8F0A@DM6PR12MB4516.namprd12.prod.outlook.com>
Date: Thu, 23 Oct 2025 06:36:03 +0000
From: Danielle Ratson <danieller@...dia.com>
To: Johannes Eigner <johannes.eigner@...berle.de>, "netdev@...r.kernel.org"
<netdev@...r.kernel.org>
CC: Michal Kubecek <mkubecek@...e.cz>, Stephan Wurm <stephan.wurm@...berle.de>
Subject: RE: [PATCH ethtool v2 1/2] sfpid: Fix JSON output of SFP diagnostics
> -----Original Message-----
> From: Johannes Eigner <johannes.eigner@...berle.de>
> Sent: Wednesday, 22 October 2025 17:53
> To: netdev@...r.kernel.org
> Cc: Michal Kubecek <mkubecek@...e.cz>; Danielle Ratson
> <danieller@...dia.com>; Stephan Wurm <stephan.wurm@...berle.de>;
> Johannes Eigner <johannes.eigner@...berle.de>
> Subject: [PATCH ethtool v2 1/2] sfpid: Fix JSON output of SFP diagnostics
>
> Close and delete JSON object only after output of SFP diagnostics so
> that it is also JSON formatted. If the JSON object is deleted too early,
> some of the output will not be JSON formatted, resulting in mixed output
> formats.
>
> Fixes: 703bfee13649 (ethtool: Enable JSON output support for SFF8079 and
> SFF8472 modules)
> Signed-off-by: Johannes Eigner <johannes.eigner@...berle.de>
> ---
> sfpid.c | 9 +++++----
> 1 file changed, 5 insertions(+), 4 deletions(-)
>
> diff --git a/sfpid.c b/sfpid.c
> index 62acb4f..9d09256 100644
> --- a/sfpid.c
> +++ b/sfpid.c
> @@ -520,22 +520,23 @@ int sff8079_show_all_nl(struct cmd_context *ctx)
> new_json_obj(ctx->json);
> open_json_object(NULL);
> sff8079_show_all_common(buf);
> - close_json_object();
> - delete_json_obj();
>
> /* Finish if A2h page is not present */
> if (!(buf[92] & (1 << 6)))
> - goto out;
> + goto out_json;
>
> /* Read A2h page */
> ret = sff8079_get_eeprom_page(ctx, SFF8079_I2C_ADDRESS_HIGH,
> buf + ETH_MODULE_SFF_8079_LEN);
> if (ret) {
> fprintf(stderr, "Failed to read Page A2h.\n");
> - goto out;
> + goto out_json;
> }
>
> sff8472_show_all(buf);
> +out_json:
> + close_json_object();
> + delete_json_obj();
> out:
> free(buf);
>
>
> --
> 2.43.0
Reviewed-by: Danielle Ratson <danieller@...dia.com>
Powered by blists - more mailing lists