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
