Intermittent timeout when modifying QP to RTR with RoCE

I am using CX6 cards (4123).
I create 4 QPs, wiring to 4 different remote QPs, the first two QP were successful. The third one timeout (errno=110).
At first I think there is a network issue that the NIC can’t resolve the remote IP’s MAC. so I print the MAC entry before and after the ibv_modify_qp(RTR) call.
before, there is no MAC entry, but right after the call, the MAC entry exists. However, ibv_modify_qp(RTR) already failed.
This is intermittent and hard to reproduce.
In the Mellanox driver, what is the reason to generate errno=110 with ibv_modify_qp(RTR) ?

Thanks for any suggestion for solve this problem.

By the way, two years ago, there was a similar question:

But it was closed and I did not get the answer from the dialog.