diff --git a/net/lnet/lnet/lib-move.c b/net/lnet/lnet/lib-move.c index 8eeb5ec..0ee3a55 100644 --- a/net/lnet/lnet/lib-move.c +++ b/net/lnet/lnet/lib-move.c @@ -2390,10 +2390,15 @@ struct lnet_ni * rc = lnet_handle_send_case_locked(&send_data); + /* Update the local cpt since send_data.sd_cpt might've been + * updated as a result of calling lnet_handle_send_case_locked(). + */ + cpt = send_data.sd_cpt; + if (rc == REPEAT_SEND) goto again; - lnet_net_unlock(send_data.sd_cpt); + lnet_net_unlock(cpt); return rc; }