From: Jakub Kicinski <kuba@kernel.org>
To: mohsin.bashr@gmail.com
Cc: Jakub Kicinski <kuba@kernel.org>,
netdev@vger.kernel.org, jacob.e.keller@intel.com,
davem@davemloft.net, sanman.p211993@gmail.com, pabeni@redhat.com,
andrew+netdev@lunn.ch, horms@kernel.org, alexanderduyck@fb.com,
kernel-team@meta.com, edumazet@google.com, lee@trager.us
Subject: Re: [net-next,V0.5,5/5] eth: fbnic: Update RX mbox timeout value
Date: Tue, 13 Jan 2026 19:38:24 -0800 [thread overview]
Message-ID: <20260114033824.1033374-1-kuba@kernel.org> (raw)
In-Reply-To: <20260112211925.2551576-6-mohsin.bashr@gmail.com>
This is an AI-generated review of your patch. The human sending this
email has considered the AI review valid, or at least pausible.
For local reproduction steps see https://netdev-ai.bots.linux.dev/ai-local.html
---
eth: fbnic: Update RX mbox timeout value
This commit unifies timeout values for mailbox RX read requests and
introduces a wrapper function fbnic_mbx_wait_for_cmpl() to simplify the
completion wait calls.
> diff --git a/drivers/net/ethernet/meta/fbnic/fbnic_fw.h b/drivers/net/ethernet/meta/fbnic/fbnic_fw.h
> index 1ecd777aaada..6b3fb163d381 100644
> --- a/drivers/net/ethernet/meta/fbnic/fbnic_fw.h
> +++ b/drivers/net/ethernet/meta/fbnic/fbnic_fw.h
[ ... ]
> +static inline bool fbnic_mbx_wait_for_cmpl(struct fbnic_fw_completion *cmpl)
> +{
> + return wait_for_completion_timeout(&cmpl->done,
> + FBNIC_MBX_RX_TO_SEC * HZ);
> +}
The wrapper returns the result of wait_for_completion_timeout() which is
non-zero (remaining jiffies) on success and zero on timeout.
> diff --git a/drivers/net/ethernet/meta/fbnic/fbnic_devlink.c b/drivers/net/ethernet/meta/fbnic/fbnic_devlink.c
> index b62b1d5b1453..193f554717b3 100644
> --- a/drivers/net/ethernet/meta/fbnic/fbnic_devlink.c
> +++ b/drivers/net/ethernet/meta/fbnic/fbnic_devlink.c
> @@ -178,7 +178,7 @@ fbnic_flash_start(struct fbnic_dev *fbd, struct pldmfw_component *component)
> goto cmpl_free;
>
> /* Wait for firmware to ack firmware upgrade start */
> - if (wait_for_completion_timeout(&cmpl->done, 10 * HZ))
> + if (!fbnic_mbx_wait_for_cmpl(cmpl))
> err = cmpl->result;
> else
> err = -ETIMEDOUT;
Is the condition inverted here? The original code enters the first branch
when wait_for_completion_timeout() returns non-zero (success). The new
code enters the first branch when fbnic_mbx_wait_for_cmpl() returns zero
(timeout) due to the added negation. This would cause successful
completions to return -ETIMEDOUT.
[ ... ]
> @@ -447,7 +447,7 @@ static int fbnic_fw_reporter_dump(struct devlink_health_reporter *reporter,
> goto cmpl_cleanup;
> }
>
> - if (wait_for_completion_timeout(&fw_cmpl->done, 2 * HZ)) {
> + if (!fbnic_mbx_wait_for_cmpl(fw_cmpl)) {
> reinit_completion(&fw_cmpl->done);
> } else {
> NL_SET_ERR_MSG_FMT_MOD(extack,
Similar issue in this loop - the original code calls reinit_completion()
on success (non-zero return) and goes to error handling on timeout (zero
return). With the added negation, success now triggers the error path
setting err = -ETIMEDOUT, while timeout triggers reinit_completion().
next prev parent reply other threads:[~2026-01-14 3:38 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-01-12 21:19 [PATCH net-next V0.5 0/5] eth: fbnic: Update IPC mailbox support Mohsin Bashir
2026-01-12 21:19 ` [PATCH net-next V0.5 1/5] eth: fbnic: Use GFP_KERNEL to allocting mbx pages Mohsin Bashir
2026-01-12 21:19 ` [PATCH net-next V0.5 2/5] eth: fbnic: Allocate all pages for RX mailbox Mohsin Bashir
2026-01-12 21:19 ` [PATCH net-next V0.5 3/5] eth: fbnic: Reuse RX mailbox pages Mohsin Bashir
2026-01-12 21:19 ` [PATCH net-next V0.5 4/5] eth: fbnic: Remove retry support Mohsin Bashir
2026-01-14 3:38 ` [net-next,V0.5,4/5] " Jakub Kicinski
2026-01-12 21:19 ` [PATCH net-next V0.5 5/5] eth: fbnic: Update RX mbox timeout value Mohsin Bashir
2026-01-14 3:38 ` Jakub Kicinski [this message]
2026-01-12 21:55 ` [PATCH net-next V0.5 0/5] eth: fbnic: Update IPC mailbox support Mohsin Bashir
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260114033824.1033374-1-kuba@kernel.org \
--to=kuba@kernel.org \
--cc=alexanderduyck@fb.com \
--cc=andrew+netdev@lunn.ch \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=horms@kernel.org \
--cc=jacob.e.keller@intel.com \
--cc=kernel-team@meta.com \
--cc=lee@trager.us \
--cc=mohsin.bashr@gmail.com \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=sanman.p211993@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.