[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <HE1PR04MB14502794E6B557099BD55D348B040@HE1PR04MB1450.eurprd04.prod.outlook.com>
Date: Mon, 1 Aug 2016 06:50:23 +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?
>
Since the plat->phy_node will be used during the whole life cycle, I put it at
stmmac_dvr_remove at my v2 patch set.
Best regards,
Peter
Powered by blists - more mailing lists