diff options
author | Anand Khoje <anand.a.khoje@oracle.com> | 2021-07-12 14:26:24 +0200 |
---|---|---|
committer | Jason Gunthorpe <jgg@nvidia.com> | 2021-07-16 15:57:28 +0200 |
commit | 36721a6d4cf2a39f411e3ac04d5771d1ffef9d23 (patch) | |
tree | 023641c3af6edd1f8a1344ebdc02622a5d6e5831 /drivers/infiniband/core | |
parent | IB/core: Updating cache for subnet_prefix in config_non_roce_gid_cache() (diff) | |
download | linux-36721a6d4cf2a39f411e3ac04d5771d1ffef9d23.tar.xz linux-36721a6d4cf2a39f411e3ac04d5771d1ffef9d23.zip |
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: Haakon Bugge <haakon.bugge@oracle.com>
Signed-off-by: Anand Khoje <anand.a.khoje@oracle.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
Diffstat (limited to 'drivers/infiniband/core')
-rw-r--r-- | drivers/infiniband/core/cache.c | 2 | ||||
-rw-r--r-- | drivers/infiniband/core/device.c | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/drivers/infiniband/core/cache.c b/drivers/infiniband/core/cache.c index 929399e103d1..0c98dd3dee67 100644 --- a/drivers/infiniband/core/cache.c +++ b/drivers/infiniband/core/cache.c @@ -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; diff --git a/drivers/infiniband/core/device.c b/drivers/infiniband/core/device.c index fa20b1824fb8..ba0ad7241772 100644 --- a/drivers/infiniband/core/device.c +++ b/drivers/infiniband/core/device.c @@ -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) | |