Message ID | 20200707130931.444724-1-kamalheib1@gmail.com (mailing list archive) |
---|---|
State | Mainlined |
Commit | 04340645f69ab7abb6f9052688a60f0213b3f79c |
Delegated to: | Jason Gunthorpe |
Headers | show |
Series | [for-rc] RDMA/siw: Fix reporting vendor_part_id | expand |
-----"Kamal Heib" <kamalheib1@gmail.com> wrote: ----- >To: linux-rdma@vger.kernel.org >From: "Kamal Heib" <kamalheib1@gmail.com> >Date: 07/07/2020 03:09PM >Cc: "Jason Gunthorpe" <jgg@ziepe.ca>, "Doug Ledford" ><dledford@redhat.com>, "Bernard Metzler" <bmt@zurich.ibm.com>, "Kamal >Heib" <kamalheib1@gmail.com> >Subject: [EXTERNAL] [PATCH for-rc] RDMA/siw: Fix reporting >vendor_part_id > >Move the initialization of the vendor_part_id to be before calling >ib_register_device(), this is needed because the query_device() >callback >is called from the context of ib_register_device() before >initializing >the vendor_part_id, so the reported value is wrong. > >Fixes: bdcf26bf9b3a ("rdma/siw: network and RDMA core interface") >Signed-off-by: Kamal Heib <kamalheib1@gmail.com> >--- > drivers/infiniband/sw/siw/siw_main.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > >diff --git a/drivers/infiniband/sw/siw/siw_main.c >b/drivers/infiniband/sw/siw/siw_main.c >index a0b8cc643c5c..ed60c9e4643e 100644 >--- a/drivers/infiniband/sw/siw/siw_main.c >+++ b/drivers/infiniband/sw/siw/siw_main.c >@@ -67,12 +67,13 @@ static int siw_device_register(struct siw_device >*sdev, const char *name) > static int dev_id = 1; > int rv; > >+ sdev->vendor_part_id = dev_id++; >+ > rv = ib_register_device(base_dev, name); > if (rv) { > pr_warn("siw: device registration error %d\n", rv); > return rv; > } >- sdev->vendor_part_id = dev_id++; > > siw_dbg(base_dev, "HWaddr=%pM\n", sdev->netdev->dev_addr); > >-- >2.25.4 > > Many thanks, Kamal! Reviewed-by: Bernard Metzler <bmt@zurich.ibm.com>
On Tue, Jul 07, 2020 at 04:09:31PM +0300, Kamal Heib wrote: > Move the initialization of the vendor_part_id to be before calling > ib_register_device(), this is needed because the query_device() callback > is called from the context of ib_register_device() before initializing > the vendor_part_id, so the reported value is wrong. > > Fixes: bdcf26bf9b3a ("rdma/siw: network and RDMA core interface") > Signed-off-by: Kamal Heib <kamalheib1@gmail.com> > Reviewed-by: Bernard Metzler <bmt@zurich.ibm.com> > --- > drivers/infiniband/sw/siw/siw_main.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) Applied to for-rc, thanks Jason
diff --git a/drivers/infiniband/sw/siw/siw_main.c b/drivers/infiniband/sw/siw/siw_main.c index a0b8cc643c5c..ed60c9e4643e 100644 --- a/drivers/infiniband/sw/siw/siw_main.c +++ b/drivers/infiniband/sw/siw/siw_main.c @@ -67,12 +67,13 @@ static int siw_device_register(struct siw_device *sdev, const char *name) static int dev_id = 1; int rv; + sdev->vendor_part_id = dev_id++; + rv = ib_register_device(base_dev, name); if (rv) { pr_warn("siw: device registration error %d\n", rv); return rv; } - sdev->vendor_part_id = dev_id++; siw_dbg(base_dev, "HWaddr=%pM\n", sdev->netdev->dev_addr);
Move the initialization of the vendor_part_id to be before calling ib_register_device(), this is needed because the query_device() callback is called from the context of ib_register_device() before initializing the vendor_part_id, so the reported value is wrong. Fixes: bdcf26bf9b3a ("rdma/siw: network and RDMA core interface") Signed-off-by: Kamal Heib <kamalheib1@gmail.com> --- drivers/infiniband/sw/siw/siw_main.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)