Lines Matching refs:gid_cache
86 if (device->cache.gid_cache) {
87 cache = device->cache.gid_cache[port_num - start_port(device)];
116 if (!device->cache.gid_cache)
119 cache = device->cache.gid_cache[p];
274 struct ib_gid_cache *gid_cache = NULL, *old_gid_cache;
278 if (!(device->cache.pkey_cache && device->cache.gid_cache &&
300 gid_cache = kmalloc(sizeof *gid_cache + tprops->gid_tbl_len *
301 sizeof *gid_cache->table, GFP_KERNEL);
302 if (!gid_cache)
305 gid_cache->table_len = tprops->gid_tbl_len;
316 for (i = 0; i < gid_cache->table_len; ++i) {
317 ret = ib_query_gid(device, port, i, gid_cache->table + i);
328 old_gid_cache = device->cache.gid_cache [port - start_port(device)];
331 device->cache.gid_cache [port - start_port(device)] = gid_cache;
344 kfree(gid_cache);
388 device->cache.gid_cache =
389 kmalloc(sizeof *device->cache.gid_cache *
397 if (!device->cache.pkey_cache || !device->cache.gid_cache ||
406 device->cache.gid_cache [p] = NULL;
420 kfree(device->cache.gid_cache[p]);
425 kfree(device->cache.gid_cache);
428 device->cache.gid_cache = NULL;
436 if (!(device->cache.pkey_cache && device->cache.gid_cache &&
445 kfree(device->cache.gid_cache[p]);
449 kfree(device->cache.gid_cache);