diff mbox series

[RFC,for-rc] IB/mlx4: Fix the fix for reading flow-counters

Message ID 1641918938-10011-1-git-send-email-haakon.bugge@oracle.com (mailing list archive)
State Rejected
Headers show
Series [RFC,for-rc] IB/mlx4: Fix the fix for reading flow-counters | expand

Commit Message

Haakon Bugge Jan. 11, 2022, 4:35 p.m. UTC
It is not logical to call iboe_process_mad() when the link-layer is
Infiniband. Nevertheless, the commit message in commit 43bfb9729ea8
("IB/mlx4: Fix use of flow-counters for process_mad") explicitly state
that iboe_process_mad() shall be called.

Without this fix, reading:

yields "Invalid argument", whereas with this commit, said counter can
be read.

Please note that mlx4_1 is a VF.

Fixes: 43bfb9729ea8 ("IB/mlx4: Fix use of flow-counters for process_mad")
Signed-off-by: Håkon Bugge <haakon.bugge@oracle.com>
---
 drivers/infiniband/hw/mlx4/mad.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Haakon Bugge Jan. 11, 2022, 4:38 p.m. UTC | #1
> On 11 Jan 2022, at 17:35, Håkon Bugge <haakon.bugge@oracle.com> wrote:
> 
> It is not logical to call iboe_process_mad() when the link-layer is
> Infiniband. Nevertheless, the commit message in commit 43bfb9729ea8
> ("IB/mlx4: Fix use of flow-counters for process_mad") explicitly state
> that iboe_process_mad() shall be called.
> 
> Without this fix, reading:

 # cat /sys/class/infiniband/mlx4_0/ports/2/counters_ext/port_xmit_data_64

(sorry, this line was of course taken as comment and was removed).


Thxs, Håkon


> 
> yields "Invalid argument", whereas with this commit, said counter can
> be read.
> 
> Please note that mlx4_1 is a VF.
> 
> Fixes: 43bfb9729ea8 ("IB/mlx4: Fix use of flow-counters for process_mad")
> Signed-off-by: Håkon Bugge <haakon.bugge@oracle.com>
> ---
> drivers/infiniband/hw/mlx4/mad.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/infiniband/hw/mlx4/mad.c b/drivers/infiniband/hw/mlx4/mad.c
> index d13ecbd..cc83782 100644
> --- a/drivers/infiniband/hw/mlx4/mad.c
> +++ b/drivers/infiniband/hw/mlx4/mad.c
> @@ -998,8 +998,8 @@ int mlx4_ib_process_mad(struct ib_device *ibdev, int mad_flags, u32 port_num,
> 		     (in->mad_hdr.attr_id == IB_PMA_PORT_COUNTERS ||
> 		      in->mad_hdr.attr_id == IB_PMA_PORT_COUNTERS_EXT ||
> 		      in->mad_hdr.attr_id == IB_PMA_CLASS_PORT_INFO)))
> -			return iboe_process_mad(ibdev, mad_flags, port_num,
> -						in_wc, in_grh, in, out);
> +			return ib_process_mad(ibdev, mad_flags, port_num,
> +					      in_wc, in_grh, in, out);
> 
> 		return ib_process_mad(ibdev, mad_flags, port_num, in_wc, in_grh,
> 				      in, out);
> -- 
> 1.8.3.1
>
Haakon Bugge Jan. 11, 2022, 4:39 p.m. UTC | #2
> On 11 Jan 2022, at 17:38, Haakon Bugge <haakon.bugge@oracle.com> wrote:
> 
> 
> 
>> On 11 Jan 2022, at 17:35, Håkon Bugge <haakon.bugge@oracle.com> wrote:
>> 
>> It is not logical to call iboe_process_mad() when the link-layer is
>> Infiniband. Nevertheless, the commit message in commit 43bfb9729ea8
>> ("IB/mlx4: Fix use of flow-counters for process_mad") explicitly state
>> that iboe_process_mad() shall be called.
>> 
>> Without this fix, reading:
> 
> # cat /sys/class/infiniband/mlx4_0/ports/2/counters_ext/port_xmit_data_64

 should read:

 # cat /sys/class/infiniband/mlx4_1/ports/1/counters_ext/port_xmit_data_64


