The error path at tas2781_read_acpi() doesn't release the acpi_device
adev but releases another device physdev instead. This results in a
refcount leak. Fix it by replacing with the right object.
Fixes:
5be27f1e3ec9 ("ALSA: hda/tas2781: Add tas2781 HDA driver")
Reported-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Closes: https://lore.kernel.org/r/
9f910785-e856-1539-e3e4-
c9817af5fe67@linux.intel.com
Link: https://lore.kernel.org/r/20230820172635.22236-1-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
err:
dev_err(p->dev, "read acpi error, ret: %d\n", ret);
- put_device(physdev);
+ acpi_dev_put(adev);
return ret;
}