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 <pakki001@xxxxxxx> --- 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