diff mbox series

i40e: fix wrong index in i40e_xsk_umem_dma_map

Message ID 1591089148-959-1-git-send-email-lirongqing@baidu.com
State Awaiting Upstream
Delegated to: David Miller
Headers show
Series i40e: fix wrong index in i40e_xsk_umem_dma_map | expand

Commit Message

Li RongQing June 2, 2020, 9:12 a.m. UTC
Fixes: 0a714186d3c0 "(i40e: add AF_XDP zero-copy Rx support)"
Signed-off-by: Li RongQing <lirongqing@baidu.com>
---
 drivers/net/ethernet/intel/i40e/i40e_xsk.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Björn Töpel June 2, 2020, 11:26 a.m. UTC | #1
On Tue, 2 Jun 2020 at 11:20, Li RongQing <lirongqing@baidu.com> wrote:
>

Li, thanks for the patch! Good catch!

Please add a proper description for the patch. The fix should be added
to the stable branches (5.7 and earlier). Note that this code was
recently removed in favor of the new AF_XDP buffer allocation scheme.


Björn

> Fixes: 0a714186d3c0 "(i40e: add AF_XDP zero-copy Rx support)"
> Signed-off-by: Li RongQing <lirongqing@baidu.com>
> ---
>  drivers/net/ethernet/intel/i40e/i40e_xsk.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/net/ethernet/intel/i40e/i40e_xsk.c b/drivers/net/ethernet/intel/i40e/i40e_xsk.c
> index 0b7d29192b2c..c926438118ea 100644
> --- a/drivers/net/ethernet/intel/i40e/i40e_xsk.c
> +++ b/drivers/net/ethernet/intel/i40e/i40e_xsk.c
> @@ -37,9 +37,9 @@ static int i40e_xsk_umem_dma_map(struct i40e_vsi *vsi, struct xdp_umem *umem)
>
>  out_unmap:
>         for (j = 0; j < i; j++) {
> -               dma_unmap_page_attrs(dev, umem->pages[i].dma, PAGE_SIZE,
> +               dma_unmap_page_attrs(dev, umem->pages[j].dma, PAGE_SIZE,
>                                      DMA_BIDIRECTIONAL, I40E_RX_DMA_ATTR);
> -               umem->pages[i].dma = 0;
> +               umem->pages[j].dma = 0;
>         }
>
>         return -1;
> --
> 2.16.2
>
Li RongQing June 2, 2020, 12:10 p.m. UTC | #2
> -----邮件原件-----
> 发件人: Björn Töpel [mailto:bjorn.topel@gmail.com]
> 发送时间: 2020年6月2日 19:27
> 收件人: Li,Rongqing <lirongqing@baidu.com>; intel-wired-lan
> <intel-wired-lan@lists.osuosl.org>; Netdev <netdev@vger.kernel.org>
> 抄送: bpf <bpf@vger.kernel.org>; Karlsson, Magnus
> <magnus.karlsson@intel.com>
> 主题: Re: [PATCH] i40e: fix wrong index in i40e_xsk_umem_dma_map
> 
> On Tue, 2 Jun 2020 at 11:20, Li RongQing <lirongqing@baidu.com> wrote:
> >
> 
> Li, thanks for the patch! Good catch!
> 
> Please add a proper description for the patch. The fix should be added to the
> stable branches (5.7 and earlier). Note that this code was recently removed in
> favor of the new AF_XDP buffer allocation scheme.
> 
> 

Ok

-LiRongQing 

> Björn
> 
> > Fixes: 0a714186d3c0 "(i40e: add AF_XDP zero-copy Rx support)"
> > Signed-off-by: Li RongQing <lirongqing@baidu.com>
> > ---
> >  drivers/net/ethernet/intel/i40e/i40e_xsk.c | 4 ++--
> >  1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/net/ethernet/intel/i40e/i40e_xsk.c
> > b/drivers/net/ethernet/intel/i40e/i40e_xsk.c
> > index 0b7d29192b2c..c926438118ea 100644
> > --- a/drivers/net/ethernet/intel/i40e/i40e_xsk.c
> > +++ b/drivers/net/ethernet/intel/i40e/i40e_xsk.c
> > @@ -37,9 +37,9 @@ static int i40e_xsk_umem_dma_map(struct i40e_vsi
> > *vsi, struct xdp_umem *umem)
> >
> >  out_unmap:
> >         for (j = 0; j < i; j++) {
> > -               dma_unmap_page_attrs(dev, umem->pages[i].dma,
> PAGE_SIZE,
> > +               dma_unmap_page_attrs(dev, umem->pages[j].dma,
> > + PAGE_SIZE,
> >                                      DMA_BIDIRECTIONAL,
> I40E_RX_DMA_ATTR);
> > -               umem->pages[i].dma = 0;
> > +               umem->pages[j].dma = 0;
> >         }
> >
> >         return -1;
> > --
> > 2.16.2
> >
diff mbox series

Patch

diff --git a/drivers/net/ethernet/intel/i40e/i40e_xsk.c b/drivers/net/ethernet/intel/i40e/i40e_xsk.c
index 0b7d29192b2c..c926438118ea 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_xsk.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_xsk.c
@@ -37,9 +37,9 @@  static int i40e_xsk_umem_dma_map(struct i40e_vsi *vsi, struct xdp_umem *umem)
 
 out_unmap:
 	for (j = 0; j < i; j++) {
-		dma_unmap_page_attrs(dev, umem->pages[i].dma, PAGE_SIZE,
+		dma_unmap_page_attrs(dev, umem->pages[j].dma, PAGE_SIZE,
 				     DMA_BIDIRECTIONAL, I40E_RX_DMA_ATTR);
-		umem->pages[i].dma = 0;
+		umem->pages[j].dma = 0;
 	}
 
 	return -1;