1
0
Fork 0
mirror of synced 2025-03-06 20:59:54 +01:00
linux/drivers/net/ethernet
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
..
3com 3c589_cs: Fix an error handling path in tc589_probe() 2023-05-22 19:17:58 -07:00
8390 Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2023-05-18 14:39:34 -07:00
actions net: Remove C45 check in C22 only MDIO bus drivers 2023-01-20 18:12:45 -08:00
adaptec
adi net: Replace all spi->chip_select and spi->cs_gpiod references with function call 2023-03-11 12:34:02 +00:00
aeroflex ethernet: aeroflex: fix potential skb leak in greth_init_rings() 2022-12-07 11:45:52 +01:00
agere
alacritech
allwinner
alteon net: alteon: remove unused len variable 2023-04-02 13:43:43 +01:00
altera net: altera_tse: explicitly disable autoscan on the regmap-mdio bus 2023-06-07 13:30:12 -07:00
amazon net: ena: fix shift-out-of-bounds in exponential backoff 2023-07-12 15:57:57 -07:00
amd pds_core: use vmalloc_array and vcalloc 2023-06-27 09:30:23 -07:00
apm
apple net: apple: bmac: don't call dev_kfree_skb() under spin_lock_irqsave() 2022-12-12 09:53:10 +00:00
aquantia net: introduce and use skb_frag_fill_page_desc() 2023-05-13 19:47:56 +01:00
arc net: arc: Make arc_emac_remove() return void 2023-05-19 13:33:28 +01:00
asix net: Replace all spi->chip_select and spi->cs_gpiod references with function call 2023-03-11 12:34:02 +00:00
atheros ethernet: atheros: fix return value check in atl1e_tso_csum() 2023-07-24 15:43:02 -07:00
broadcom bnxt_en: Fix max_mtu setting for multi-buf XDP 2023-08-01 15:04:58 -07:00
brocade bna: Remove error checking for debugfs_create_dir() 2023-07-14 09:09:12 +01:00
cadence net: macb: update PCS driver to use neg_mode 2023-06-22 19:41:02 -07:00
calxeda
cavium Networking changes for 6.5. 2023-06-28 16:43:10 -07:00
chelsio sock: Remove ->sendpage*() in favour of sendmsg(MSG_SPLICE_PAGES) 2023-06-24 15:50:13 -07:00
cirrus net: isa: include net/Space.h 2023-05-17 21:27:30 -07:00
cisco
cortina
davicom spi: Updates for v6.4 2023-04-27 11:02:26 -07:00
dec
dlink
emulex benet: fix return value check in be_lancer_xmit_workarounds() 2023-07-27 10:31:38 +02:00
engleder net/sched: taprio: replace tc_taprio_qopt_offload :: enable with a "cmd" enum 2023-05-31 10:00:30 +01:00
ezchip
faraday net: ftmac100: handle netdev flags IFF_PROMISC and IFF_ALLMULTI 2023-01-18 13:03:40 +00:00
freescale net: fec: tx processing does not call XDP APIs if budget is 0 2023-07-26 21:12:12 -07:00
fujitsu
fungible net: tls: make the offload check helper take skb not socket 2023-06-15 09:01:05 +01:00
google gve: unify driver name usage 2023-07-10 08:29:55 +01:00
hisilicon net: hns3: fix wrong bw weight of disabled tc issue 2023-07-24 09:36:23 +01:00
huawei
i825xx net: ethernet: i825xx: sun3_8256: Add SPDX license identifier 2023-05-16 15:38:07 +02:00
ibm ibmvnic: Do not reset dql stats on NON_FATAL err 2023-06-29 11:12:19 -07:00
intel ice: Fix RDMA VSI removal during queue rebuild 2023-07-31 14:28:21 -07:00
litex net: ethernet: litex: add support for 64 bit stats 2023-06-15 22:56:46 -07:00
marvell prestera: fix fallback to previous version on same major version 2023-08-03 10:56:49 -07:00
mediatek net: ethernet: mtk_eth_soc: always mtk_get_ib1_pkt_type 2023-07-19 21:15:04 -07:00
mellanox net/mlx5e: Set proper IPsec source port in L4 selector 2023-08-02 18:38:42 -07:00
micrel ksz884x: Remove unused functions 2023-04-12 09:38:19 +01:00
microchip net: lan743x: select FIXED_PHY 2023-07-09 11:23:47 +01:00
microsoft v6.5 merge window RDMA pull request 2023-06-29 21:01:17 -07:00
moxa
mscc drivers:net: fix return value check in ocelot_fdma_receive_skb 2023-07-19 12:27:09 +01:00
myricom net: move gso declarations and functions to their own files 2023-06-10 00:11:41 -07:00
natsemi net/sonic: use dma_mapping_error() for error check 2023-03-21 21:29:34 -07:00
neterion ethernet: s2io: don't call dev_kfree_skb() under spin_lock_irqsave() 2022-12-12 09:38:24 +00:00
netronome nfp: clean mc addresses in application firmware when closing port 2023-07-05 10:59:12 -07:00
ni net: ni: drop of_match_ptr for ID table 2023-03-15 08:02:45 +00:00
nvidia forcedeth: Fix an error handling path in nv_probe() 2023-05-22 19:17:28 -07:00
nxp
oki-semi net: pch_gbe: Allow build on MIPS_GENERIC kernel 2023-06-08 19:18:32 -07:00
packetengines
pasemi net: pasemi: Fix return type of pasemi_mac_start_tx() 2023-03-21 13:48:35 +01:00
pensando ionic: remove dead device fail path 2023-07-07 09:14:45 +01:00
qlogic qed: Fix scheduling in a tasklet while getting stats 2023-07-29 17:09:18 +01:00
qualcomm drivers: net: fix return value check in emac_tso_csum() 2023-07-19 12:27:09 +01:00
rdc r6040: Fix kmemleak in probe and remove 2022-12-15 12:48:34 +01:00
realtek Revert "r8169: disable ASPM during NAPI poll" 2023-07-19 21:09:11 -07:00
renesas Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2023-06-15 22:19:41 -07:00
rocker
samsung net: samsung: sxgbe: Make sxgbe_drv_remove() return void 2023-05-12 08:49:49 +01:00
seeq
sfc sfc: fix field-spanning memcpy in selftest 2023-07-31 14:27:53 -07:00
sgi
silan
sis
smsc Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2023-03-30 14:43:03 -07:00
socionext net: netsec: Ignore 'phy-mode' on SynQuacer in DT mode 2023-08-01 14:59:45 -07:00
stmicro net: stmmac: tegra: Properly allocate clock bulk data 2023-07-29 16:59:51 +01:00
sun sunvnet: fix sparc64 build error after gso code split 2023-06-15 22:47:13 -07:00
sunplus ethernet: remove superfluous clearing of phydev 2023-03-22 20:47:27 -07:00
synopsys
tehuti
ti net: ethernet: ti: cpsw_ale: Fix cpsw_ale_get_field()/cpsw_ale_set_field() 2023-07-14 08:36:43 +01:00
toshiba net/ps3_gelic_net: Use dma_mapping_error 2023-03-20 10:20:40 +00:00
tundra
vertexcom
via net: Use of_property_read_bool() for boolean properties 2023-03-16 17:41:28 +00:00
wangxun net: ethernet: Remove repeating expression 2023-07-14 09:11:10 +01:00
wiznet
xilinx net: ll_temac: fix error checking of irq_of_parse_and_map() 2023-08-01 14:38:17 -07:00
xircom xirc2ps_cs: Fix use after free bug in xirc2ps_detach 2023-03-19 10:42:02 +00:00
xscale
dnet.c net: ethernet: dnet: don't call dev_kfree_skb() under spin_lock_irqsave() 2022-12-12 09:56:17 +00:00
dnet.h
ec_bhf.c ethernet: ec_bhf: Remove redundant pci_clear_master 2023-03-24 09:09:28 +00:00
ethoc.c
fealnx.c eth: fealnx: bring back this old driver 2023-03-08 23:22:04 -08:00
jme.c
jme.h
Kconfig net: restore alpha order to Ethernet devices in config 2023-03-09 23:36:28 -08:00
korina.c net: korina: handle clk prepare error in korina_probe() 2023-08-01 14:58:34 -07:00
lantiq_etop.c
lantiq_xrx200.c
Makefile eth: fealnx: bring back this old driver 2023-03-08 23:22:04 -08:00