diff --git a/mm/dmapool.c b/mm/dmapool.c
index a3a1bfe91110d23a7e85e53c77a44caf5709f993..306baa594f95cd8ed8e5c945e4cc46e4f19c1f93 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);