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

From: Vimlesh Kumar

Date: Thu Jan 15 2026 - 04:34:57 EST




> -----Original Message-----
> From: Simon Horman <horms@xxxxxxxxxx>
> Sent: Monday, January 12, 2026 8:10 PM
> To: Vimlesh Kumar <vimleshk@xxxxxxxxxxx>
> Cc: netdev@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; Sathesh B Edara
> <sedara@xxxxxxxxxxx>; Shinas Rasheed <srasheed@xxxxxxxxxxx>; Haseeb
> Gani <hgani@xxxxxxxxxxx>; Veerasenareddy Burru <vburru@xxxxxxxxxxx>;
> Satananda Burla <sburla@xxxxxxxxxxx>; Andrew Lunn
> <andrew+netdev@xxxxxxx>; David S. Miller <davem@xxxxxxxxxxxxx>; Eric
> Dumazet <edumazet@xxxxxxxxxx>; Jakub Kicinski <kuba@xxxxxxxxxx>; Paolo
> Abeni <pabeni@xxxxxxxxxx>
> Subject: [EXTERNAL] Re: [PATCH net v3 3/3] octeon_ep_vf: ensure dbell
> BADDR updation
>
> 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
> 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 <sedara@xxxxxxxxxxx>
> > Signed-off-by: Shinas Rasheed <srasheed@xxxxxxxxxxx>
> > Signed-off-by: Vimlesh Kumar <vimleshk@xxxxxxxxxxx>
> > ---
> > 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.

Hi Simon,

octep_vf_oq_free_ring_buffers() is being called from the caller function octep_vf_setup_oqs() in the error case and hence not required over here.

Thanks
>
> Flagged by Claude Code with Review Prompts[1]
>
> [1] https://urldefense.proofpoint.com/v2/url?u=https-
> 3A__github.com_masoncl_review-
> 2Dprompts_&d=DwIBAg&c=nKjWec2b6R0mOyPaz7xtfQ&r=bhf3N5Cr9NFbZwl
> a6EbZhYpRHhQzfrqxMipYIZpCMYA&m=FfpYblNbMkIojadKLj-GdBWB6u-
> Fb6osfQGlrjmP0PqQ9rhSeXbkGuz1wCiBQ4E3&s=G-Y_oT4DW9Z5J8Wc-e-
> XXQRgVCn_9DXTCDuknMqHrlI&e=
>
> > oct->num_oqs++;
> >
> > return 0;
>
> --
> pw-bot: cr