On Tue, Dec 07, 2021 at 04:56:58AM -0800, Qing Wang wrote: > From: Wang Qing > > of_find_device_by_node() takes a reference to the embedded struct device > which needs to be dropped when error return. ... > data = devm_kzalloc(&pdev->dev, sizeof(*data), GFP_KERNEL); > if (!data) { > + put_device(&cpu_pdev->dev); If it's of_find_device_by_node() you need an of_node_put() since you're dropping a reference on the OF node.