[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAHp75VeUbjobse6uLeM4h_xXRUw+YUQUN+EOye67AJy77a5euQ@mail.gmail.com>
Date: Tue, 15 May 2018 19:48:05 +0300
From: Andy Shevchenko <andy.shevchenko@...il.com>
To: Jan Kiszka <jan.kiszka@...mens.com>
Cc: Bjorn Helgaas <bhelgaas@...gle.com>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
linux-pci@...r.kernel.org,
linux-arm Mailing List <linux-arm-kernel@...ts.infradead.org>,
Vladimir Zapolskiy <vladimir_zapolskiy@...tor.com>,
Jingoo Han <jingoohan1@...il.com>,
Joao Pinto <Joao.Pinto@...opsys.com>,
Lorenzo Pieralisi <lorenzo.pieralisi@....com>
Subject: Re: [PATCH v4 6/8] PCI: Rework of_pci_get_host_bridge_resources() to devm_of_pci_get_host_bridge_resources()
On Tue, May 15, 2018 at 12:07 PM, Jan Kiszka <jan.kiszka@...mens.com> wrote:
> From: Jan Kiszka <jan.kiszka@...mens.com>
>
> of_pci_get_host_bridge_resources() allocates the resource structures it
> fills dynamically, but none of its callers care to release them so far.
> Rather than requiring everyone to do this explicitly, convert the
> existing function to a managed version.
> - res = kzalloc(sizeof(struct resource), GFP_KERNEL);
> + res = devm_kzalloc(dev, sizeof(struct resource), GFP_KERNEL);
> if (!res) {
> err = -ENOMEM;
> - goto parse_failed;
> + goto failed;
> }
>
> err = of_pci_range_to_resource(&range, dev_node, res);
> if (err) {
> - kfree(res);
> + devm_kfree(dev, res);
> continue;
> }
Can't you rather make it better, i.e.
struct resource tmp;
...
err = of_pci_range_to_resource(&range, dev_node, &tmp);
if (err)
continue;
res = devm_kmemdump();
if (!res) {
ret = -ENOMEM;
goto failed;
}
?
--
With Best Regards,
Andy Shevchenko
Powered by blists - more mailing lists