At 2022-06-21 23:21:19, "Thomas Bogendoerfer" <tsbogend@xxxxxxxxxxxxxxxx> wrote: >On Wed, Jun 15, 2022 at 11:33:39PM +0800, Liang He wrote: >> In icu_of_init(), of_find_compatible_node() will return a node >> pointer with refcount incremented. We should use of_node_put() >> when it is not used anymore. >> >> Signed-off-by: Liang He <windhl@xxxxxxx> >> --- >> arch/mips/lantiq/irq.c | 6 ++++++ >> 1 file changed, 6 insertions(+) >> >> diff --git a/arch/mips/lantiq/irq.c b/arch/mips/lantiq/irq.c >> index b732495f138a..62f1b20a2169 100644 >> --- a/arch/mips/lantiq/irq.c >> +++ b/arch/mips/lantiq/irq.c >> @@ -396,6 +396,9 @@ int __init icu_of_init(struct device_node *node, struct device_node *parent) >> >> ret = of_property_read_u32_array(eiu_node, "lantiq,eiu-irqs", >> ltq_eiu_irq, exin_avail); >> + > >trailing whitespaces > >> + of_node_put(eiu_node); >> + > >trailing whitespaces > >> if (ret) >> panic("failed to load external irq resources"); >> >> @@ -409,6 +412,9 @@ int __init icu_of_init(struct device_node *node, struct device_node *parent) >> panic("Failed to remap eiu memory"); >> } >> >> + /* if eiu_node&of_address_to_resource */ >> + of_node_put(eiu_node); >> + > >if I'm not mistaken you are freeing the taken reference twice. Shouldn't >it work by only adding the last of_node_put() ? > >Thomas. Hi, Thomas. Thanks very much for your effort to review and apply my patches. You are right, this patch is wrong and only the last put is needed. I will send a new patch: removing trailing whitspace and the first put. Thans again. Liang > >-- >Crap can work. Given enough thrust pigs will fly, but it's not necessarily a >good idea. [ RFC1925, 2.3 ]