Subject: Re: [PATCH net v3 3/3] octeon_ep_vf: ensure dbell BADDR updation

From: Simon Horman <[email-masked]>
Date: Mon, 12 Jan 2026 14:39:42 +0000

On Wed, Jan 07, 2026 at 01:18:56PM +0000, Vimlesh Kumar wrote:
> Make sure the OUT DBELL base address reflects the
> latest values written to it.
> 
> Fix:
> Add a wait until the OUT DBELL base address register
> is updated with the DMA ring descriptor address,
> and modify the setup_oq function to properly
> handle failures.
> 
> Fixes: 2c0c32c72be29 ("octeon_ep_vf: add hardware configuration APIs")
> Signed-off-by: Sathesh Edara <[email-masked]>
> Signed-off-by: Shinas Rasheed <[email-masked]>
> Signed-off-by: Vimlesh Kumar <[email-masked]>
> ---
> V3:
> - Use reverse christmas tree order variable declaration.
> - Return error if timeout happens during setup oq.

...

> diff --git a/drivers/net/ethernet/marvell/octeon_ep_vf/octep_vf_rx.c b/drivers/net/ethernet/marvell/octeon_ep_vf/octep_vf_rx.c
> index d70c8be3cfc4..6446f6bf0b90 100644
> --- a/drivers/net/ethernet/marvell/octeon_ep_vf/octep_vf_rx.c
> +++ b/drivers/net/ethernet/marvell/octeon_ep_vf/octep_vf_rx.c
> @@ -171,7 +171,9 @@ static int octep_vf_setup_oq(struct octep_vf_device *oct, int q_no)
>  		goto oq_fill_buff_err;
>  
>  	octep_vf_oq_reset_indices(oq);
> -	oct->hw_ops.setup_oq_regs(oct, q_no);
> +	if (oct->hw_ops.setup_oq_regs(oct, q_no))
> +		goto oq_fill_buff_err;
> +

Hi Vimlesh, all,

I think that a new label needs to be added to the unwind ladder such that
octep_vf_oq_free_ring_buffers() is called if the error condition above is met.

Likewise in patch 2/3.

Flagged by Claude Code with Review Prompts[1]

[1] https://github.com/masoncl/review-prompts/

>  	oct->num_oqs++;
>  	return 0;

-- 
pw-bot: cr