From: Lijun Ou <[email protected]>

This lock will be used in query port interface, and will be called
while IB device was registered to OFED frame. So, the lock of iboe
must be initiated before IB device was registered.

Signed-off-by: Lijun Ou <[email protected]>
Signed-off-by: Dongdong Huang(Donald) <[email protected]>
Reviewed-by:  Wei Hu (Xavier) <[email protected]>
Signed-off-by: Salil Mehta <[email protected]>
---
 drivers/infiniband/hw/hns/hns_roce_main.c |    3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/infiniband/hw/hns/hns_roce_main.c 
b/drivers/infiniband/hw/hns/hns_roce_main.c
index 2704076..4721c0c 100644
--- a/drivers/infiniband/hw/hns/hns_roce_main.c
+++ b/drivers/infiniband/hw/hns/hns_roce_main.c
@@ -615,6 +615,7 @@ static int hns_roce_register_device(struct hns_roce_dev 
*hr_dev)
        struct device *dev = &hr_dev->pdev->dev;
 
        iboe = &hr_dev->iboe;
+       spin_lock_init(&iboe->lock);
 
        ib_dev = &hr_dev->ib_dev;
        strlcpy(ib_dev->name, "hisi_%d", IB_DEVICE_NAME_MAX);
@@ -701,8 +702,6 @@ static int hns_roce_register_device(struct hns_roce_dev 
*hr_dev)
                goto error_failed_setup_mtu_gids;
        }
 
-       spin_lock_init(&iboe->lock);
-
        iboe->nb.notifier_call = hns_roce_netdev_event;
        ret = register_netdevice_notifier(&iboe->nb);
        if (ret) {
-- 
1.7.9.5

Reply via email to