mac80211: suppress unused variable warning without lockdep
[pandora-kernel.git] / mm / dmapool.c
index 8058fcd..306baa5 100644 (file)
@@ -170,24 +170,16 @@ struct dma_pool *dma_pool_create(const char *name, struct device *dev,
        retval->boundary = boundary;
        retval->allocation = allocation;
 
-       if (dev) {
-               int ret;
+       INIT_LIST_HEAD(&retval->pools);
 
-               mutex_lock(&pools_lock);
-               if (list_empty(&dev->dma_pools))
-                       ret = device_create_file(dev, &dev_attr_pools);
-               else
-                       ret = 0;
-               /* note:  not currently insisting "name" be unique */
-               if (!ret)
-                       list_add(&retval->pools, &dev->dma_pools);
-               else {
-                       kfree(retval);
-                       retval = NULL;
-               }
-               mutex_unlock(&pools_lock);
+       mutex_lock(&pools_lock);
+       if (list_empty(&dev->dma_pools) &&
+           device_create_file(dev, &dev_attr_pools)) {
+               kfree(retval);
+               return NULL;
        } else
-               INIT_LIST_HEAD(&retval->pools);
+               list_add(&retval->pools, &dev->dma_pools);
+       mutex_unlock(&pools_lock);
 
        return retval;
 }
@@ -508,7 +500,6 @@ void dmam_pool_destroy(struct dma_pool *pool)
 {
        struct device *dev = pool->dev;
 
-       WARN_ON(devres_destroy(dev, dmam_pool_release, dmam_pool_match, pool));
-       dma_pool_destroy(pool);
+       WARN_ON(devres_release(dev, dmam_pool_release, dmam_pool_match, pool));
 }
 EXPORT_SYMBOL(dmam_pool_destroy);