[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <fb332a94-9983-70b1-4a02-da3c31c68e29@plvision.eu>
Date: Thu, 3 Aug 2023 12:28:36 +0300
From: Taras Chornyi <taras.chornyi@...ision.eu>
To: Jonas Gorski <jonas.gorski@...dn.de>,
"David S. Miller" <davem@...emloft.net>,
Eric Dumazet <edumazet@...gle.com>,
Jakub Kicinski <kuba@...nel.org>,
Paolo Abeni <pabeni@...hat.com>, Andrew Lunn <andrew@...n.ch>,
Vadym Kochan <vkochan@...vell.com>
Cc: netdev@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] prestera: fix fallback to previous version on same major
version
> Fix this by inverting the check to that we aren't yet at the previous
> version, and also check the minor version.
>
> This also catches the case where both versions are the same, as it was
> after commit bb5dbf2cc64d ("net: marvell: prestera: add firmware v4.0
> support").
>
> With this fix applied:
>
> [ 88.499622] Prestera DX 0000:01:00.0: missing latest mrvl/prestera/mvsw_prestera_fw-v4.1.img firmware, fall-back to previous 4.0 version
> [ 88.511995] Prestera DX 0000:01:00.0: failed to request previous firmware: mrvl/prestera/mvsw_prestera_fw-v4.0.img
> [ 88.522403] Prestera DX: probe of 0000:01:00.0 failed with error -2
>
> Fixes: 47f26018a414 ("net: marvell: prestera: try to load previous fw version")
> Signed-off-by: Jonas Gorski <jonas.gorski@...dn.de>
> ---
> drivers/net/ethernet/marvell/prestera/prestera_pci.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/net/ethernet/marvell/prestera/prestera_pci.c b/drivers/net/ethernet/marvell/prestera/prestera_pci.c
> index f328d957b2db..35857dc19542 100644
> --- a/drivers/net/ethernet/marvell/prestera/prestera_pci.c
> +++ b/drivers/net/ethernet/marvell/prestera/prestera_pci.c
> @@ -727,7 +727,8 @@ static int prestera_fw_get(struct prestera_fw *fw)
>
> err = request_firmware_direct(&fw->bin, fw_path, fw->dev.dev);
> if (err) {
> - if (ver_maj == PRESTERA_SUPP_FW_MAJ_VER) {
> + if (ver_maj != PRESTERA_PREV_FW_MAJ_VER ||
> + ver_min != PRESTERA_PREV_FW_MIN_VER) {
> ver_maj = PRESTERA_PREV_FW_MAJ_VER;
> ver_min = PRESTERA_PREV_FW_MIN_VER;
>
Acked-by: Taras Chornyi <taras.chornyi@...ision.eu>
Powered by blists - more mailing lists