From: Leon Romanovsky <leon@kernel.org>
To: Eli Cohen <elic@nvidia.com>
Cc: mst@redhat.com, netdev@vger.kernel.org,
linux-kernel@vger.kernel.org,
virtualization@lists.linux-foundation.org, si-wei.liu@oracle.com
Subject: Re: [PATCH] vdpa/mlx5: Extract correct pointer from driver data
Date: Tue, 16 Feb 2021 15:17:44 +0200 [thread overview]
Message-ID: <YCvF+BfHeJWx3x2G@unreal> (raw)
In-Reply-To: <20210216124540.GA94503@mtl-vdi-166.wap.labs.mlnx>
On Tue, Feb 16, 2021 at 02:45:40PM +0200, Eli Cohen wrote:
> On Tue, Feb 16, 2021 at 09:37:34AM +0200, Leon Romanovsky wrote:
> > On Tue, Feb 16, 2021 at 08:42:26AM +0200, Eli Cohen wrote:
> > > On Tue, Feb 16, 2021 at 08:35:51AM +0200, Leon Romanovsky wrote:
> > > > On Tue, Feb 16, 2021 at 07:50:22AM +0200, Eli Cohen wrote:
> > > > > struct mlx5_vdpa_net pointer was stored in drvdata. Extract it as well
> > > > > in mlx5v_remove().
> > > > >
> > > > > Fixes: 74c9729dd892 ("vdpa/mlx5: Connect mlx5_vdpa to auxiliary bus")
> > > > > Signed-off-by: Eli Cohen <elic@nvidia.com>
> > > > > ---
> > > > > drivers/vdpa/mlx5/net/mlx5_vnet.c | 4 ++--
> > > > > 1 file changed, 2 insertions(+), 2 deletions(-)
> > > > >
> > > > > diff --git a/drivers/vdpa/mlx5/net/mlx5_vnet.c b/drivers/vdpa/mlx5/net/mlx5_vnet.c
> > > > > index 6b0a42183622..4103d3b64a2a 100644
> > > > > --- a/drivers/vdpa/mlx5/net/mlx5_vnet.c
> > > > > +++ b/drivers/vdpa/mlx5/net/mlx5_vnet.c
> > > > > @@ -2036,9 +2036,9 @@ static int mlx5v_probe(struct auxiliary_device *adev,
> > > > >
> > > > > static void mlx5v_remove(struct auxiliary_device *adev)
> > > > > {
> > > > > - struct mlx5_vdpa_dev *mvdev = dev_get_drvdata(&adev->dev);
> > > > > + struct mlx5_vdpa_net *ndev = dev_get_drvdata(&adev->dev);
> > > > >
> > > > > - vdpa_unregister_device(&mvdev->vdev);
> > > > > + vdpa_unregister_device(&ndev->mvdev.vdev);
> > > > > }
> > > >
> > > > IMHO, The more correct solution is to fix dev_set_drvdata() call,
> > > > because we are regustering/unregistering/allocating "struct mlx5_vdpa_dev".
> > > >
> > >
> > > We're allocating "struct mlx5_vdpa_net". "struct mlx5_vdpa_dev" is just
> > > a member field of "struct mlx5_vdpa_net".
> >
> > I referred to these lines in the mlx5v_probe():
> > 1986 err = mlx5_vdpa_alloc_resources(&ndev->mvdev);
> > 1987 if (err)
> > 1988 goto err_mtu;
> > 1989
> > 1990 err = alloc_resources(ndev);
> > 1991 if (err)
> > 1992 goto err_res;
> > 1993
> > 1994 err = vdpa_register_device(&mvdev->vdev);
> >
> > So mlx5v_remove() is better to be symmetrical.
> >
>
> It's "struct mlx5_vdpa_net" that is being allocated here so it makes
> sense to set this pointer as the the driver data.
Anyway, it doesn't important.
Thanks, for the original patch.
Reviewed-by: Leon Romanovsky <leonro@nvidia.com>
_______________________________________________
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/virtualization
WARNING: multiple messages have this Message-ID (diff)
From: Leon Romanovsky <leon@kernel.org>
To: Eli Cohen <elic@nvidia.com>
Cc: mst@redhat.com, jasowang@redhat.com,
linux-kernel@vger.kernel.org,
virtualization@lists.linux-foundation.org,
netdev@vger.kernel.org, si-wei.liu@oracle.com
Subject: Re: [PATCH] vdpa/mlx5: Extract correct pointer from driver data
Date: Tue, 16 Feb 2021 15:17:44 +0200 [thread overview]
Message-ID: <YCvF+BfHeJWx3x2G@unreal> (raw)
In-Reply-To: <20210216124540.GA94503@mtl-vdi-166.wap.labs.mlnx>
On Tue, Feb 16, 2021 at 02:45:40PM +0200, Eli Cohen wrote:
> On Tue, Feb 16, 2021 at 09:37:34AM +0200, Leon Romanovsky wrote:
> > On Tue, Feb 16, 2021 at 08:42:26AM +0200, Eli Cohen wrote:
> > > On Tue, Feb 16, 2021 at 08:35:51AM +0200, Leon Romanovsky wrote:
> > > > On Tue, Feb 16, 2021 at 07:50:22AM +0200, Eli Cohen wrote:
> > > > > struct mlx5_vdpa_net pointer was stored in drvdata. Extract it as well
> > > > > in mlx5v_remove().
> > > > >
> > > > > Fixes: 74c9729dd892 ("vdpa/mlx5: Connect mlx5_vdpa to auxiliary bus")
> > > > > Signed-off-by: Eli Cohen <elic@nvidia.com>
> > > > > ---
> > > > > drivers/vdpa/mlx5/net/mlx5_vnet.c | 4 ++--
> > > > > 1 file changed, 2 insertions(+), 2 deletions(-)
> > > > >
> > > > > diff --git a/drivers/vdpa/mlx5/net/mlx5_vnet.c b/drivers/vdpa/mlx5/net/mlx5_vnet.c
> > > > > index 6b0a42183622..4103d3b64a2a 100644
> > > > > --- a/drivers/vdpa/mlx5/net/mlx5_vnet.c
> > > > > +++ b/drivers/vdpa/mlx5/net/mlx5_vnet.c
> > > > > @@ -2036,9 +2036,9 @@ static int mlx5v_probe(struct auxiliary_device *adev,
> > > > >
> > > > > static void mlx5v_remove(struct auxiliary_device *adev)
> > > > > {
> > > > > - struct mlx5_vdpa_dev *mvdev = dev_get_drvdata(&adev->dev);
> > > > > + struct mlx5_vdpa_net *ndev = dev_get_drvdata(&adev->dev);
> > > > >
> > > > > - vdpa_unregister_device(&mvdev->vdev);
> > > > > + vdpa_unregister_device(&ndev->mvdev.vdev);
> > > > > }
> > > >
> > > > IMHO, The more correct solution is to fix dev_set_drvdata() call,
> > > > because we are regustering/unregistering/allocating "struct mlx5_vdpa_dev".
> > > >
> > >
> > > We're allocating "struct mlx5_vdpa_net". "struct mlx5_vdpa_dev" is just
> > > a member field of "struct mlx5_vdpa_net".
> >
> > I referred to these lines in the mlx5v_probe():
> > 1986 err = mlx5_vdpa_alloc_resources(&ndev->mvdev);
> > 1987 if (err)
> > 1988 goto err_mtu;
> > 1989
> > 1990 err = alloc_resources(ndev);
> > 1991 if (err)
> > 1992 goto err_res;
> > 1993
> > 1994 err = vdpa_register_device(&mvdev->vdev);
> >
> > So mlx5v_remove() is better to be symmetrical.
> >
>
> It's "struct mlx5_vdpa_net" that is being allocated here so it makes
> sense to set this pointer as the the driver data.
Anyway, it doesn't important.
Thanks, for the original patch.
Reviewed-by: Leon Romanovsky <leonro@nvidia.com>
next prev parent reply other threads:[~2021-02-16 13:17 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-02-16 5:50 [PATCH] vdpa/mlx5: Extract correct pointer from driver data Eli Cohen
2021-02-16 5:50 ` Eli Cohen
2021-02-16 6:35 ` Leon Romanovsky
2021-02-16 6:35 ` Leon Romanovsky
2021-02-16 6:42 ` Eli Cohen
2021-02-16 7:37 ` Leon Romanovsky
2021-02-16 7:37 ` Leon Romanovsky
2021-02-16 12:45 ` Eli Cohen
2021-02-16 13:17 ` Leon Romanovsky [this message]
2021-02-16 13:17 ` Leon Romanovsky
2021-02-23 12:32 ` Michael S. Tsirkin
2021-02-23 12:32 ` Michael S. Tsirkin
2021-02-23 12:43 ` Eli Cohen
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=YCvF+BfHeJWx3x2G@unreal \
--to=leon@kernel.org \
--cc=elic@nvidia.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mst@redhat.com \
--cc=netdev@vger.kernel.org \
--cc=si-wei.liu@oracle.com \
--cc=virtualization@lists.linux-foundation.org \
/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.