diff --git a/drivers/md/dm-log.c b/drivers/md/dm-log.c
index 33420e68d1534d18c988af3872ecafb31168d79f..6951536ea29ceab63c8dca6facdb8253ac311dac 100644
--- a/drivers/md/dm-log.c
+++ b/drivers/md/dm-log.c
@@ -455,7 +455,7 @@ static int create_log_context(struct dm_dirty_log *log, struct dm_target *ti,
 			r = PTR_ERR(lc->io_req.client);
 			DMWARN("couldn't allocate disk io client");
 			kfree(lc);
-			return -ENOMEM;
+			return r;
 		}
 
 		lc->disk_header = vmalloc(buf_size);