OrangePi_CM5/drivers/net/ethernet/broadcom/bnx2x
Manish Chopra bf5b7aae86 bnx2x: fix built-in kernel driver load failure
[ Upstream commit 424e7834e293936a54fcf05173f2884171adc5a3 ]

Commit b7a49f73059f ("bnx2x: Utilize firmware 7.13.21.0")
added request_firmware() logic in probe() which caused
load failure when firmware file is not present in initrd (below),
as access to firmware file is not feasible during probe.

  Direct firmware load for bnx2x/bnx2x-e2-7.13.15.0.fw failed with error -2
  Direct firmware load for bnx2x/bnx2x-e2-7.13.21.0.fw failed with error -2

This patch fixes this issue by -

1. Removing request_firmware() logic from the probe()
   such that .ndo_open() handle it as it used to handle
   it earlier

2. Given request_firmware() is removed from probe(), so
   driver has to relax FW version comparisons a bit against
   the already loaded FW version (by some other PFs of same
   adapter) to allow different compatible/close enough FWs with which
   multiple PFs may run with (in different environments), as the
   given PF who is in probe flow has no idea now with which firmware
   file version it is going to initialize the device in ndo_open()

Link: https://lore.kernel.org/all/46f2d9d9-ae7f-b332-ddeb-b59802be2bab@molgen.mpg.de/
Reported-by: Paul Menzel <pmenzel@molgen.mpg.de>
Tested-by: Paul Menzel <pmenzel@molgen.mpg.de>
Fixes: b7a49f73059f ("bnx2x: Utilize firmware 7.13.21.0")
Signed-off-by: Manish Chopra <manishc@marvell.com>
Signed-off-by: Ariel Elior <aelior@marvell.com>
Link: https://lore.kernel.org/r/20220316214613.6884-1-manishc@marvell.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-03-23 09:13:28 +01:00
..
Makefile
…
bnx2x.h bnx2x: fix built-in kernel driver load failure 2022-03-23 09:13:28 +01:00
bnx2x_cmn.c bnx2x: fix built-in kernel driver load failure 2022-03-23 09:13:28 +01:00
bnx2x_cmn.h net: remove napi_hash_del() from driver-facing API 2020-09-10 13:08:46 -07:00
bnx2x_dcb.c
…
bnx2x_dcb.h
…
bnx2x_dump.h
…
bnx2x_ethtool.c drivers/net/ethernet: clean up mis-targeted comments 2020-09-25 16:29:00 -07:00
bnx2x_fw_defs.h bnx2x: Utilize firmware 7.13.21.0 2022-01-29 10:26:10 +01:00
bnx2x_fw_file_hdr.h
…
bnx2x_hsi.h bnx2x: Utilize firmware 7.13.21.0 2022-01-29 10:26:10 +01:00
bnx2x_init.h
…
bnx2x_init_ops.h net: bnx2x: fix variable dereferenced before check 2021-11-26 10:39:14 +01:00
bnx2x_link.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
bnx2x_link.h
…
bnx2x_main.c bnx2x: fix built-in kernel driver load failure 2022-03-23 09:13:28 +01:00
bnx2x_mfw_req.h
…
bnx2x_reg.h net/ethernet/broadcom: fix spelling typo 2020-09-24 20:05:48 -07:00
bnx2x_self_test.c
…
bnx2x_sp.c drivers/net/ethernet: clean up mis-targeted comments 2020-09-25 16:29:00 -07:00
bnx2x_sp.h
…
bnx2x_sriov.c bnx2x: Invalidate fastpath HSI version for VFs 2022-01-29 10:26:11 +01:00
bnx2x_sriov.h
…
bnx2x_stats.c
…
bnx2x_stats.h
…
bnx2x_vfpf.c
…
bnx2x_vfpf.h
…