A blk_put_queue() was missing on the error path of alloc_dev().
--- diff/drivers/md/dm.c	2003-10-29 14:52:18.000000000 +0000
+++ source/drivers/md/dm.c	2003-10-29 14:52:23.000000000 +0000
@@ -695,6 +695,7 @@
  bad3:
 	mempool_destroy(md->io_pool);
  bad2:
+	blk_put_queue(md->queue);
 	free_minor(minor);
  bad1:
 	kfree(md);