A blk_put_queue() was missing on the error path of alloc_dev().
--- diff/drivers/md/dm.c	2003-09-30 17:26:54.000000000 +0100
+++ source/drivers/md/dm.c	2003-09-30 17:25:52.000000000 +0100
@@ -695,6 +695,7 @@
  bad3:
 	mempool_destroy(md->io_pool);
  bad2:
+	blk_put_queue(md->queue);
 	free_minor(minor);
  bad1:
 	kfree(md);
