On 12/09/2025 16:14, Vincent Guittot wrote: > + > +static u64 s32g_get_coherency_boundary(struct device *dev) > +{ > + struct device_node *np; > + struct resource res; > + > + np = of_find_node_by_type(NULL, "memory"); You leak OF node. > + > + if (of_address_to_resource(np, 0, &res)) { > + dev_warn(dev, "Fail to get coherency boundary\n"); > + return 0; > + } > + > + return res.start; > +} ... > + > +static struct platform_driver s32g_pcie_driver = { > + .driver = { > + .name = "s32g-pcie", > + .owner = THIS_MODULE, That 12-yo code. My litmus test from last talk... Please clean it up from such old coding style. BTW, tools are reporting this since years (in this case coccinelle), so be sure that you actually run standard static checks on new driver code (smatch, sparse, coccinelle). Best regards, Krzysztof