linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] prestera: fix fallback to previous version on same major version
@ 2023-08-02  9:23 Jonas Gorski
  2023-08-02 10:56 ` [EXT] " Elad Nachman
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Jonas Gorski @ 2023-08-02  9:23 UTC (permalink / raw)
  To: Taras Chornyi, David S. Miller, Eric Dumazet, Jakub Kicinski,
	Paolo Abeni, Andrew Lunn, Vadym Kochan
  Cc: netdev, linux-kernel

When both supported and previous version have the same major version,
and the firmwares are missing, the driver ends in a loop requesting the
same (previous) version over and over again:

    [   76.327413] Prestera DX 0000:01:00.0: missing latest mrvl/prestera/mvsw_prestera_fw-v4.1.img firmware, fall-back to previous 4.0 version
    [   76.339802] Prestera DX 0000:01:00.0: missing latest mrvl/prestera/mvsw_prestera_fw-v4.0.img firmware, fall-back to previous 4.0 version
    [   76.352162] Prestera DX 0000:01:00.0: missing latest mrvl/prestera/mvsw_prestera_fw-v4.0.img firmware, fall-back to previous 4.0 version
    [   76.364502] Prestera DX 0000:01:00.0: missing latest mrvl/prestera/mvsw_prestera_fw-v4.0.img firmware, fall-back to previous 4.0 version
    [   76.376848] Prestera DX 0000:01:00.0: missing latest mrvl/prestera/mvsw_prestera_fw-v4.0.img firmware, fall-back to previous 4.0 version
    [   76.389183] Prestera DX 0000:01:00.0: missing latest mrvl/prestera/mvsw_prestera_fw-v4.0.img firmware, fall-back to previous 4.0 version
    [   76.401522] Prestera DX 0000:01:00.0: missing latest mrvl/prestera/mvsw_prestera_fw-v4.0.img firmware, fall-back to previous 4.0 version
    [   76.413860] Prestera DX 0000:01:00.0: missing latest mrvl/prestera/mvsw_prestera_fw-v4.0.img firmware, fall-back to previous 4.0 version
    [   76.426199] Prestera DX 0000:01:00.0: missing latest mrvl/prestera/mvsw_prestera_fw-v4.0.img firmware, fall-back to previous 4.0 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@bisdn.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;
 
-- 
2.41.0


-- 
BISDN GmbH
Körnerstraße 7-10
10785 Berlin
Germany


Phone: 
+49-30-6108-1-6100


Managing Directors: 
Dr.-Ing. Hagen Woesner, Andreas 
Köpsel


Commercial register: 
Amtsgericht Berlin-Charlottenburg HRB 141569 
B
VAT ID No: DE283257294


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* RE: [EXT] [PATCH] prestera: fix fallback to previous version on same major version
  2023-08-02  9:23 [PATCH] prestera: fix fallback to previous version on same major version Jonas Gorski
@ 2023-08-02 10:56 ` Elad Nachman
  2023-08-03  1:30 ` Jesse Brandeburg
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: Elad Nachman @ 2023-08-02 10:56 UTC (permalink / raw)
  To: Jonas Gorski, Taras Chornyi, David S. Miller, Eric Dumazet,
	Jakub Kicinski, Paolo Abeni, Andrew Lunn, Vadym Kochan [C]
  Cc: netdev, linux-kernel



> -----Original Message-----
> From: Jonas Gorski <jonas.gorski@bisdn.de>
> Sent: Wednesday, August 2, 2023 12:24 PM
> To: Taras Chornyi <taras.chornyi@plvision.eu>; David S. Miller
> <davem@davemloft.net>; Eric Dumazet <edumazet@google.com>; Jakub
> Kicinski <kuba@kernel.org>; Paolo Abeni <pabeni@redhat.com>; Andrew
> Lunn <andrew@lunn.ch>; Vadym Kochan [C] <vkochan@marvell.com>
> Cc: netdev@vger.kernel.org; linux-kernel@vger.kernel.org
> Subject: [EXT] [PATCH] prestera: fix fallback to previous version on same
> major version
> 
> External Email
> 
> ----------------------------------------------------------------------
> When both supported and previous version have the same major version,
> and the firmwares are missing, the driver ends in a loop requesting the same
> (previous) version over and over again:
> 
>     [   76.327413] Prestera DX 0000:01:00.0: missing latest
> mrvl/prestera/mvsw_prestera_fw-v4.1.img firmware, fall-back to previous
> 4.0 version
>     [   76.339802] Prestera DX 0000:01:00.0: missing latest
> mrvl/prestera/mvsw_prestera_fw-v4.0.img firmware, fall-back to previous
> 4.0 version
>     [   76.352162] Prestera DX 0000:01:00.0: missing latest
> mrvl/prestera/mvsw_prestera_fw-v4.0.img firmware, fall-back to previous
> 4.0 version
>     [   76.364502] Prestera DX 0000:01:00.0: missing latest
> mrvl/prestera/mvsw_prestera_fw-v4.0.img firmware, fall-back to previous
> 4.0 version
>     [   76.376848] Prestera DX 0000:01:00.0: missing latest
> mrvl/prestera/mvsw_prestera_fw-v4.0.img firmware, fall-back to previous
> 4.0 version
>     [   76.389183] Prestera DX 0000:01:00.0: missing latest
> mrvl/prestera/mvsw_prestera_fw-v4.0.img firmware, fall-back to previous
> 4.0 version
>     [   76.401522] Prestera DX 0000:01:00.0: missing latest
> mrvl/prestera/mvsw_prestera_fw-v4.0.img firmware, fall-back to previous
> 4.0 version
>     [   76.413860] Prestera DX 0000:01:00.0: missing latest
> mrvl/prestera/mvsw_prestera_fw-v4.0.img firmware, fall-back to previous
> 4.0 version
>     [   76.426199] Prestera DX 0000:01:00.0: missing latest
> mrvl/prestera/mvsw_prestera_fw-v4.0.img firmware, fall-back to previous
> 4.0 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@bisdn.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;
> 
> --
> 2.41.0
> 
> 
> --
> BISDN GmbH
> Körnerstraße 7-10
> 10785 Berlin
> Germany
> 
> 
> Phone:
> +49-30-6108-1-6100
> 
> 
> Managing Directors:
> Dr.-Ing. Hagen Woesner, Andreas
> Köpsel
> 
> 
> Commercial register:
> Amtsgericht Berlin-Charlottenburg HRB 141569
> B
> VAT ID No: DE283257294
> 

Acked-by: Elad Nachman <enachman@marvell.com>


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] prestera: fix fallback to previous version on same major version
  2023-08-02  9:23 [PATCH] prestera: fix fallback to previous version on same major version Jonas Gorski
  2023-08-02 10:56 ` [EXT] " Elad Nachman
