On Tue, May 15, 2018 at 12:07 PM, Jan Kiszka [off-list ref] wrote:
From: Jan Kiszka <jan.kiszka@siemens.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.
quoted hunk ↗ jump to hunk
- 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