of_net: Fix missing of_find_device_by_node ref count drop

of_find_device_by_node takes a reference to the embedded struct device
which needs to be dropped after use.

Fixes: d01f449c00 ("of_net: add NVMEM support to of_get_mac_address")
Reported-by: kbuild test robot <[email protected]>
Reported-by: Julia Lawall <[email protected]>
Signed-off-by: Petr Štetiar <[email protected]>
Reviewed-by: Andrew Lunn <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
This commit is contained in:
Petr Štetiar 2019-05-13 11:41:39 +02:00 • committed by David S. Miller
commit 3ee9ae74ba

View file

@ -60,10 +60,13 @@ static const void *of_get_mac_addr_nvmem(struct device_node *np)
return ERR_PTR(-ENODEV);
ret = nvmem_get_mac_address(&pdev->dev, &nvmem_mac);
if (ret)
if (ret) {
put_device(&pdev->dev);
return ERR_PTR(ret);
}
mac = devm_kmemdup(&pdev->dev, nvmem_mac, ETH_ALEN, GFP_KERNEL);
put_device(&pdev->dev);
if (!mac)
return ERR_PTR(-ENOMEM);