From 5835f25117ef6a56144bfc6be98b5a3cb188bf7a Mon Sep 17 00:00:00 2001 From: Hiroshige Sato Date: Wed, 16 Apr 2014 21:28:34 +0900 Subject: mm: Fix printk typo in dmapool.c Fix printk typo in dmapool.c Signed-off-by: Hiroshige Sato Signed-off-by: Jiri Kosina --- mm/dmapool.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'mm/dmapool.c') diff --git a/mm/dmapool.c b/mm/dmapool.c index c69781e97cf9..8058fcd7ae91 100644 --- a/mm/dmapool.c +++ b/mm/dmapool.c @@ -341,10 +341,10 @@ void *dma_pool_alloc(struct dma_pool *pool, gfp_t mem_flags, continue; if (pool->dev) dev_err(pool->dev, - "dma_pool_alloc %s, %p (corruped)\n", + "dma_pool_alloc %s, %p (corrupted)\n", pool->name, retval); else - pr_err("dma_pool_alloc %s, %p (corruped)\n", + pr_err("dma_pool_alloc %s, %p (corrupted)\n", pool->name, retval); /* -- cgit v1.2.3 From cc6b664aa26de93d9a3f99d4021a8d88b434ed06 Mon Sep 17 00:00:00 2001 From: Daeseok Youn Date: Wed, 4 Jun 2014 16:08:05 -0700 Subject: mm/dmapool.c: remove redundant NULL check for dev in dma_pool_create() "dev" cannot be NULL because it is already checked before calling dma_pool_create(). If dev ever was NULL, the code would oops in dev_to_node() after enabling CONFIG_NUMA. It is possible that some driver is using dev==NULL and has never been run on a NUMA machine. Such a driver is probably outdated, possibly buggy and will need some attention if it starts triggering NULL derefs. Signed-off-by: Daeseok Youn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- mm/dmapool.c | 24 ++++++++---------------- 1 file changed, 8 insertions(+), 16 deletions(-) (limited to 'mm/dmapool.c') diff --git a/mm/dmapool.c b/mm/dmapool.c index 8058fcd7ae91..a3a1bfe91110 100644 --- a/mm/dmapool.c +++ b/mm/dmapool.c @@ -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; } -- cgit v1.2.3 From 172cb4b3d49a1339dd67ee05e3f47972a70f556f Mon Sep 17 00:00:00 2001 From: Andy Shevchenko Date: Wed, 4 Jun 2014 16:10:02 -0700 Subject: mm/dmapool.c: reuse devres_release() to free resources Instead of calling an additional routine in dmam_pool_destroy() rely on what dmam_pool_release() is doing. Signed-off-by: Andy Shevchenko Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- mm/dmapool.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'mm/dmapool.c') diff --git a/mm/dmapool.c b/mm/dmapool.c index a3a1bfe91110..306baa594f95 100644 --- a/mm/dmapool.c +++ b/mm/dmapool.c @@ -500,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); -- cgit v1.2.3