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