diff mbox series

[for-rc] RDMA/siw: Fix reporting vendor_part_id

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

Commit Message

Kamal Heib July 7, 2020, 1:09 p.m. UTC
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(-)

Comments

Bernard Metzler July 7, 2020, 2:30 p.m. UTC | #1
-----"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>
Jason Gunthorpe July 8, 2020, 12:25 p.m. UTC | #2
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 mbox series

Patch

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);