devres_release can return -ENOENT if the device is not freed. The fix
throws a warning consistent with other invocations.

Signed-off-by: Aditya Pakki <pakki...@umn.edu>
---
 mm/hmm.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/mm/hmm.c b/mm/hmm.c
index 90c34f3d1243..b06e3f092fbf 100644
--- a/mm/hmm.c
+++ b/mm/hmm.c
@@ -1183,8 +1183,12 @@ static int hmm_devmem_match(struct device *dev, void 
*data, void *match_data)
 
 static void hmm_devmem_pages_remove(struct hmm_devmem *devmem)
 {
-       devres_release(devmem->device, &hmm_devmem_release,
-                      &hmm_devmem_match, devmem->resource);
+       int rc;
+
+       rc = devres_release(devmem->device, &hmm_devmem_release,
+                               &hmm_devmem_match, devmem->resource);
+       if (rc)
+               WARN_ON(rc);
 }
 
 /*
-- 
2.17.1

Reply via email to