Commit 36721a6d authored by Anand Khoje's avatar Anand Khoje Committed by Jason Gunthorpe
Browse files

IB/core: Shifting initialization of device->cache_lock

The lock cache_lock of struct ib_device is initialized in function
ib_cache_setup_one(). This is much later than the device initialization in
_ib_alloc_device().

This change shifts initialization of cache_lock in _ib_alloc_device().

Link: https://lore.kernel.org/r/20210712122625.1147-3-anand.a.khoje@oracle.com


Suggested-by: default avatarHaakon Bugge <haakon.bugge@oracle.com>
Signed-off-by: default avatarAnand Khoje <anand.a.khoje@oracle.com>
Signed-off-by: default avatarJason Gunthorpe <jgg@nvidia.com>
parent 0bc0602a
Loading
Loading
Loading
Loading
+0 −2
Original line number Diff line number Diff line
@@ -1621,8 +1621,6 @@ int ib_cache_setup_one(struct ib_device *device)
	u32 p;
	int err;

	rwlock_init(&device->cache_lock);

	err = gid_table_setup_one(device);
	if (err)
		return err;
+2 −0
Original line number Diff line number Diff line
@@ -607,6 +607,8 @@ struct ib_device *_ib_alloc_device(size_t size)
	for (i = 0; i < ARRAY_SIZE(device->cq_pools); i++)
		INIT_LIST_HEAD(&device->cq_pools[i]);

	rwlock_init(&device->cache_lock);

	device->uverbs_cmd_mask =
		BIT_ULL(IB_USER_VERBS_CMD_ALLOC_MW) |
		BIT_ULL(IB_USER_VERBS_CMD_ALLOC_PD) |