@ 2023-08-03  1:30 ` Jesse Brandeburg
  2023-08-03  9:28 ` Taras Chornyi
  2023-08-03 18:10 ` patchwork-bot+netdevbpf
  3 siblings, 0 replies; 5+ messages in thread
From: Jesse Brandeburg @ 2023-08-03  1:30 UTC (permalink / raw)
  To: Jonas Gorski, Taras Chornyi, David S. Miller, Eric Dumazet,
	Jakub Kicinski, Paolo Abeni, Andrew Lunn, Vadym Kochan
  Cc: netdev, linux-kernel

On 8/2/2023 2:23 AM, Jonas Gorski wrote:
> When both supported and previous version have the same major version,
> and the firmwares are missing, the driver ends in a loop requesting the
> same (previous) version over and over again:
> 
>     [   76.327413] Prestera DX 0000:01:00.0: missing latest mrvl/prestera/mvsw_prestera_fw-v4.1.img firmware, fall-back to previous 4.0 version
>     [   76.339802] Prestera DX 0000:01:00.0: missing latest mrvl/prestera/mvsw_prestera_fw-v4.0.img firmware, fall-back to previous 4.0 version
>     [   76.352162] Prestera DX 0000:01:00.0: missing latest mrvl/prestera/mvsw_prestera_fw-v4.0.img firmware, fall-back to previous 4.0 version
>     [   76.364502] Prestera DX 0000:01:00.0: missing latest mrvl/prestera/mvsw_prestera_fw-v4.0.img firmware, fall-back to previous 4.0 version
>     [   76.376848] Prestera DX 0000:01:00.0: missing latest mrvl/prestera/mvsw_prestera_fw-v4.0.img firmware, fall-back to previous 4.0 version
>     [   76.389183] Prestera DX 0000:01:00.0: missing latest mrvl/prestera/mvsw_prestera_fw-v4.0.img firmware, fall-back to previous 4.0 version
>     [   76.401522] Prestera DX 0000:01:00.0: missing latest mrvl/prestera/mvsw_prestera_fw-v4.0.img firmware, fall-back to previous 4.0 version
>     [   76.413860] Prestera DX 0000:01:00.0: missing latest mrvl/prestera/mvsw_prestera_fw-v4.0.img firmware, fall-back to previous 4.0 version
>     [   76.426199] Prestera DX 0000:01:00.0: missing latest mrvl/prestera/mvsw_prestera_fw-v4.0.img firmware, fall-back to previous 4.0 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@bisdn.de>

Reviewed-by: Jesse Brandeburg <jesse.brandeburg@intel.com>




^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] prestera: fix fallback to previous version on same major version
  2023-08-02  9:23 [PATCH] prestera: fix fallback to previous version on same major version Jonas Gorski
  2023-08-02 10:56 ` [EXT] " Elad Nachman
  2023-08-03  1:30 ` Jesse Brandeburg
@ 2023-08-03  9:28 ` Taras Chornyi
  2023-08-03 18:10 ` patchwork-bot+netdevbpf
  3 siblings, 0 replies; 5+ messages in thread
From: Taras Chornyi @ 2023-08-03  9:28 UTC (permalink / raw)
  To: Jonas Gorski, David S. Miller, Eric Dumazet, Jakub Kicinski,
	Paolo Abeni, Andrew Lunn, Vadym Kochan
  Cc: netdev, linux-kernel


> 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@bisdn.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@plvision.eu>


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] prestera: fix fallback to previous version on same major version
  2023-08-02  9:23 [PATCH] prestera: fix fallback to previous version on same major version Jonas Gorski
                   ` (2 preceding siblings ...)
  2023-08-03  9:28 ` Taras Chornyi
@ 2023-08-03 18:10 ` patchwork-bot+netdevbpf
  3 siblings, 0 replies; 5+ messages in thread
