In sm_mad_ctrl_process_trap_repress, when attribute ID is notice, don't just return the mad but rather retire it which fixes the qp0_mads_accounting. Trap/TrapRepresses are treated as transactions.
Signed-off-by: Hal Rosenstock <[email protected]> --- diff --git a/opensm/opensm/osm_sm_mad_ctrl.c b/opensm/opensm/osm_sm_mad_ctrl.c index a4f488d..74beb1c 100644 --- a/opensm/opensm/osm_sm_mad_ctrl.c +++ b/opensm/opensm/osm_sm_mad_ctrl.c @@ -552,6 +552,7 @@ static void sm_mad_ctrl_process_trap_repress(IN osm_sm_mad_ctrl_t * p_ctrl, */ switch (p_smp->attr_id) { case IB_MAD_ATTR_NOTICE: + sm_mad_ctrl_retire_trans_mad(p_ctrl, p_madw); break; default: cl_atomic_inc(&p_ctrl->p_stats->qp0_mads_rcvd_unknown); @@ -559,11 +560,10 @@ static void sm_mad_ctrl_process_trap_repress(IN osm_sm_mad_ctrl_t * p_ctrl, "Unsupported attribute 0x%X\n", cl_ntoh16(p_smp->attr_id)); osm_dump_dr_smp(p_ctrl->p_log, p_smp, OSM_LOG_ERROR); + osm_mad_pool_put(p_ctrl->p_mad_pool, p_madw); break; } - osm_mad_pool_put(p_ctrl->p_mad_pool, p_madw); - OSM_LOG_EXIT(p_ctrl->p_log); } -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
