if device_register return error, iounmap should be called, also iounmap
need to call before put_device.
Signed-off-by: Ding Xiang <[email protected]>
---
arch/mips/txx9/generic/setup.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/arch/mips/txx9/generic/setup.c b/arch/mips/txx9/generic/setup.c
index f6d9182..70a1ab6 100644
--- a/arch/mips/txx9/generic/setup.c
+++ b/arch/mips/txx9/generic/setup.c
@@ -960,12 +960,11 @@ void __init txx9_sramc_init(struct resource *r)
goto exit_put;
err = sysfs_create_bin_file(&dev->dev.kobj, &dev->bindata_attr);
if (err) {
- device_unregister(&dev->dev);
iounmap(dev->base);
- kfree(dev);
+ device_unregister(&dev->dev);
}
return;
exit_put:
+ iounmap(dev->base);
put_device(&dev->dev);
- return;
}
--
1.9.1
On Thu, 6 Sep 2018 12:19:19 +0800, Ding Xiang <[email protected]> wrote:
> if device_register return error, iounmap should be called, also iounmap
> need to call before put_device.
>
> Signed-off-by: Ding Xiang <[email protected]>
> ---
> arch/mips/txx9/generic/setup.c | 5 ++---
> 1 file changed, 2 insertions(+), 3 deletions(-)
Thank you for fixing this long standing issue. It looks OK for me.
Reviewed-by: Atsushi Nemoto <[email protected]>
---
Atsushi Nemoto
Hi Ding,
On Thu, Sep 06, 2018 at 12:19:19PM +0800, Ding Xiang wrote:
> if device_register return error, iounmap should be called, also iounmap
> need to call before put_device.
>
> Signed-off-by: Ding Xiang <[email protected]>
> ---
> arch/mips/txx9/generic/setup.c | 5 ++---
> 1 file changed, 2 insertions(+), 3 deletions(-)
Applied to mips-next for 4.20 - thanks, and thanks to Atsushi for
reviewing too!
Paul