linux 2.6.16.38 w/ vs2.0.3-rc1
[linux-2.6.git] / drivers / infiniband / core / cache.c
index 75313ad..c57a387 100644 (file)
@@ -191,24 +191,6 @@ int ib_find_cached_pkey(struct ib_device *device,
 }
 EXPORT_SYMBOL(ib_find_cached_pkey);
 
-int ib_get_cached_lmc(struct ib_device *device,
-                     u8                port_num,
-                     u8                *lmc)
-{
-       unsigned long flags;
-       int ret = 0;
-
-       if (port_num < start_port(device) || port_num > end_port(device))
-               return -EINVAL;
-
-       read_lock_irqsave(&device->cache.lock, flags);
-       *lmc = device->cache.lmc_cache[port_num - start_port(device)];
-       read_unlock_irqrestore(&device->cache.lock, flags);
-
-       return ret;
-}
-EXPORT_SYMBOL(ib_get_cached_lmc);
-
 static void ib_cache_update(struct ib_device *device,
                            u8                port)
 {
@@ -269,8 +251,6 @@ static void ib_cache_update(struct ib_device *device,
        device->cache.pkey_cache[port - start_port(device)] = pkey_cache;
        device->cache.gid_cache [port - start_port(device)] = gid_cache;
 
-       device->cache.lmc_cache[port - start_port(device)] = tprops->lmc;
-
        write_unlock_irq(&device->cache.lock);
 
        kfree(old_pkey_cache);
@@ -301,8 +281,7 @@ static void ib_cache_event(struct ib_event_handler *handler,
            event->event == IB_EVENT_PORT_ACTIVE ||
            event->event == IB_EVENT_LID_CHANGE  ||
            event->event == IB_EVENT_PKEY_CHANGE ||
-           event->event == IB_EVENT_SM_CHANGE   ||
-           event->event == IB_EVENT_CLIENT_REREGISTER) {
+           event->event == IB_EVENT_SM_CHANGE) {
                work = kmalloc(sizeof *work, GFP_ATOMIC);
                if (work) {
                        INIT_WORK(&work->work, ib_cache_task, work);
@@ -323,16 +302,10 @@ static void ib_cache_setup_one(struct ib_device *device)
                kmalloc(sizeof *device->cache.pkey_cache *
                        (end_port(device) - start_port(device) + 1), GFP_KERNEL);
        device->cache.gid_cache =
-               kmalloc(sizeof *device->cache.gid_cache *
+               kmalloc(sizeof *device->cache.pkey_cache *
                        (end_port(device) - start_port(device) + 1), GFP_KERNEL);
 
-       device->cache.lmc_cache = kmalloc(sizeof *device->cache.lmc_cache *
-                                         (end_port(device) -
-                                          start_port(device) + 1),
-                                         GFP_KERNEL);
-
-       if (!device->cache.pkey_cache || !device->cache.gid_cache ||
-           !device->cache.lmc_cache) {
+       if (!device->cache.pkey_cache || !device->cache.gid_cache) {
                printk(KERN_WARNING "Couldn't allocate cache "
                       "for %s\n", device->name);
                goto err;
@@ -360,7 +333,6 @@ err_cache:
 err:
        kfree(device->cache.pkey_cache);
        kfree(device->cache.gid_cache);
-       kfree(device->cache.lmc_cache);
 }
 
 static void ib_cache_cleanup_one(struct ib_device *device)
@@ -377,7 +349,6 @@ static void ib_cache_cleanup_one(struct ib_device *device)
 
        kfree(device->cache.pkey_cache);
        kfree(device->cache.gid_cache);
-       kfree(device->cache.lmc_cache);
 }
 
 static struct ib_client cache_client = {