On Wed, Dec 26, 2018 at 12:09:04PM -0600, Aditya Pakki wrote: > 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> Reviewed-by: Jérôme Glisse <jglisse@xxxxxxxxxx> > --- > 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 >