> 
> (sorry, this line was of course taken as comment and was removed).
> 
> 
> Thxs, Håkon
> 
> 
>> 
>> yields "Invalid argument", whereas with this commit, said counter can
>> be read.
>> 
>> Please note that mlx4_1 is a VF.
>> 
>> Fixes: 43bfb9729ea8 ("IB/mlx4: Fix use of flow-counters for process_mad")
>> Signed-off-by: Håkon Bugge <haakon.bugge@oracle.com>
>> ---
>> drivers/infiniband/hw/mlx4/mad.c | 4 ++--
>> 1 file changed, 2 insertions(+), 2 deletions(-)
>> 
>> diff --git a/drivers/infiniband/hw/mlx4/mad.c b/drivers/infiniband/hw/mlx4/mad.c
>> index d13ecbd..cc83782 100644
>> --- a/drivers/infiniband/hw/mlx4/mad.c
>> +++ b/drivers/infiniband/hw/mlx4/mad.c
>> @@ -998,8 +998,8 @@ int mlx4_ib_process_mad(struct ib_device *ibdev, int mad_flags, u32 port_num,
>> 		     (in->mad_hdr.attr_id == IB_PMA_PORT_COUNTERS ||
>> 		      in->mad_hdr.attr_id == IB_PMA_PORT_COUNTERS_EXT ||
>> 		      in->mad_hdr.attr_id == IB_PMA_CLASS_PORT_INFO)))
>> -			return iboe_process_mad(ibdev, mad_flags, port_num,
>> -						in_wc, in_grh, in, out);
>> +			return ib_process_mad(ibdev, mad_flags, port_num,
>> +					      in_wc, in_grh, in, out);
>> 
>> 		return ib_process_mad(ibdev, mad_flags, port_num, in_wc, in_grh,
>> 				      in, out);
>> -- 
>> 1.8.3.1
Haakon Bugge Jan. 11, 2022, 6:35 p.m. UTC | #3
> On 11 Jan 2022, at 17:39, Haakon Bugge <haakon.bugge@oracle.com> wrote:
> 
> 
> 
>> On 11 Jan 2022, at 17:38, Haakon Bugge <haakon.bugge@oracle.com> wrote:
>> 
>> 
>> 
>>> On 11 Jan 2022, at 17:35, Håkon Bugge <haakon.bugge@oracle.com> wrote:
>>> 
>>> It is not logical to call iboe_process_mad() when the link-layer is
>>> Infiniband. Nevertheless, the commit message in commit 43bfb9729ea8
>>> ("IB/mlx4: Fix use of flow-counters for process_mad") explicitly state
>>> that iboe_process_mad() shall be called.
>>> 
>>> Without this fix, reading:
>> 
>> # cat /sys/class/infiniband/mlx4_0/ports/2/counters_ext/port_xmit_data_64
> 
> should read:
> 
> # cat /sys/class/infiniband/mlx4_1/ports/1/counters_ext/port_xmit_data_64

Pleas ignore this RFC, as it is plain wrong. Sorry for the noise.


Thxs, Håkon

> 
> 
>> 
>> (sorry, this line was of course taken as comment and was removed).
>> 
>> 
>> Thxs, Håkon
>> 
>> 
>>> 
>>> yields "Invalid argument", whereas with this commit, said counter can
>>> be read.
>>> 
>>> Please note that mlx4_1 is a VF.
>>> 
>>> Fixes: 43bfb9729ea8 ("IB/mlx4: Fix use of flow-counters for process_mad")
>>> Signed-off-by: Håkon Bugge <haakon.bugge@oracle.com>
>>> ---
>>> drivers/infiniband/hw/mlx4/mad.c | 4 ++--
>>> 1 file changed, 2 insertions(+), 2 deletions(-)
>>> 
>>> diff --git a/drivers/infiniband/hw/mlx4/mad.c b/drivers/infiniband/hw/mlx4/mad.c
>>> index d13ecbd..cc83782 100644
>>> --- a/drivers/infiniband/hw/mlx4/mad.c
>>> +++ b/drivers/infiniband/hw/mlx4/mad.c
>>> @@ -998,8 +998,8 @@ int mlx4_ib_process_mad(struct ib_device *ibdev, int mad_flags, u32 port_num,
>>> 		     (in->mad_hdr.attr_id == IB_PMA_PORT_COUNTERS ||
>>> 		      in->mad_hdr.attr_id == IB_PMA_PORT_COUNTERS_EXT ||
>>> 		      in->mad_hdr.attr_id == IB_PMA_CLASS_PORT_INFO)))
>>> -			return iboe_process_mad(ibdev, mad_flags, port_num,
>>> -						in_wc, in_grh, in, out);
>>> +			return ib_process_mad(ibdev, mad_flags, port_num,
>>> +					      in_wc, in_grh, in, out);
>>> 
>>> 		return ib_process_mad(ibdev, mad_flags, port_num, in_wc, in_grh,
>>> 				      in, out);
>>> -- 
>>> 1.8.3.1
diff mbox series

Patch

diff --git a/drivers/infiniband/hw/mlx4/mad.c b/drivers/infiniband/hw/mlx4/mad.c
index d13ecbd..cc83782 100644
--- a/drivers/infiniband/hw/mlx4/mad.c
+++ b/drivers/infiniband/hw/mlx4/mad.c
@@ -998,8 +998,8 @@  int mlx4_ib_process_mad(struct ib_device *ibdev, int mad_flags, u32 port_num,
 		     (in->mad_hdr.attr_id == IB_PMA_PORT_COUNTERS ||
 		      in->mad_hdr.attr_id == IB_PMA_PORT_COUNTERS_EXT ||
 		      in->mad_hdr.attr_id == IB_PMA_CLASS_PORT_INFO)))
-			return iboe_process_mad(ibdev, mad_flags, port_num,
-						in_wc, in_grh, in, out);
+			return ib_process_mad(ibdev, mad_flags, port_num,
+					      in_wc, in_grh, in, out);
 
 		return ib_process_mad(ibdev, mad_flags, port_num, in_wc, in_grh,
 				      in, out);