On 18/09/2023 20:37, Leon Romanovsky wrote: > On Mon, Sep 18, 2023 at 10:05:43AM +0800, Li Zhijian wrote: >> 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. > > I would expect removal of that print line instead of moving > rxe_register_device(). I also struggled with this point. The last option is keep it as it is. Once rxe is registered, this print will work fine. Thanks Zhijian > > Thanks > >> >> 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 >>