diff --git a/drivers/base/memory.c b/drivers/base/memory.c
index dc75de9059cd1983401b35bffb5c697d2e55b813..62c63c0c5c22dcfee3e2d706e68be053519cc40c 100644
--- a/drivers/base/memory.c
+++ b/drivers/base/memory.c
@@ -361,8 +361,11 @@ store_mem_state(struct device *dev,
 err:
 	unlock_device_hotplug();
 
-	if (ret)
+	if (ret < 0)
 		return ret;
+	if (ret)
+		return -EINVAL;
+
 	return count;
 }