From: Yuval Shaia <yuval.shaia-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
To: Leon Romanovsky <leonro-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
Cc: dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org,
sean.hefty-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org,
hal.rosenstock-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org,
selvin.xavier-dY08KVG/lbpWk0Htik3J/w@public.gmane.org,
devesh.sharma-dY08KVG/lbpWk0Htik3J/w@public.gmane.org,
somnath.kotur-dY08KVG/lbpWk0Htik3J/w@public.gmane.org,
sriharsha.basavapatna-dY08KVG/lbpWk0Htik3J/w@public.gmane.org,
benve-FYB4Gu1CFyUAvxtiuMwx3w@public.gmane.org,
dgoodell-FYB4Gu1CFyUAvxtiuMwx3w@public.gmane.org,
monis-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org,
ira.weiny-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org,
dasaratharaman.chandramouli-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org,
sagi-TmH2Wj2nsNJBDLzU/O5InQ@public.gmane.org,
bart.vanassche-XdAiOPVOjttBDgjK7y7TUQ@public.gmane.org,
yishaih-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org,
linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: [PATCH v3 1/2] IB/usnic: Implement get_netdev hook
Date: Tue, 13 Jun 2017 10:35:03 +0300 [thread overview]
Message-ID: <20170613073502.GC28008@yuvallap> (raw)
In-Reply-To: <20170613072526.GM2576-U/DQcQFIOTAAJjI8aNfphQ@public.gmane.org>
On Tue, Jun 13, 2017 at 10:25:26AM +0300, Leon Romanovsky wrote:
> On Sun, Jun 11, 2017 at 08:44:49AM +0300, Yuval Shaia wrote:
> > usnic's get_netdev hook for struct ib_device is missing - add it.
> >
> > Signed-off-by: Yuval Shaia <yuval.shaia-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
> > ---
> > Per Moni Shoua's suggestion - create seperate patch for this purpose.
> > ---
> > drivers/infiniband/hw/usnic/usnic_ib_main.c | 1 +
> > drivers/infiniband/hw/usnic/usnic_ib_verbs.c | 10 ++++++++++
> > drivers/infiniband/hw/usnic/usnic_ib_verbs.h | 1 +
> > 3 files changed, 12 insertions(+)
> >
> > diff --git a/drivers/infiniband/hw/usnic/usnic_ib_main.c b/drivers/infiniband/hw/usnic/usnic_ib_main.c
> > index c0c1e8b..80577b9 100644
> > --- a/drivers/infiniband/hw/usnic/usnic_ib_main.c
> > +++ b/drivers/infiniband/hw/usnic/usnic_ib_main.c
> > @@ -409,6 +409,7 @@ static void *usnic_ib_device_add(struct pci_dev *dev)
> > us_ibdev->ib_dev.query_port = usnic_ib_query_port;
> > us_ibdev->ib_dev.query_pkey = usnic_ib_query_pkey;
> > us_ibdev->ib_dev.query_gid = usnic_ib_query_gid;
> > + us_ibdev->ib_dev.get_netdev = usnic_get_netdev;
> > us_ibdev->ib_dev.get_link_layer = usnic_ib_port_link_layer;
> > us_ibdev->ib_dev.alloc_pd = usnic_ib_alloc_pd;
> > us_ibdev->ib_dev.dealloc_pd = usnic_ib_dealloc_pd;
> > diff --git a/drivers/infiniband/hw/usnic/usnic_ib_verbs.c b/drivers/infiniband/hw/usnic/usnic_ib_verbs.c
> > index 4996984..f9dc1e80 100644
> > --- a/drivers/infiniband/hw/usnic/usnic_ib_verbs.c
> > +++ b/drivers/infiniband/hw/usnic/usnic_ib_verbs.c
> > @@ -424,6 +424,16 @@ int usnic_ib_query_gid(struct ib_device *ibdev, u8 port, int index,
> > return 0;
> > }
> >
> > +struct net_device *usnic_get_netdev(struct ib_device *device, u8 port_num)
> > +{
> > + struct usnic_ib_dev *us_ibdev = to_usdev(device);
> > +
> > + if (us_ibdev->netdev)
> > + dev_hold(us_ibdev->netdev);
>
> Who will release this reference?
I followed the instructions in struct ib_device so assuming the one that
calls get_netdev will do it.
See ib_cache_gid_add as an example.
Patch #2 aslo take care of it.
>
> Thanks
>
> > +
> > + return us_ibdev->netdev;
> > +}
> > +
> > int usnic_ib_query_pkey(struct ib_device *ibdev, u8 port, u16 index,
> > u16 *pkey)
> > {
> > diff --git a/drivers/infiniband/hw/usnic/usnic_ib_verbs.h b/drivers/infiniband/hw/usnic/usnic_ib_verbs.h
> > index 172e43b..1fda944 100644
> > --- a/drivers/infiniband/hw/usnic/usnic_ib_verbs.h
> > +++ b/drivers/infiniband/hw/usnic/usnic_ib_verbs.h
> > @@ -48,6 +48,7 @@ int usnic_ib_query_qp(struct ib_qp *qp, struct ib_qp_attr *qp_attr,
> > struct ib_qp_init_attr *qp_init_attr);
> > int usnic_ib_query_gid(struct ib_device *ibdev, u8 port, int index,
> > union ib_gid *gid);
> > +struct net_device *usnic_get_netdev(struct ib_device *device, u8 port_num);
> > int usnic_ib_query_pkey(struct ib_device *ibdev, u8 port, u16 index,
> > u16 *pkey);
> > struct ib_pd *usnic_ib_alloc_pd(struct ib_device *ibdev,
> > --
> > 2.9.4
> >
> > --
> > To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
> > the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
> > More majordomo info at http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2017-06-13 7:35 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-06-11 5:44 [PATCH v3] IB/{core, usnic}: Add generic function to extract IB speed from netdev Yuval Shaia
[not found] ` <20170611054450.7221-1-yuval.shaia-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
2017-06-11 5:44 ` [PATCH v3 1/2] IB/usnic: Implement get_netdev hook Yuval Shaia
[not found] ` <20170611054450.7221-2-yuval.shaia-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
2017-06-13 7:25 ` Leon Romanovsky
[not found] ` <20170613072526.GM2576-U/DQcQFIOTAAJjI8aNfphQ@public.gmane.org>
2017-06-13 7:35 ` Yuval Shaia [this message]
2017-06-13 10:37 ` Leon Romanovsky
2017-06-13 7:56 ` Christian Benvenuti (benve)
2017-06-11 5:44 ` [PATCH v3 2/2] IB/core: Add generic function to extract IB speed from netdev Yuval Shaia
[not found] ` <20170611054450.7221-3-yuval.shaia-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
2017-06-11 6:17 ` Moni Shoua
[not found] ` <CAG9sBKOTmcpy=iSZZ3=PG_k5o7HNS4vNA1qaahVZeOP2d2FLBw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-06-12 18:59 ` Yuval Shaia
2017-06-13 8:07 ` Christian Benvenuti (benve)
[not found] ` <e58c9e7782774aa1b710b779c44f918d-NcvnDpcxJI+VcpH5Q1TwH6BKnGwkPULj@public.gmane.org>
2017-06-14 13:02 ` Yuval Shaia
2017-06-14 15:04 ` Christian Benvenuti (benve)
[not found] ` <e61752e6cd164574b08161ae5f4c43f6-NcvnDpcxJI+VcpH5Q1TwH6BKnGwkPULj@public.gmane.org>
2017-06-14 19:14 ` Yuval Shaia
2017-06-14 20:00 ` Yuval Shaia
2017-06-13 10:37 ` Leon Romanovsky
2017-06-14 15:15 ` Selvin Xavier
[not found] ` <CA+sbYW07k=UoFvJVLvjfTcuUosoJJk34mSZJAfXRaUJuHwS3cA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-06-26 19:12 ` Yuval Shaia
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=20170613073502.GC28008@yuvallap \
--to=yuval.shaia-qhclzuegtsvqt0dzr+alfa@public.gmane.org \
--cc=bart.vanassche-XdAiOPVOjttBDgjK7y7TUQ@public.gmane.org \
--cc=benve-FYB4Gu1CFyUAvxtiuMwx3w@public.gmane.org \
--cc=dasaratharaman.chandramouli-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
--cc=devesh.sharma-dY08KVG/lbpWk0Htik3J/w@public.gmane.org \
--cc=dgoodell-FYB4Gu1CFyUAvxtiuMwx3w@public.gmane.org \
--cc=dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
--cc=hal.rosenstock-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
--cc=ira.weiny-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
--cc=leonro-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org \
--cc=linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=monis-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org \
--cc=sagi-TmH2Wj2nsNJBDLzU/O5InQ@public.gmane.org \
--cc=sean.hefty-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
--cc=selvin.xavier-dY08KVG/lbpWk0Htik3J/w@public.gmane.org \
--cc=somnath.kotur-dY08KVG/lbpWk0Htik3J/w@public.gmane.org \
--cc=sriharsha.basavapatna-dY08KVG/lbpWk0Htik3J/w@public.gmane.org \
--cc=yishaih-VPRAkNaXOzVWk0Htik3J/w@public.gmane.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.