diff options
author | Petr Štetiar <ynezz@true.cz> | 2019-05-13 12:41:39 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2019-05-13 18:52:37 +0300 |
commit | 3ee9ae74ba4a85c3b378a0e49ec1481655f54500 (patch) | |
tree | d33353692c9383893ecff51ba9b8e49727c52189 /drivers/of | |
parent | da86f59f170df3f46ea5366a519522a2234d1094 (diff) | |
download | linux-3ee9ae74ba4a85c3b378a0e49ec1481655f54500.tar.xz |
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: d01f449c008a ("of_net: add NVMEM support to of_get_mac_address")
Reported-by: kbuild test robot <lkp@intel.com>
Reported-by: Julia Lawall <julia.lawall@lip6.fr>
Signed-off-by: Petr Štetiar <ynezz@true.cz>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/of')
-rw-r--r-- | drivers/of/of_net.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/of/of_net.c b/drivers/of/of_net.c index a4b392a5406b..6f1be80e8c4e 100644 --- a/drivers/of/of_net.c +++ b/drivers/of/of_net.c @@ -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); |