* [PATCH net v2 0/2] octeontx2-af: Bug fixes for KPU profile and VF RX mode
@ 2026-06-23 4:06 nshettyj
2026-06-23 4:06 ` [PATCH net v2 1/2] octeontx2-af: fix VF bringup affecting PF promiscuous state nshettyj
2026-06-23 4:06 ` [PATCH net v2 2/2] octeontx2-af: suppress kpu profile loading warning nshettyj
0 siblings, 2 replies; 4+ messages in thread
From: nshettyj @ 2026-06-23 4:06 UTC (permalink / raw)
To: netdev, linux-kernel
Cc: sgoutham, rkannoth, lcherian, gakula, hkelam, sbhatta,
andrew+netdev, davem, edumazet, kuba, pabeni, Sunil.Goutham,
naveenm, hkalra
From: Harman Kalra <hkalra@marvell.com>
Hello,
This is version 2 of the patch series targeting the net branch. The second
patch has been rebased against the current HEAD of the net branch to resolve
a merge conflict. No logical changes were made to either patch.
The first patch addresses a spurious firmware loading warning by
switching to the non-warning variant of the firmware request API when
falling back to alternative loading methods.
The second patch resolves an issue where a VF changing its interface
state could inadvertently delete the RX promiscuous and all-multicast
MCAM rules belonging to the host PF.
Changes in v2:
- Rebased patch 2/2 to resolve a merge conflict on the net branch.
- Patch 1/2 remains unchanged.
Harman Kalra (2):
octeontx2-af: fix VF bringup affecting PF promiscuous state
octeontx2-af: suppress kpu profile loading warning
drivers/net/ethernet/marvell/octeontx2/af/rvu_nix.c | 4 ++--
drivers/net/ethernet/marvell/octeontx2/af/rvu_npc.c | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
--
2.48.1
^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH net v2 1/2] octeontx2-af: fix VF bringup affecting PF promiscuous state
2026-06-23 4:06 [PATCH net v2 0/2] octeontx2-af: Bug fixes for KPU profile and VF RX mode nshettyj
@ 2026-06-23 4:06 ` nshettyj
2026-06-23 4:06 ` [PATCH net v2 2/2] octeontx2-af: suppress kpu profile loading warning nshettyj
1 sibling, 0 replies; 4+ messages in thread
From: nshettyj @ 2026-06-23 4:06 UTC (permalink / raw)
To: netdev, linux-kernel
Cc: sgoutham, rkannoth, lcherian, gakula, hkelam, sbhatta,
andrew+netdev, davem, edumazet, kuba, pabeni, Sunil.Goutham,
naveenm, hkalra, Nitin Shetty J
From: Harman Kalra <hkalra@marvell.com>
Mbox handling of nix_set_rx_mode for a VF with promiscuous and
all_multi flags set to false causes deletion of the PF's promiscuous
and allmulti MCAM rules. This occurs because the APIs that
enable/disable these rules operate only on the PF, even when the
mbox request is made via a VF interface.
Guard both rvu_npc_enable_allmulti_entry() and
rvu_npc_enable_promisc_entry() disable paths with an is_vf() check so
that a VF bringing up or tearing down its interface cannot inadvertently
clear the PF's MCAM rules.
Fixes: 967db3529eca ("octeontx2-af: add support for multicast/promisc packet replication feature")
Signed-off-by: Harman Kalra <hkalra@marvell.com>
Signed-off-by: Nitin Shetty J <nshettyj@marvell.com>
---
drivers/net/ethernet/marvell/octeontx2/af/rvu_nix.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/ethernet/marvell/octeontx2/af/rvu_nix.c b/drivers/net/ethernet/marvell/octeontx2/af/rvu_nix.c
index d8989395e875..a7e0e0e05ad2 100644
--- a/drivers/net/ethernet/marvell/octeontx2/af/rvu_nix.c
+++ b/drivers/net/ethernet/marvell/octeontx2/af/rvu_nix.c
@@ -4575,7 +4575,7 @@ int rvu_mbox_handler_nix_set_rx_mode(struct rvu *rvu, struct nix_rx_mode *req,
rvu_npc_install_allmulti_entry(rvu, pcifunc, nixlf,
pfvf->rx_chan_base);
} else {
- if (!nix_rx_multicast)
+ if (!nix_rx_multicast && !is_vf(pcifunc))
rvu_npc_enable_allmulti_entry(rvu, pcifunc, nixlf, false);
}
@@ -4585,7 +4585,7 @@ int rvu_mbox_handler_nix_set_rx_mode(struct rvu *rvu, struct nix_rx_mode *req,
pfvf->rx_chan_base,
pfvf->rx_chan_cnt);
else
- if (!nix_rx_multicast)
+ if (!nix_rx_multicast && !is_vf(pcifunc))
rvu_npc_enable_promisc_entry(rvu, pcifunc, nixlf, false);
return 0;
--
2.48.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH net v2 2/2] octeontx2-af: suppress kpu profile loading warning
2026-06-23 4:06 [PATCH net v2 0/2] octeontx2-af: Bug fixes for KPU profile and VF RX mode nshettyj
2026-06-23 4:06 ` [PATCH net v2 1/2] octeontx2-af: fix VF bringup affecting PF promiscuous state nshettyj
@ 2026-06-23 4:06 ` nshettyj
2026-06-24 15:24 ` Simon Horman
1 sibling, 1 reply; 4+ messages in thread
From: nshettyj @ 2026-06-23 4:06 UTC (permalink / raw)
To: netdev, linux-kernel
Cc: sgoutham, rkannoth, lcherian, gakula, hkelam, sbhatta,
andrew+netdev, davem, edumazet, kuba, pabeni, Sunil.Goutham,
naveenm, hkalra, Nitin Shetty J
From: Harman Kalra <hkalra@marvell.com>
There are three ways in which a KPU profile can be loaded
(in high to low priority order):
1. profile image integrated in kernel image
2. firmware database method
3. default profile
In most cases the profile is loaded using the 2nd method, which
causes a spurious warning from the Linux firmware subsystem (method 1)
due to the absence of firmware in the kernel image.
Replace request_firmware_direct() with firmware_request_nowarn() to
suppress such warnings when no image is integrated into the kernel image.
Fixes: c0c9ac88156a ("octeontx2-af: npc: Support for custom KPU profile from filesystem")
Signed-off-by: Harman Kalra <hkalra@marvell.com>
Signed-off-by: Nitin Shetty J <nshettyj@marvell.com>
---
drivers/net/ethernet/marvell/octeontx2/af/rvu_npc.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/marvell/octeontx2/af/rvu_npc.c b/drivers/net/ethernet/marvell/octeontx2/af/rvu_npc.c
index c7bc0b3a29b9..007d3f22b0c9 100644
--- a/drivers/net/ethernet/marvell/octeontx2/af/rvu_npc.c
+++ b/drivers/net/ethernet/marvell/octeontx2/af/rvu_npc.c
@@ -2246,7 +2246,7 @@ static int npc_load_kpu_profile_from_fs(struct rvu *rvu)
strcat(path, kpu_profile);
- if (request_firmware_direct(&fw, path, rvu->dev))
+ if (firmware_request_nowarn(&fw, path, rvu->dev))
return -ENOENT;
dev_info(rvu->dev, "Loading KPU profile from filesystem: %s\n",
--
2.48.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH net v2 2/2] octeontx2-af: suppress kpu profile loading warning
2026-06-23 4:06 ` [PATCH net v2 2/2] octeontx2-af: suppress kpu profile loading warning nshettyj
@ 2026-06-24 15:24 ` Simon Horman
0 siblings, 0 replies; 4+ messages in thread
From: Simon Horman @ 2026-06-24 15:24 UTC (permalink / raw)
To: nshettyj
Cc: Simon Horman, netdev, linux-kernel, sgoutham, rkannoth, lcherian,
gakula, hkelam, sbhatta, andrew+netdev, davem, edumazet, kuba,
pabeni, Sunil.Goutham, naveenm, hkalra
This is an AI-generated review of your patch. The human sending this
email has considered the AI review valid, or at least plausible.
Full review at: https://netdev-ai.bots.linux.dev/sashiko/
---
octeontx2-af: suppress kpu profile loading warning
This commit replaces request_firmware_direct() with
firmware_request_nowarn() in npc_load_kpu_profile_from_fs() to suppress
a warning observed when the KPU profile is loaded via the firmware
database method rather than being integrated into the kernel image.
> diff --git a/drivers/net/ethernet/marvell/octeontx2/af/rvu_npc.c b/drivers/net/ethernet/marvell/octeontx2/af/rvu_npc.c
> index c7bc0b3a29b9..007d3f22b0c9 100644
> --- a/drivers/net/ethernet/marvell/octeontx2/af/rvu_npc.c
> +++ b/drivers/net/ethernet/marvell/octeontx2/af/rvu_npc.c
> @@ -2246,7 +2246,7 @@ static int npc_load_kpu_profile_from_fs(struct rvu *rvu)
>
> strcat(path, kpu_profile);
>
> - if (request_firmware_direct(&fw, path, rvu->dev))
> + if (firmware_request_nowarn(&fw, path, rvu->dev))
[Medium]
Does this actually change the warning behavior the commit message
describes?
Looking at the two helpers in drivers/base/firmware_loader/main.c, both
pass FW_OPT_NO_WARN into _request_firmware():
int firmware_request_nowarn(...) {
...
ret = _request_firmware(firmware, name, device, NULL, 0, 0,
FW_OPT_UEVENT | FW_OPT_NO_WARN);
...
}
int request_firmware_direct(...) {
...
ret = _request_firmware(firmware_p, name, device, NULL, 0, 0,
FW_OPT_UEVENT | FW_OPT_NO_WARN |
FW_OPT_NOFALLBACK_SYSFS);
...
}
The dev_warn() calls in the firmware loader hot path (for example the
"Direct firmware load for %s failed" message, the "loading %s failed"
message, and the sysfs fallback notice) are all gated by
!(opt_flags & FW_OPT_NO_WARN), and have been since commit 1fe6e4f0b0c4
("firmware_loader: Suppress warning on FW_OPT_NO_WARN flag").
Given that request_firmware_direct() already sets FW_OPT_NO_WARN, where
does the spurious warning mentioned in the commit message
("causes a spurious warning from the Linux firmware subsystem ... due
to the absence of firmware in the kernel image") originate?
[Medium]
This change also silently drops FW_OPT_NOFALLBACK_SYSFS, which is not
mentioned in the commit message.
The kerneldoc for request_firmware_direct() says it "doesn't fall back
to usermode helper even if the firmware couldn't be loaded directly
from fs. Hence it's useful for loading optional firmwares, which
aren't always present, without extra long timeouts of udev."
firmware_request_nowarn()'s kerneldoc states the opposite: "The sysfs
fallback mechanism is enabled if direct filesystem lookup fails."
On kernels built with CONFIG_FW_LOADER_USER_HELPER_FALLBACK=y, or where
the force_sysfs_fallback sysctl is enabled, fw_run_sysfs_fallback() no
longer short-circuits on FW_OPT_NOFALLBACK_SYSFS, so the absent-firmware
case will now invoke firmware_fallback_sysfs() and wait on udev for the
loading timeout (default 60s) before returning -ENOENT.
The commit message itself states that "in most cases the profile is
loaded using the 2nd method", so this is precisely the optional-firmware
scenario that request_firmware_direct() was designed for. Was the
fallback-sysfs behavior change intentional, and is there a reason not
to keep the no-fallback semantics on configurations that enable the
usermode helper?
> return -ENOENT;
>
> dev_info(rvu->dev, "Loading KPU profile from filesystem: %s\n",
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2026-06-24 15:24 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-06-23 4:06 [PATCH net v2 0/2] octeontx2-af: Bug fixes for KPU profile and VF RX mode nshettyj
2026-06-23 4:06 ` [PATCH net v2 1/2] octeontx2-af: fix VF bringup affecting PF promiscuous state nshettyj
2026-06-23 4:06 ` [PATCH net v2 2/2] octeontx2-af: suppress kpu profile loading warning nshettyj
2026-06-24 15:24 ` Simon Horman
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.