On 2020/3/27 3:51, Jason Gunthorpe wrote: > On Fri, Mar 20, 2020 at 11:23:36AM +0800, Weihang Li wrote: > >> @@ -2028,6 +2002,13 @@ static int hns_roce_v2_profile(struct hns_roce_dev *hr_dev) >> if (ret) >> set_default_caps(hr_dev); >> >> + ret = hns_roce_alloc_vf_resource(hr_dev); >> + if (ret) { >> + dev_err(hr_dev->dev, "Allocate vf resource fail, ret = %d.\n", >> + ret); >> + return ret; >> + } > > It is unfortunate these have to remain as dev_err() > > I've thought about setting the name during ib_alloc_dev, which would > avoid this, what do you think? > > Jason > Hi Jason, Thanks for your comments. I agree with you and make a simple test by just moving assign_name() into _ib_alloc_device(), and ibdev_*() works fine anywhere in hns. But I'm not sure if there are any side effects. I noticed that the code about name assignment is implemented by you, could you please explain why put assign_name() in ib_register_device() rather than ib_alloc_device()? Thanks Weihang