1
0
Fork 0
mirror of synced 2025-03-06 20:59:54 +01:00
linux/drivers/net/ethernet/marvell/prestera
Jonas Gorski b755c25fbc prestera: fix fallback to previous version on same major version
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 bb5dbf2cc6 ("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: 47f26018a4 ("net: marvell: prestera: try to load previous fw version")
Signed-off-by: Jonas Gorski <jonas.gorski@bisdn.de>
Acked-by: Elad Nachman <enachman@marvell.com>
Reviewed-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Acked-by: Taras Chornyi <taras.chornyi@plvision.eu>
Link: https://lore.kernel.org/r/20230802092357.163944-1-jonas.gorski@bisdn.de
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2023-08-03 10:56:49 -07:00
..
Kconfig net: marvell: prestera: add phylink support 2022-07-20 10:24:40 +01:00
Makefile net: prestera: acl: extract matchall logic into a separate file 2022-08-26 10:04:54 +01:00
prestera.h net: marvell: prestera: Propagate nh state from hw to kernel 2022-10-03 17:14:53 -07:00
prestera_acl.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2022-10-03 17:44:18 -07:00
prestera_acl.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2022-10-03 17:44:18 -07:00
prestera_counter.c net: prestera: add counter HW API 2021-11-30 12:26:01 +00:00
prestera_counter.h net: prestera: add counter HW API 2021-11-30 12:26:01 +00:00
prestera_devlink.c net: devlink: let the core report the driver name instead of the drivers 2022-11-30 21:49:38 -08:00
prestera_devlink.h net: remove unused ndo_get_devlink_port 2022-11-03 20:48:36 -07:00
prestera_dsa.c net: marvell: prestera: devlink: add traps/groups implementation 2021-06-14 13:04:25 -07:00
prestera_dsa.h net: marvell: prestera: devlink: add traps/groups implementation 2021-06-14 13:04:25 -07:00
prestera_ethtool.c net: ethernet: move from strlcpy with unused retval to strscpy 2022-08-31 14:11:26 -07:00
prestera_ethtool.h net: marvell: prestera: add phylink support 2022-07-20 10:24:40 +01:00
prestera_flow.c net: prestera: manage matchall and flower priorities 2022-08-26 10:04:54 +01:00
prestera_flow.h net: prestera: manage matchall and flower priorities 2022-08-26 10:04:54 +01:00
prestera_flower.c flow_offload: Reject matching on layer 2 miss 2023-05-30 23:37:00 -07:00
prestera_flower.h net: prestera: manage matchall and flower priorities 2022-08-26 10:04:54 +01:00
prestera_hw.c net: marvell: prestera: Add router nexthops ABI 2022-10-03 17:14:52 -07:00
prestera_hw.h net: marvell: prestera: Add router nexthops ABI 2022-10-03 17:14:52 -07:00
prestera_main.c net: prestera: update PCS driver to use neg_mode 2023-06-22 19:41:01 -07:00
prestera_matchall.c prestera: matchall: do not rollback if rule exists 2022-10-07 08:48:34 +01:00
prestera_matchall.h net: prestera: manage matchall and flower priorities 2022-08-26 10:04:54 +01:00
prestera_pci.c prestera: fix fallback to previous version on same major version 2023-08-03 10:56:49 -07:00
prestera_router.c net: marvell: prestera: Fix a NULL vs IS_ERR() check in some functions 2022-11-29 12:29:46 +01:00
prestera_router_hw.c net: marvell: prestera: Fix a NULL vs IS_ERR() check in some functions 2022-11-29 12:29:46 +01:00
prestera_router_hw.h net: marvell: prestera: Add length macros for prestera_ip_addr 2022-10-03 17:14:53 -07:00
prestera_rxtx.c net: marvell: prestera: fix memory leak in prestera_rxtx_switch_init() 2022-11-08 17:19:23 -08:00
prestera_rxtx.h net: marvell: prestera: Add driver for Prestera family ASIC devices 2020-09-17 16:35:46 -07:00
prestera_span.c net: prestera: span: do not unbind things things that were never bound 2022-10-10 17:59:53 -07:00
prestera_span.h net: prestera: add support for egress traffic mirroring 2022-08-26 10:04:54 +01:00
prestera_switchdev.c net: marvell: prestera: implement br_port_locked flag offloading 2022-08-24 12:55:47 +01:00
prestera_switchdev.h net: bridge: switchdev: let drivers inform which bridge ports are offloaded 2021-07-22 00:26:23 -07:00