Re: [PATCH v2] ALSA: hda/tas2781: call cleanup functions only once

From: Takashi Iwai
Date: Thu Dec 14 2023 - 06:04:18 EST


On Thu, 14 Dec 2023 00:28:16 +0100,
Gergo Koteles wrote:
>
> If the module can load the RCA but not the firmware binary, it will call
> the cleanup functions. Then unloading the module causes general
> protection fault due to double free.
>
> Do not call the cleanup functions in tasdev_fw_ready.
>
> general protection fault, probably for non-canonical address
> 0x6f2b8a2bff4c8fec: 0000 [#1] PREEMPT SMP NOPTI
> Call Trace:
> <TASK>
> ? die_addr+0x36/0x90
> ? exc_general_protection+0x1c5/0x430
> ? asm_exc_general_protection+0x26/0x30
> ? tasdevice_config_info_remove+0x6d/0xd0 [snd_soc_tas2781_fmwlib]
> tas2781_hda_unbind+0xaa/0x100 [snd_hda_scodec_tas2781_i2c]
> component_unbind+0x2e/0x50
> component_unbind_all+0x92/0xa0
> component_del+0xa8/0x140
> tas2781_hda_remove.isra.0+0x32/0x60 [snd_hda_scodec_tas2781_i2c]
> i2c_device_remove+0x26/0xb0
>
> Fixes: 5be27f1e3ec9 ("ALSA: hda/tas2781: Add tas2781 HDA driver")
> CC: stable@xxxxxxxxxxxxxxx
> Signed-off-by: Gergo Koteles <soyer@xxxxxx>

Thanks, applied.


Takashi