A blk_put_queue() was missing on the error path of alloc_dev().
--- diff/drivers/md/dm.c	2003-11-26 10:18:45.000000000 +0000
+++ source/drivers/md/dm.c	2003-11-26 10:18:51.000000000 +0000
@@ -691,6 +691,7 @@
  bad3:
 	mempool_destroy(md->io_pool);
  bad2:
+	blk_put_queue(md->queue);
 	free_minor(minor);
  bad1:
 	kfree(md);