|
@@ -508,12 +508,12 @@ void ib_cache_gid_set_default_gid(struct ib_device *ib_dev, u8 port,
|
|
memset(&gid_attr, 0, sizeof(gid_attr));
|
|
memset(&gid_attr, 0, sizeof(gid_attr));
|
|
gid_attr.ndev = ndev;
|
|
gid_attr.ndev = ndev;
|
|
|
|
|
|
|
|
+ mutex_lock(&table->lock);
|
|
ix = find_gid(table, NULL, NULL, true, GID_ATTR_FIND_MASK_DEFAULT);
|
|
ix = find_gid(table, NULL, NULL, true, GID_ATTR_FIND_MASK_DEFAULT);
|
|
|
|
|
|
/* Coudn't find default GID location */
|
|
/* Coudn't find default GID location */
|
|
WARN_ON(ix < 0);
|
|
WARN_ON(ix < 0);
|
|
|
|
|
|
- mutex_lock(&table->lock);
|
|
|
|
if (!__ib_cache_gid_get(ib_dev, port, ix,
|
|
if (!__ib_cache_gid_get(ib_dev, port, ix,
|
|
¤t_gid, ¤t_gid_attr) &&
|
|
¤t_gid, ¤t_gid_attr) &&
|
|
mode == IB_CACHE_GID_DEFAULT_MODE_SET &&
|
|
mode == IB_CACHE_GID_DEFAULT_MODE_SET &&
|