rxe_set_mtu() will call rxe_info_dev() to print message, and rxe_info_dev() expects dev_name(rxe->ib_dev->dev) has been assigned. Previously since dev_name() is not set, when a new rxe link is being added, 'null' will be used as the dev_name like: "(null): rxe_set_mtu: Set mtu to 1024" Move rxe_register_device() earlier to assign the correct dev_name so that it can be read by rxe_set_mtu() later. And it's safe to do such change since mtu will not be used during the rxe_register_device() After this change, the message becomes: "rxe_eth0: rxe_set_mtu: Set mtu to 4096" Fixes: 9ac01f434a1e ("RDMA/rxe: Extend dbg log messages to err and info") Reviewed-by: Daisuke Matsuda <matsuda-daisuke@xxxxxxxxxxx> Reviewed-by: Zhu Yanjun <yanjun.zhu@xxxxxxxxx> Signed-off-by: Li Zhijian <lizhijian@xxxxxxxxxxx> --- drivers/infiniband/sw/rxe/rxe.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/infiniband/sw/rxe/rxe.c b/drivers/infiniband/sw/rxe/rxe.c index a086d588e159..8a43c0c4f8d8 100644 --- a/drivers/infiniband/sw/rxe/rxe.c +++ b/drivers/infiniband/sw/rxe/rxe.c @@ -169,10 +169,13 @@ void rxe_set_mtu(struct rxe_dev *rxe, unsigned int ndev_mtu) */ int rxe_add(struct rxe_dev *rxe, unsigned int mtu, const char *ibdev_name) { + int ret; + rxe_init(rxe); + ret = rxe_register_device(rxe, ibdev_name); rxe_set_mtu(rxe, mtu); - return rxe_register_device(rxe, ibdev_name); + return ret; } static int rxe_newlink(const char *ibdev_name, struct net_device *ndev) -- 2.29.2