From: Dan Ben Yosef <da...@mellanox.com> Need to check pkey received counter flag only after get mads and not set.
Signed-off-by: Dan Ben Yosef <da...@mellanox.com> --- include/opensm/osm_port.h | 3 ++- opensm/osm_pkey_rcv.c | 3 ++- opensm/osm_port.c | 6 ++++-- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/include/opensm/osm_port.h b/include/opensm/osm_port.h index a1efc97..f4b7efd 100644 --- a/include/opensm/osm_port.h +++ b/include/opensm/osm_port.h @@ -558,7 +558,8 @@ void osm_physp_set_port_info(IN osm_physp_t * p_physp, void osm_physp_set_pkey_tbl(IN osm_log_t * p_log, IN const osm_subn_t * p_subn, IN osm_physp_t * p_physp, IN ib_pkey_table_t * p_pkey_tbl, - IN uint16_t block_num); + IN uint16_t block_num, + IN boolean_t is_set); /* * PARAMETERS * p_log diff --git a/opensm/osm_pkey_rcv.c b/opensm/osm_pkey_rcv.c index 81da39c..6650766 100644 --- a/opensm/osm_pkey_rcv.c +++ b/opensm/osm_pkey_rcv.c @@ -186,7 +186,8 @@ void osm_pkey_rcv_process(IN void *context, IN void *data) p_pkey_tbl, FILE_ID, OSM_LOG_DEBUG); osm_physp_set_pkey_tbl(sm->p_log, sm->p_subn, - p_physp, p_pkey_tbl, block_num); + p_physp, p_pkey_tbl, block_num, + p_context->set_method); Exit: cl_plock_release(sm->p_lock); diff --git a/opensm/osm_port.c b/opensm/osm_port.c index 9dd7992..46152c5 100644 --- a/opensm/osm_port.c +++ b/opensm/osm_port.c @@ -646,7 +646,8 @@ boolean_t osm_link_is_healthy(IN const osm_physp_t * p_physp) void osm_physp_set_pkey_tbl(IN osm_log_t * p_log, IN const osm_subn_t * p_subn, IN osm_physp_t * p_physp, IN ib_pkey_table_t * p_pkey_tbl, - IN uint16_t block_num) + IN uint16_t block_num, + IN boolean_t is_set) { uint16_t max_blocks; @@ -687,7 +688,8 @@ void osm_physp_set_pkey_tbl(IN osm_log_t * p_log, IN const osm_subn_t * p_subn, } /* decrement block received counter */ - p_physp->pkeys.rcv_blocks_cnt--; + if(!is_set) + p_physp->pkeys.rcv_blocks_cnt--; osm_pkey_tbl_set(&p_physp->pkeys, block_num, p_pkey_tbl, p_subn->opt.allow_both_pkeys); } -- 1.7.8.2 -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html