X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;f=kernel%2Fmemremap.c;h=25ced161ebebb1ad58626cba853dc472db8f1caa;hb=7f416c52a1e348ceb9b10d445e94fabf8857e6ff;hp=7658d32c5c78aa6343ac8cd669070084d1cd3805;hpb=3e5050e60e3b51e32940926ccb4aa5965f618306;p=firefly-linux-kernel-4.4.55.git diff --git a/kernel/memremap.c b/kernel/memremap.c index 7658d32c5c78..25ced161ebeb 100644 --- a/kernel/memremap.c +++ b/kernel/memremap.c @@ -111,7 +111,7 @@ EXPORT_SYMBOL(memunmap); static void devm_memremap_release(struct device *dev, void *res) { - memunmap(res); + memunmap(*(void **)res); } static int devm_memremap_match(struct device *dev, void *res, void *match_data) @@ -133,8 +133,10 @@ void *devm_memremap(struct device *dev, resource_size_t offset, if (addr) { *ptr = addr; devres_add(dev, ptr); - } else + } else { devres_free(ptr); + return ERR_PTR(-ENXIO); + } return addr; }