[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <HE1PR04MB1450F481EEB657FA12B649AD8B000@HE1PR04MB1450.eurprd04.prod.outlook.com>
Date: Thu, 28 Jul 2016 09:30:32 +0000
From: Peter Chen <peter.chen@....com>
To: Alexandre Torgue <alexandre.torgue@...com>,
"davem@...emloft.net" <davem@...emloft.net>
CC: "netdev@...r.kernel.org" <netdev@...r.kernel.org>,
"vbridger@...nsource.altera.com" <vbridger@...nsource.altera.com>,
"isubramanian@....com" <isubramanian@....com>,
"kchudgar@....com" <kchudgar@....com>,
"yisen.zhuang@...wei.com" <yisen.zhuang@...wei.com>,
"salil.mehta@...wei.com" <salil.mehta@...wei.com>,
"thomas.petazzoni@...e-electrons.com"
<thomas.petazzoni@...e-electrons.com>,
"sergei.shtylyov@...entembedded.com"
<sergei.shtylyov@...entembedded.com>,
"peppe.cavallaro@...com" <peppe.cavallaro@...com>,
"mugunthanvnm@...com" <mugunthanvnm@...com>,
"tremyfr@...il.com" <tremyfr@...il.com>,
"wxt@...k-chips.com" <wxt@...k-chips.com>,
"arnd@...db.de" <arnd@...db.de>,
"david.daney@...ium.com" <david.daney@...ium.com>,
"huangdaode@...ilicon.com" <huangdaode@...ilicon.com>,
"jszhang@...vell.com" <jszhang@...vell.com>
Subject: RE: [PATCH 14/15] ethernet: stmicro: stmmac: stmmac_platform: add
missing of_node_put after calling of_parse_phandle
>Hi,
>
>On 07/27/2016 04:20 AM, Peter Chen wrote:
>> of_node_put needs to be called when the device node which is got from
>> of_parse_phandle has finished using.
>>
>> Signed-off-by: Peter Chen <peter.chen@....com>
>> ---
>> drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c | 5 ++++-
>> 1 file changed, 4 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c
>> b/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c
>> index f7dfc0a..8d88782 100644
>> --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c
>> +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c
>> @@ -113,8 +113,10 @@ static struct stmmac_axi *stmmac_axi_setup(struct
>platform_device *pdev)
>> return NULL;
>>
>> axi = kzalloc(sizeof(*axi), GFP_KERNEL);
>> - if (!axi)
>> + if (!axi) {
>> + of_node_put(np);
>> return ERR_PTR(-ENOMEM);
>> + }
>>
>> axi->axi_lpi_en = of_property_read_bool(np, "snps,lpi_en");
>> axi->axi_xit_frm = of_property_read_bool(np, "snps,xit_frm"); @@
>> -127,6 +129,7 @@ static struct stmmac_axi *stmmac_axi_setup(struct
>platform_device *pdev)
>> of_property_read_u32(np, "snps,wr_osr_lmt", &axi->axi_wr_osr_lmt);
>> of_property_read_u32(np, "snps,rd_osr_lmt", &axi->axi_rd_osr_lmt);
>> of_property_read_u32_array(np, "snps,blen", axi->axi_blen,
>> AXI_BLEN);
>> + of_node_put(np);
>>
>> return axi;
>> }
>>
>
>I agree with the modification inside stmmac_axi. I just have a question about np =
>pdev->dev.of_node inside stmmac_probe_config_dt (same file).
>We could add a "of_node_put(np)" just before "return plat" ?
>
Yes, you remind me there is still one node need to be put (should be plat->phy_node),
except for changing node name at error path, how about calling of_node_put(plat->phy_node) at
stmmac_release after phy is disconnected?
Peter
Powered by blists - more mailing lists