diff mbox series

ALSA: hda: intel-sdw-acpi: fix usage of device_get_named_child_node()

Message ID 20240426152731.38420-1-pierre-louis.bossart@linux.intel.com (mailing list archive)
State New, archived
Headers show
Series ALSA: hda: intel-sdw-acpi: fix usage of device_get_named_child_node() | expand

Commit Message

Pierre-Louis Bossart April 26, 2024, 3:27 p.m. UTC
The documentation for device_get_named_child_node() mentions this
important point:

"
The caller is responsible for calling fwnode_handle_put() on the
returned fwnode pointer.
"

Add fwnode_handle_put() to avoid a leaked reference.

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
---
 sound/hda/intel-sdw-acpi.c | 2 ++
 1 file changed, 2 insertions(+)

Comments

Takashi Iwai April 29, 2024, 3:01 p.m. UTC | #1
On Fri, 26 Apr 2024 17:27:31 +0200,
Pierre-Louis Bossart wrote:
> 
> The documentation for device_get_named_child_node() mentions this
> important point:
> 
> "
> The caller is responsible for calling fwnode_handle_put() on the
> returned fwnode pointer.
> "
> 
> Add fwnode_handle_put() to avoid a leaked reference.
> 
> Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>

Can we have a corresponding Fixes tag?


thanks,

Takashi

> ---
>  sound/hda/intel-sdw-acpi.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/sound/hda/intel-sdw-acpi.c b/sound/hda/intel-sdw-acpi.c
> index 5f60658c6051..d7417a40392b 100644
> --- a/sound/hda/intel-sdw-acpi.c
> +++ b/sound/hda/intel-sdw-acpi.c
> @@ -45,6 +45,8 @@ static bool is_link_enabled(struct fwnode_handle *fw_node, u8 idx)
>  				 "intel-quirk-mask",
>  				 &quirk_mask);
>  
> +	fwnode_handle_put(link);
> +
>  	if (quirk_mask & SDW_INTEL_QUIRK_MASK_BUS_DISABLE)
>  		return false;
>  
> -- 
> 2.40.1
>
Pierre-Louis Bossart April 29, 2024, 3:15 p.m. UTC | #2
Hi Takashi,

>> The documentation for device_get_named_child_node() mentions this
>> important point:
>>
>> "
>> The caller is responsible for calling fwnode_handle_put() on the
>> returned fwnode pointer.
>> "
>>
>> Add fwnode_handle_put() to avoid a leaked reference.
>>
>> Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
> 
> Can we have a corresponding Fixes tag?

Good question.

The initial code was in

6d2c66695bf3 ("soundwire: intel: transition to 3 steps initialization")

but then moved with

08c2a4bc9f2a ("ALSA: hda: move Intel SoundWire ACPI scan to dedicated
module")

I guess a Fixes tag for the latter is good enough, it's a 2021 commit
and that would probably cover most SoundWire platforms.
Takashi Iwai April 29, 2024, 3:32 p.m. UTC | #3
On Mon, 29 Apr 2024 17:15:19 +0200,
Pierre-Louis Bossart wrote:
> 
> Hi Takashi,
> 
> >> The documentation for device_get_named_child_node() mentions this
> >> important point:
> >>
> >> "
> >> The caller is responsible for calling fwnode_handle_put() on the
> >> returned fwnode pointer.
> >> "
> >>
> >> Add fwnode_handle_put() to avoid a leaked reference.
> >>
> >> Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
> > 
> > Can we have a corresponding Fixes tag?
> 
> Good question.
> 
> The initial code was in
> 
> 6d2c66695bf3 ("soundwire: intel: transition to 3 steps initialization")
> 
> but then moved with
> 
> 08c2a4bc9f2a ("ALSA: hda: move Intel SoundWire ACPI scan to dedicated
> module")
> 
> I guess a Fixes tag for the latter is good enough, it's a 2021 commit
> and that would probably cover most SoundWire platforms.

OK, let's take it, then.  Applied now.


thanks,

Takashi
diff mbox series

Patch

diff --git a/sound/hda/intel-sdw-acpi.c b/sound/hda/intel-sdw-acpi.c
index 5f60658c6051..d7417a40392b 100644
--- a/sound/hda/intel-sdw-acpi.c
+++ b/sound/hda/intel-sdw-acpi.c
@@ -45,6 +45,8 @@  static bool is_link_enabled(struct fwnode_handle *fw_node, u8 idx)
 				 "intel-quirk-mask",
 				 &quirk_mask);
 
+	fwnode_handle_put(link);
+
 	if (quirk_mask & SDW_INTEL_QUIRK_MASK_BUS_DISABLE)
 		return false;