diff mbox series

[for-next,v2] RDMA/siw: Fix setting active_{speed, width} attributes

Message ID 20200218095911.26614-1-kamalheib1@gmail.com (mailing list archive)
State Mainlined
Commit 25baba217cdfc1dfc75a9f427f4551b9a90e372b
Delegated to: Jason Gunthorpe
Headers show
Series [for-next,v2] RDMA/siw: Fix setting active_{speed, width} attributes | expand

Commit Message

Kamal Heib Feb. 18, 2020, 9:59 a.m. UTC
Make sure to set the active_{speed, width} attributes to avoid reporting
the same values regardless of the underlying device.

Fixes: 303ae1cdfdf7 ("rdma/siw: application interface")
Signed-off-by: Kamal Heib <kamalheib1@gmail.com>
---
V2: Change rc to rv.
---
 drivers/infiniband/sw/siw/siw_verbs.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

Comments

Bernard Metzler Feb. 18, 2020, 3:06 p.m. UTC | #1
-----"Kamal Heib" <kamalheib1@gmail.com> wrote: -----

>To: linux-rdma@vger.kernel.org
>From: "Kamal Heib" <kamalheib1@gmail.com>
>Date: 02/18/2020 10:59AM
>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-next v2] RDMA/siw: Fix setting
>active_{speed, width} attributes
>
>Make sure to set the active_{speed, width} attributes to avoid
>reporting
>the same values regardless of the underlying device.
>
>Fixes: 303ae1cdfdf7 ("rdma/siw: application interface")
>Signed-off-by: Kamal Heib <kamalheib1@gmail.com>
>---
>V2: Change rc to rv.
>---
> drivers/infiniband/sw/siw/siw_verbs.c | 7 ++++---
> 1 file changed, 4 insertions(+), 3 deletions(-)
>
>diff --git a/drivers/infiniband/sw/siw/siw_verbs.c
>b/drivers/infiniband/sw/siw/siw_verbs.c
>index 73485d0da907..d5390d498c61 100644
>--- a/drivers/infiniband/sw/siw/siw_verbs.c
>+++ b/drivers/infiniband/sw/siw/siw_verbs.c
>@@ -165,11 +165,12 @@ int siw_query_port(struct ib_device *base_dev,
>u8 port,
> 		   struct ib_port_attr *attr)
> {
> 	struct siw_device *sdev = to_siw_dev(base_dev);
>+	int rv;
> 
> 	memset(attr, 0, sizeof(*attr));
> 
>-	attr->active_speed = 2;
>-	attr->active_width = 2;
>+	rv = ib_get_eth_speed(base_dev, port, &attr->active_speed,
>+			 &attr->active_width);
> 	attr->gid_tbl_len = 1;
> 	attr->max_msg_sz = -1;
> 	attr->max_mtu = ib_mtu_int_to_enum(sdev->netdev->mtu);
>@@ -192,7 +193,7 @@ int siw_query_port(struct ib_device *base_dev, u8
>port,
> 	 * attr->subnet_timeout = 0;
> 	 * attr->init_type_repy = 0;
> 	 */
>-	return 0;
>+	return rv;
> }
> 
> int siw_get_port_immutable(struct ib_device *base_dev, u8 port,
>-- 
>2.21.1
>
>
Looks good, and does what it should do, thanks!

Tested-by: Bernard Metzler <bmt@zurich.ibm.com>
Reviewed-by: Bernard Metzler <bmt@zurich.ibm.com>
Leon Romanovsky Feb. 18, 2020, 4:58 p.m. UTC | #2
On Tue, Feb 18, 2020 at 11:59:11AM +0200, Kamal Heib wrote:
> Make sure to set the active_{speed, width} attributes to avoid reporting
> the same values regardless of the underlying device.
>
> Fixes: 303ae1cdfdf7 ("rdma/siw: application interface")
> Signed-off-by: Kamal Heib <kamalheib1@gmail.com>
> ---
> V2: Change rc to rv.
> ---
>  drivers/infiniband/sw/siw/siw_verbs.c | 7 ++++---
>  1 file changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/infiniband/sw/siw/siw_verbs.c b/drivers/infiniband/sw/siw/siw_verbs.c
> index 73485d0da907..d5390d498c61 100644
> --- a/drivers/infiniband/sw/siw/siw_verbs.c
> +++ b/drivers/infiniband/sw/siw/siw_verbs.c
> @@ -165,11 +165,12 @@ int siw_query_port(struct ib_device *base_dev, u8 port,
>  		   struct ib_port_attr *attr)
>  {
>  	struct siw_device *sdev = to_siw_dev(base_dev);
> +	int rv;
>
>  	memset(attr, 0, sizeof(*attr));

This line should go too. IB/core clears attr prior to call driver.

Thanks

>
> -	attr->active_speed = 2;
> -	attr->active_width = 2;
> +	rv = ib_get_eth_speed(base_dev, port, &attr->active_speed,
> +			 &attr->active_width);
>  	attr->gid_tbl_len = 1;
>  	attr->max_msg_sz = -1;
>  	attr->max_mtu = ib_mtu_int_to_enum(sdev->netdev->mtu);
> @@ -192,7 +193,7 @@ int siw_query_port(struct ib_device *base_dev, u8 port,
>  	 * attr->subnet_timeout = 0;
>  	 * attr->init_type_repy = 0;
>  	 */
> -	return 0;
> +	return rv;
>  }
>
>  int siw_get_port_immutable(struct ib_device *base_dev, u8 port,
> --
> 2.21.1
>
Kamal Heib Feb. 19, 2020, 8:43 a.m. UTC | #3
On Tue, Feb 18, 2020 at 06:58:47PM +0200, Leon Romanovsky wrote:
> On Tue, Feb 18, 2020 at 11:59:11AM +0200, Kamal Heib wrote:
> > Make sure to set the active_{speed, width} attributes to avoid reporting
> > the same values regardless of the underlying device.
> >
> > Fixes: 303ae1cdfdf7 ("rdma/siw: application interface")
> > Signed-off-by: Kamal Heib <kamalheib1@gmail.com>
> > ---
> > V2: Change rc to rv.
> > ---
> >  drivers/infiniband/sw/siw/siw_verbs.c | 7 ++++---
> >  1 file changed, 4 insertions(+), 3 deletions(-)
> >
> > diff --git a/drivers/infiniband/sw/siw/siw_verbs.c b/drivers/infiniband/sw/siw/siw_verbs.c
> > index 73485d0da907..d5390d498c61 100644
> > --- a/drivers/infiniband/sw/siw/siw_verbs.c
> > +++ b/drivers/infiniband/sw/siw/siw_verbs.c
> > @@ -165,11 +165,12 @@ int siw_query_port(struct ib_device *base_dev, u8 port,
> >  		   struct ib_port_attr *attr)
> >  {
> >  	struct siw_device *sdev = to_siw_dev(base_dev);
> > +	int rv;
> >
> >  	memset(attr, 0, sizeof(*attr));
> 
> This line should go too. IB/core clears attr prior to call driver.
> 
> Thanks
>

This can be done in a separate patch as this patch fixes a specific issue.

Thanks,
Kamal

> >
> > -	attr->active_speed = 2;
> > -	attr->active_width = 2;
> > +	rv = ib_get_eth_speed(base_dev, port, &attr->active_speed,
> > +			 &attr->active_width);
> >  	attr->gid_tbl_len = 1;
> >  	attr->max_msg_sz = -1;
> >  	attr->max_mtu = ib_mtu_int_to_enum(sdev->netdev->mtu);
> > @@ -192,7 +193,7 @@ int siw_query_port(struct ib_device *base_dev, u8 port,
> >  	 * attr->subnet_timeout = 0;
> >  	 * attr->init_type_repy = 0;
> >  	 */
> > -	return 0;
> > +	return rv;
> >  }
> >
> >  int siw_get_port_immutable(struct ib_device *base_dev, u8 port,
> > --
> > 2.21.1
> >
Leon Romanovsky Feb. 19, 2020, 9:33 a.m. UTC | #4
On Wed, Feb 19, 2020 at 10:43:59AM +0200, Kamal Heib wrote:
> On Tue, Feb 18, 2020 at 06:58:47PM +0200, Leon Romanovsky wrote:
> > On Tue, Feb 18, 2020 at 11:59:11AM +0200, Kamal Heib wrote:
> > > Make sure to set the active_{speed, width} attributes to avoid reporting
> > > the same values regardless of the underlying device.
> > >
> > > Fixes: 303ae1cdfdf7 ("rdma/siw: application interface")
> > > Signed-off-by: Kamal Heib <kamalheib1@gmail.com>
> > > ---
> > > V2: Change rc to rv.
> > > ---
> > >  drivers/infiniband/sw/siw/siw_verbs.c | 7 ++++---
> > >  1 file changed, 4 insertions(+), 3 deletions(-)
> > >
> > > diff --git a/drivers/infiniband/sw/siw/siw_verbs.c b/drivers/infiniband/sw/siw/siw_verbs.c
> > > index 73485d0da907..d5390d498c61 100644
> > > --- a/drivers/infiniband/sw/siw/siw_verbs.c
> > > +++ b/drivers/infiniband/sw/siw/siw_verbs.c
> > > @@ -165,11 +165,12 @@ int siw_query_port(struct ib_device *base_dev, u8 port,
> > >  		   struct ib_port_attr *attr)
> > >  {
> > >  	struct siw_device *sdev = to_siw_dev(base_dev);
> > > +	int rv;
> > >
> > >  	memset(attr, 0, sizeof(*attr));
> >
> > This line should go too. IB/core clears attr prior to call driver.
> >
> > Thanks
> >
>
> This can be done in a separate patch as this patch fixes a specific issue.

Whatever works for you, if you don't value your own time, go for it,
do separate patch for every line you are changing. It just looks crazy
to see changes like this:
 * changed line
 * line to be changed, but not changed
 * another changed line

Thanks

>
> Thanks,
> Kamal
>
> > >
> > > -	attr->active_speed = 2;
> > > -	attr->active_width = 2;
> > > +	rv = ib_get_eth_speed(base_dev, port, &attr->active_speed,
> > > +			 &attr->active_width);
> > >  	attr->gid_tbl_len = 1;
> > >  	attr->max_msg_sz = -1;
> > >  	attr->max_mtu = ib_mtu_int_to_enum(sdev->netdev->mtu);
> > > @@ -192,7 +193,7 @@ int siw_query_port(struct ib_device *base_dev, u8 port,
> > >  	 * attr->subnet_timeout = 0;
> > >  	 * attr->init_type_repy = 0;
> > >  	 */
> > > -	return 0;
> > > +	return rv;
> > >  }
> > >
> > >  int siw_get_port_immutable(struct ib_device *base_dev, u8 port,
> > > --
> > > 2.21.1
> > >
Kamal Heib Feb. 19, 2020, 10:21 a.m. UTC | #5
On Wed, Feb 19, 2020 at 11:33:21AM +0200, Leon Romanovsky wrote:
> On Wed, Feb 19, 2020 at 10:43:59AM +0200, Kamal Heib wrote:
> > On Tue, Feb 18, 2020 at 06:58:47PM +0200, Leon Romanovsky wrote:
> > > On Tue, Feb 18, 2020 at 11:59:11AM +0200, Kamal Heib wrote:
> > > > Make sure to set the active_{speed, width} attributes to avoid reporting
> > > > the same values regardless of the underlying device.
> > > >
> > > > Fixes: 303ae1cdfdf7 ("rdma/siw: application interface")
> > > > Signed-off-by: Kamal Heib <kamalheib1@gmail.com>
> > > > ---
> > > > V2: Change rc to rv.
> > > > ---
> > > >  drivers/infiniband/sw/siw/siw_verbs.c | 7 ++++---
> > > >  1 file changed, 4 insertions(+), 3 deletions(-)
> > > >
> > > > diff --git a/drivers/infiniband/sw/siw/siw_verbs.c b/drivers/infiniband/sw/siw/siw_verbs.c
> > > > index 73485d0da907..d5390d498c61 100644
> > > > --- a/drivers/infiniband/sw/siw/siw_verbs.c
> > > > +++ b/drivers/infiniband/sw/siw/siw_verbs.c
> > > > @@ -165,11 +165,12 @@ int siw_query_port(struct ib_device *base_dev, u8 port,
> > > >  		   struct ib_port_attr *attr)
> > > >  {
> > > >  	struct siw_device *sdev = to_siw_dev(base_dev);
> > > > +	int rv;
> > > >
> > > >  	memset(attr, 0, sizeof(*attr));
> > >
> > > This line should go too. IB/core clears attr prior to call driver.
> > >
> > > Thanks
> > >
> >
> > This can be done in a separate patch as this patch fixes a specific issue.
> 
> Whatever works for you, if you don't value your own time, go for it,
> do separate patch for every line you are changing. It just looks crazy
> to see changes like this:
>  * changed line
>  * line to be changed, but not changed
>  * another changed line
> 
> Thanks
>

Leon, With all my respect, This isn't your decision what I do and when.

W.R.T your suggestion for removing the memset() line, there are multiple
places in the siw drivers that do memset in the ib_device_ops, with that
said, I think that this need to be done in a separate patch. BTW you can
do the change too ;)

Thanks,
Kamal

> >
> > Thanks,
> > Kamal
> >
> > > >
> > > > -	attr->active_speed = 2;
> > > > -	attr->active_width = 2;
> > > > +	rv = ib_get_eth_speed(base_dev, port, &attr->active_speed,
> > > > +			 &attr->active_width);
> > > >  	attr->gid_tbl_len = 1;
> > > >  	attr->max_msg_sz = -1;
> > > >  	attr->max_mtu = ib_mtu_int_to_enum(sdev->netdev->mtu);
> > > > @@ -192,7 +193,7 @@ int siw_query_port(struct ib_device *base_dev, u8 port,
> > > >  	 * attr->subnet_timeout = 0;
> > > >  	 * attr->init_type_repy = 0;
> > > >  	 */
> > > > -	return 0;
> > > > +	return rv;
> > > >  }
> > > >
> > > >  int siw_get_port_immutable(struct ib_device *base_dev, u8 port,
> > > > --
> > > > 2.21.1
> > > >
Leon Romanovsky Feb. 19, 2020, 10:53 a.m. UTC | #6
On Wed, Feb 19, 2020 at 12:21:10PM +0200, Kamal Heib wrote:
> On Wed, Feb 19, 2020 at 11:33:21AM +0200, Leon Romanovsky wrote:
> > On Wed, Feb 19, 2020 at 10:43:59AM +0200, Kamal Heib wrote:
> > > On Tue, Feb 18, 2020 at 06:58:47PM +0200, Leon Romanovsky wrote:
> > > > On Tue, Feb 18, 2020 at 11:59:11AM +0200, Kamal Heib wrote:
> > > > > Make sure to set the active_{speed, width} attributes to avoid reporting
> > > > > the same values regardless of the underlying device.
> > > > >
> > > > > Fixes: 303ae1cdfdf7 ("rdma/siw: application interface")
> > > > > Signed-off-by: Kamal Heib <kamalheib1@gmail.com>
> > > > > ---
> > > > > V2: Change rc to rv.
> > > > > ---
> > > > >  drivers/infiniband/sw/siw/siw_verbs.c | 7 ++++---
> > > > >  1 file changed, 4 insertions(+), 3 deletions(-)
> > > > >
> > > > > diff --git a/drivers/infiniband/sw/siw/siw_verbs.c b/drivers/infiniband/sw/siw/siw_verbs.c
> > > > > index 73485d0da907..d5390d498c61 100644
> > > > > --- a/drivers/infiniband/sw/siw/siw_verbs.c
> > > > > +++ b/drivers/infiniband/sw/siw/siw_verbs.c
> > > > > @@ -165,11 +165,12 @@ int siw_query_port(struct ib_device *base_dev, u8 port,
> > > > >  		   struct ib_port_attr *attr)
> > > > >  {
> > > > >  	struct siw_device *sdev = to_siw_dev(base_dev);
> > > > > +	int rv;
> > > > >
> > > > >  	memset(attr, 0, sizeof(*attr));
> > > >
> > > > This line should go too. IB/core clears attr prior to call driver.
> > > >
> > > > Thanks
> > > >
> > >
> > > This can be done in a separate patch as this patch fixes a specific issue.
> >
> > Whatever works for you, if you don't value your own time, go for it,
> > do separate patch for every line you are changing. It just looks crazy
> > to see changes like this:
> >  * changed line
> >  * line to be changed, but not changed
> >  * another changed line
> >
> > Thanks
> >
>
> Leon, With all my respect, This isn't your decision what I do and when.

Please carefully reread my answer, I didn't say what and when you should
do, simply gave to you an explanation why request remove useless memeset
makes sense in the context of proposed patch.

Thanks
Gal Pressman Feb. 19, 2020, 11:07 a.m. UTC | #7
On 19/02/2020 12:53, Leon Romanovsky wrote:
> On Wed, Feb 19, 2020 at 12:21:10PM +0200, Kamal Heib wrote:
>> On Wed, Feb 19, 2020 at 11:33:21AM +0200, Leon Romanovsky wrote:
>>> On Wed, Feb 19, 2020 at 10:43:59AM +0200, Kamal Heib wrote:
>>>> On Tue, Feb 18, 2020 at 06:58:47PM +0200, Leon Romanovsky wrote:
>>>>> On Tue, Feb 18, 2020 at 11:59:11AM +0200, Kamal Heib wrote:
>>>>>> Make sure to set the active_{speed, width} attributes to avoid reporting
>>>>>> the same values regardless of the underlying device.
>>>>>>
>>>>>> Fixes: 303ae1cdfdf7 ("rdma/siw: application interface")
>>>>>> Signed-off-by: Kamal Heib <kamalheib1@gmail.com>
>>>>>> ---
>>>>>> V2: Change rc to rv.
>>>>>> ---
>>>>>>  drivers/infiniband/sw/siw/siw_verbs.c | 7 ++++---
>>>>>>  1 file changed, 4 insertions(+), 3 deletions(-)
>>>>>>
>>>>>> diff --git a/drivers/infiniband/sw/siw/siw_verbs.c b/drivers/infiniband/sw/siw/siw_verbs.c
>>>>>> index 73485d0da907..d5390d498c61 100644
>>>>>> --- a/drivers/infiniband/sw/siw/siw_verbs.c
>>>>>> +++ b/drivers/infiniband/sw/siw/siw_verbs.c
>>>>>> @@ -165,11 +165,12 @@ int siw_query_port(struct ib_device *base_dev, u8 port,
>>>>>>  		   struct ib_port_attr *attr)
>>>>>>  {
>>>>>>  	struct siw_device *sdev = to_siw_dev(base_dev);
>>>>>> +	int rv;
>>>>>>
>>>>>>  	memset(attr, 0, sizeof(*attr));
>>>>>
>>>>> This line should go too. IB/core clears attr prior to call driver.
>>>>>
>>>>> Thanks
>>>>>
>>>>
>>>> This can be done in a separate patch as this patch fixes a specific issue.
>>>
>>> Whatever works for you, if you don't value your own time, go for it,
>>> do separate patch for every line you are changing. It just looks crazy
>>> to see changes like this:
>>>  * changed line
>>>  * line to be changed, but not changed
>>>  * another changed line
>>>
>>> Thanks
>>>
>>
>> Leon, With all my respect, This isn't your decision what I do and when.
> 
> Please carefully reread my answer, I didn't say what and when you should
> do, simply gave to you an explanation why request remove useless memeset
> makes sense in the context of proposed patch.

I tend to agree with Kamal..
If the patch contained the memset removal I would argue it should be dropped as
it has nothing to do with the purpose of this commit. Just adds noise to the review.
Kamal Heib Feb. 19, 2020, 11:13 a.m. UTC | #8
On Wed, Feb 19, 2020 at 12:53:20PM +0200, Leon Romanovsky wrote:
> On Wed, Feb 19, 2020 at 12:21:10PM +0200, Kamal Heib wrote:
> > On Wed, Feb 19, 2020 at 11:33:21AM +0200, Leon Romanovsky wrote:
> > > On Wed, Feb 19, 2020 at 10:43:59AM +0200, Kamal Heib wrote:
> > > > On Tue, Feb 18, 2020 at 06:58:47PM +0200, Leon Romanovsky wrote:
> > > > > On Tue, Feb 18, 2020 at 11:59:11AM +0200, Kamal Heib wrote:
> > > > > > Make sure to set the active_{speed, width} attributes to avoid reporting
> > > > > > the same values regardless of the underlying device.
> > > > > >
> > > > > > Fixes: 303ae1cdfdf7 ("rdma/siw: application interface")
> > > > > > Signed-off-by: Kamal Heib <kamalheib1@gmail.com>
> > > > > > ---
> > > > > > V2: Change rc to rv.
> > > > > > ---
> > > > > >  drivers/infiniband/sw/siw/siw_verbs.c | 7 ++++---
> > > > > >  1 file changed, 4 insertions(+), 3 deletions(-)
> > > > > >
> > > > > > diff --git a/drivers/infiniband/sw/siw/siw_verbs.c b/drivers/infiniband/sw/siw/siw_verbs.c
> > > > > > index 73485d0da907..d5390d498c61 100644
> > > > > > --- a/drivers/infiniband/sw/siw/siw_verbs.c
> > > > > > +++ b/drivers/infiniband/sw/siw/siw_verbs.c
> > > > > > @@ -165,11 +165,12 @@ int siw_query_port(struct ib_device *base_dev, u8 port,
> > > > > >  		   struct ib_port_attr *attr)
> > > > > >  {
> > > > > >  	struct siw_device *sdev = to_siw_dev(base_dev);
> > > > > > +	int rv;
> > > > > >
> > > > > >  	memset(attr, 0, sizeof(*attr));
> > > > >
> > > > > This line should go too. IB/core clears attr prior to call driver.
> > > > >
> > > > > Thanks
> > > > >
> > > >
> > > > This can be done in a separate patch as this patch fixes a specific issue.
> > >
> > > Whatever works for you, if you don't value your own time, go for it,
> > > do separate patch for every line you are changing. It just looks crazy
> > > to see changes like this:
> > >  * changed line
> > >  * line to be changed, but not changed
> > >  * another changed line
> > >
> > > Thanks
> > >
> >
> > Leon, With all my respect, This isn't your decision what I do and when.
> 
> Please carefully reread my answer, I didn't say what and when you should
> do, simply gave to you an explanation why request remove useless memeset
> makes sense in the context of proposed patch.
> 
> Thanks

I simply give an answer to why I think otherwise, That doesn't mean that
I don't value my own time...

Thanks,
Kamal
Jason Gunthorpe Feb. 27, 2020, 8:40 p.m. UTC | #9
On Tue, Feb 18, 2020 at 11:59:11AM +0200, Kamal Heib wrote:
> Make sure to set the active_{speed, width} attributes to avoid reporting
> the same values regardless of the underlying device.
> 
> Fixes: 303ae1cdfdf7 ("rdma/siw: application interface")
> Signed-off-by: Kamal Heib <kamalheib1@gmail.com>
> Tested-by: Bernard Metzler <bmt@zurich.ibm.com>
> Reviewed-by: Bernard Metzler <bmt@zurich.ibm.com>
> ---
> V2: Change rc to rv.
> ---
>  drivers/infiniband/sw/siw/siw_verbs.c | 7 ++++---
>  1 file changed, 4 insertions(+), 3 deletions(-)

Applied to for-next, thanks

Jason
diff mbox series

Patch

diff --git a/drivers/infiniband/sw/siw/siw_verbs.c b/drivers/infiniband/sw/siw/siw_verbs.c
index 73485d0da907..d5390d498c61 100644
--- a/drivers/infiniband/sw/siw/siw_verbs.c
+++ b/drivers/infiniband/sw/siw/siw_verbs.c
@@ -165,11 +165,12 @@  int siw_query_port(struct ib_device *base_dev, u8 port,
 		   struct ib_port_attr *attr)
 {
 	struct siw_device *sdev = to_siw_dev(base_dev);
+	int rv;
 
 	memset(attr, 0, sizeof(*attr));
 
-	attr->active_speed = 2;
-	attr->active_width = 2;
+	rv = ib_get_eth_speed(base_dev, port, &attr->active_speed,
+			 &attr->active_width);
 	attr->gid_tbl_len = 1;
 	attr->max_msg_sz = -1;
 	attr->max_mtu = ib_mtu_int_to_enum(sdev->netdev->mtu);
@@ -192,7 +193,7 @@  int siw_query_port(struct ib_device *base_dev, u8 port,
 	 * attr->subnet_timeout = 0;
 	 * attr->init_type_repy = 0;
 	 */
-	return 0;
+	return rv;
 }
 
 int siw_get_port_immutable(struct ib_device *base_dev, u8 port,