Re: [PATCH net v1] net: macb: fix an issue about leak related system resources

From: Dejin Zheng
Date: Mon Apr 27 2020 - 23:25:02 EST


On Mon, Apr 27, 2020 at 01:33:41PM +0300, Andy Shevchenko wrote:
> On Sat, Apr 25, 2020 at 3:57 PM Dejin Zheng <zhengdejin5@xxxxxxxxx> wrote:
> >
> > A call of the function macb_init() can fail in the function
> > fu540_c000_init. The related system resources were not released
> > then. use devm_ioremap() to replace ioremap() for fix it.
> >
>
> Why not to go further and convert to use devm_platform_ioremap_resource()?
>
devm_platform_ioremap_resource() will call devm_request_mem_region(),
and here did not do it.

> > Fixes: c218ad559020ff9 ("macb: Add support for SiFive FU540-C000")
> > Cc: Andy Shevchenko <andy.shevchenko@xxxxxxxxx>
> > Signed-off-by: Dejin Zheng <zhengdejin5@xxxxxxxxx>
> > ---
> > drivers/net/ethernet/cadence/macb_main.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/net/ethernet/cadence/macb_main.c b/drivers/net/ethernet/cadence/macb_main.c
> > index a0e8c5bbabc0..edba2eb56231 100644
> > --- a/drivers/net/ethernet/cadence/macb_main.c
> > +++ b/drivers/net/ethernet/cadence/macb_main.c
> > @@ -4178,7 +4178,7 @@ static int fu540_c000_init(struct platform_device *pdev)
> > if (!res)
> > return -ENODEV;
> >
> > - mgmt->reg = ioremap(res->start, resource_size(res));
> > + mgmt->reg = devm_ioremap(&pdev->dev, res->start, resource_size(res));
> > if (!mgmt->reg)
> > return -ENOMEM;
> >
> > --
> > 2.25.0
> >
>
>
> --
> With Best Regards,
> Andy Shevchenko