>> From: Wang Qing <wangqing@xxxxxxxx> >> >> 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. > Label fail will drop a reference on the OF node. Also, put_device() is called later except this branch, we just need to add put_device() here. Thanks, Qing >> ret = -ENOMEM; >> goto fail;