Fix class registration bug in mad_rpc_open_port(). Now it uses
mad_register_client_via() (and not mad_register_port_client()) which
returns status value and not an agent value - so don't overwrite by zero
agent number in port's class_agent array.

Signed-off-by: Sasha Khapyorsky <[email protected]>
---

Hi Or,

On 12:04 Thu 12 Mar     , Or Gerlitz wrote:
> 
> commit 070649d6dc832edde9cc3a289109b39211d80d7d
> Author: Sasha Khapyorsky <[email protected]>
> Date:   Sat Mar 7 23:27:34 2009 +0200
> 
>     libibmad: cleanup deprecated function use
> 
>     This cleans up libibmad internal stuff from using potentially deprecated
>     functions, which may go away soon.
> 
>     Also removes DEPRECATED attribute from mad_register_port_client() - it
>     doesn't touch any global data.
> 
>     Signed-off-by: Sasha Khapyorsky <[email protected]>

This commit breaks tools which use non-SM class (such as perfquery).
There is the fix, I will commit soon.

Sasha


 libibmad/src/rpc.c |    4 +---
 1 files changed, 1 insertions(+), 3 deletions(-)

diff --git a/libibmad/src/rpc.c b/libibmad/src/rpc.c
index 233874b..87f0cad 100644
--- a/libibmad/src/rpc.c
+++ b/libibmad/src/rpc.c
@@ -361,12 +361,11 @@ struct ibmad_port *mad_rpc_open_port(char *dev_name, int 
dev_port,
        while (num_classes--) {
                uint8_t rmpp_version = 0;
                int mgmt = *mgmt_classes++;
-               int agent;
 
                if (mgmt == IB_SA_CLASS)
                        rmpp_version = 1;
                if (mgmt < 0 || mgmt >= MAX_CLASS ||
-                   (agent = mad_register_client_via(mgmt, rmpp_version, p)) < 
0) {
+                   mad_register_client_via(mgmt, rmpp_version, p) < 0) {
                        IBWARN("client_register for mgmt %d failed", mgmt);
                        if (!errno)
                                errno = EINVAL;
@@ -374,7 +373,6 @@ struct ibmad_port *mad_rpc_open_port(char *dev_name, int 
dev_port,
                        free(p);
                        return NULL;
                }
-               p->class_agents[mgmt] = agent;
        }
 
        return p;
-- 
1.6.1.2.319.gbd9e

_______________________________________________
general mailing list
[email protected]
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general

Reply via email to