From: patchwork-bot+netdevbpf @ 2023-08-03 18:10 UTC (permalink / raw)
  To: Jonas Gorski
  Cc: taras.chornyi, davem, edumazet, kuba, pabeni, andrew, vkochan,
	netdev, linux-kernel

Hello:

This patch was applied to netdev/net.git (main)
by Jakub Kicinski <kuba@kernel.org>:

On Wed,  2 Aug 2023 11:23:56 +0200 you wrote:
> When both supported and previous version have the same major version,
> and the firmwares are missing, the driver ends in a loop requesting the
> same (previous) version over and over again:
> 
>     [   76.327413] Prestera DX 0000:01:00.0: missing latest mrvl/prestera/mvsw_prestera_fw-v4.1.img firmware, fall-back to previous 4.0 version
>     [   76.339802] Prestera DX 0000:01:00.0: missing latest mrvl/prestera/mvsw_prestera_fw-v4.0.img firmware, fall-back to previous 4.0 version
>     [   76.352162] Prestera DX 0000:01:00.0: missing latest mrvl/prestera/mvsw_prestera_fw-v4.0.img firmware, fall-back to previous 4.0 version
>     [   76.364502] Prestera DX 0000:01:00.0: missing latest mrvl/prestera/mvsw_prestera_fw-v4.0.img firmware, fall-back to previous 4.0 version
>     [   76.376848] Prestera DX 0000:01:00.0: missing latest mrvl/prestera/mvsw_prestera_fw-v4.0.img firmware, fall-back to previous 4.0 version
>     [   76.389183] Prestera DX 0000:01:00.0: missing latest mrvl/prestera/mvsw_prestera_fw-v4.0.img firmware, fall-back to previous 4.0 version
>     [   76.401522] Prestera DX 0000:01:00.0: missing latest mrvl/prestera/mvsw_prestera_fw-v4.0.img firmware, fall-back to previous 4.0 version
>     [   76.413860] Prestera DX 0000:01:00.0: missing latest mrvl/prestera/mvsw_prestera_fw-v4.0.img firmware, fall-back to previous 4.0 version
>     [   76.426199] Prestera DX 0000:01:00.0: missing latest mrvl/prestera/mvsw_prestera_fw-v4.0.img firmware, fall-back to previous 4.0 version
>     ...
> 
> [...]

Here is the summary with links:
  - prestera: fix fallback to previous version on same major version
    https://git.kernel.org/netdev/net/c/b755c25fbcd5

You are awesome, thank you!
-- 
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html



^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2023-08-03 18:10 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-08-02  9:23 [PATCH] prestera: fix fallback to previous version on same major version Jonas Gorski
2023-08-02 10:56 ` [EXT] " Elad Nachman
2023-08-03  1:30 ` Jesse Brandeburg
2023-08-03  9:28 ` Taras Chornyi
2023-08-03 18:10 ` patchwork-bot+netdevbpf

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).