Re: [PATCH] software node: Allow node addition to already existing device

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



+Greg

Sorry about that. Should I resend this?

On Wed, Apr 14, 2021 at 10:54:38AM +0300, Heikki Krogerus wrote:
> If the node is added to an already exiting device, the node
> needs to be also linked to the device separately.
> 
> This will make sure the reference count is kept in balance
> also when the node is injected to a device afterwards.
> 
> Reported-by: Pierre-Louis Bossart <pierre-louis.bossart@xxxxxxxxxxxxxxx>
> Fixes: e68d0119e328 ("software node: Introduce device_add_software_node()")
> Signed-off-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx>
> ---
>  drivers/base/swnode.c | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/base/swnode.c b/drivers/base/swnode.c
> index 740333629b420..3cc11b813f28c 100644
> --- a/drivers/base/swnode.c
> +++ b/drivers/base/swnode.c
> @@ -1045,6 +1045,7 @@ int device_add_software_node(struct device *dev, const struct software_node *nod
>  	}
>  
>  	set_secondary_fwnode(dev, &swnode->fwnode);
> +	software_node_notify(dev, KOBJ_ADD);
>  
>  	return 0;
>  }
> @@ -1118,8 +1119,8 @@ int software_node_notify(struct device *dev, unsigned long action)
>  
>  	switch (action) {
>  	case KOBJ_ADD:
> -		ret = sysfs_create_link(&dev->kobj, &swnode->kobj,
> -					"software_node");
> +		ret = sysfs_create_link_nowarn(&dev->kobj, &swnode->kobj,
> +					       "software_node");
>  		if (ret)
>  			break;
>  
> -- 
> 2.30.2

-- 
heikki



[Index of Archives]     [Linux IBM ACPI]     [Linux Power Management]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux