diff --git a/drivers/char/hw_random/geode-rng.c b/drivers/char/hw_random/geode-rng.c
index 0cae21086c056470e13bfcebdd7e42cb4c6b2d79..e7a2459420291b6b931b285fe2b9be22cdd3e897 100644
--- a/drivers/char/hw_random/geode-rng.c
+++ b/drivers/char/hw_random/geode-rng.c
@@ -95,8 +95,8 @@ static int __init mod_init(void)
 				return -ENODEV;
 
 			mem = devm_ioremap(&pdev->dev, rng_base, 0x58);
-			if (IS_ERR(mem))
-				return PTR_ERR(mem);
+			if (!mem)
+				return -ENOMEM;
 			geode_rng.priv = (unsigned long)mem;
 
 			pr_info("AMD Geode RNG detected\n");