linux/sound/pci
Takashi Iwai 2393e7555b ALSA: hda: Release resources at error in delayed probe
snd-hda-intel driver handles the most of its probe task in the delayed
work (either via workqueue or via firmware loader).  When an error
happens in the later delayed probe, we can't deregister the device
itself because the probe callback already returned success and the
device was bound.  So, for now, we set hda->init_failed flag and make
the rest untouched until the device gets really unbound.
However, this leaves the device up running, keeping the resources
without any use that prevents other operations.

In this patch, we release the resources at first when a probe error
happens in the delayed probe stage, but keeps the top-level object, so
that the PM and other ops can still refer to the object itself.

Also for simplicity, snd_hda_intel object is allocated via devm, so
that we can get rid of the explicit kfree calls.

BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=207043
Link: https://lore.kernel.org/r/20200413082034.25166-4-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2020-04-13 18:02:36 +02:00
..
ac97 ALSA: ac97: More constifications 2020-01-05 16:14:34 +01:00
ali5451 ALSA: ali5451: remove redundant variable capture_flag 2020-02-10 08:29:54 +01:00
asihpi ALSA: asihpi: More constifications 2020-01-05 16:14:53 +01:00
au88x0 ALSA: au88x0: More constifications 2020-01-05 16:14:38 +01:00
aw2 sound updates for 5.6-rc1 2020-01-28 16:26:57 -08:00
ca0106 ALSA: ca0106: More constifications 2020-01-05 16:14:52 +01:00
cs46xx sound updates for 5.6-rc1 2020-01-28 16:26:57 -08:00
cs5535audio ALSA: pci: Constify snd_kcontrol_new items 2020-01-03 09:24:28 +01:00
ctxfi ALSA: ctxfi: Remove unnecessary cast in kfree 2020-04-09 14:07:34 +02:00
echoaudio sound updates for 5.6-rc1 2020-01-28 16:26:57 -08:00
emu10k1 ALSA: emu10k1: Fix endianness annotations 2020-02-10 08:25:45 +01:00
hda ALSA: hda: Release resources at error in delayed probe 2020-04-13 18:02:36 +02:00
ice1712 ALSA: ice1724: Fix invalid access for enumerated ctl items 2020-04-07 16:43:46 +02:00
korg1212 ALSA: korg1212: fix if-statement empty body warnings 2020-03-06 09:00:33 +01:00
lola ALSA: pci: Constify snd_device_ops definitions 2020-01-03 09:23:56 +01:00
lx6464es ALSA: lx6464es: More constifications 2020-01-05 16:15:07 +01:00
mixart ALSA: mixart: More constifications 2020-01-05 16:14:48 +01:00
nm256 sound updates for 5.6-rc1 2020-01-28 16:26:57 -08:00
oxygen ALSA: oxygen: Support PCM sync_stop 2019-12-11 07:25:50 +01:00
pcxhr ALSA: pcxhr: More constifications 2020-01-05 16:14:47 +01:00
riptide ALSA: riptide: More constifications 2020-01-05 16:14:40 +01:00
rme9652 ALSA: hdsp: remove redundant assignment to variable err 2020-02-10 08:29:26 +01:00
trident ALSA: pci: Constify snd_ac97_bus_ops definitions 2020-01-03 09:24:13 +01:00
vx222 ALSA: vx: More constifications 2020-01-05 16:14:30 +01:00
ymfpci sound updates for 5.6-rc1 2020-01-28 16:26:57 -08:00
ad1889.c ALSA: pci: Constify snd_ac97_bus_ops definitions 2020-01-03 09:24:13 +01:00
ad1889.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
ak4531_codec.c ALSA: ak4531: More constification 2020-01-05 16:15:09 +01:00
als300.c ALSA: pci: Constify snd_ac97_bus_ops definitions 2020-01-03 09:24:13 +01:00
als4000.c ALSA: pci: Drop superfluous ioctl PCM ops 2019-12-11 07:25:31 +01:00
atiixp_modem.c ALSA: atiixp: More constifications 2020-01-05 16:14:54 +01:00
atiixp.c ALSA: atiixp: More constifications 2020-01-05 16:14:54 +01:00
azt3328.c ALSA: azt3328: More constification 2020-01-05 16:15:09 +01:00
azt3328.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
bt87x.c ALSA: bt87x: Constify snd_bt87x_boards 2020-01-03 09:24:42 +01:00
cmipci.c ALSA: cmipci: More constifications 2020-01-05 16:14:55 +01:00
cs4281.c ALSA: cs4281: More constification 2020-01-05 16:15:10 +01:00
cs5530.c ALSA: pci: Constify snd_device_ops definitions 2020-01-03 09:23:56 +01:00
ens1370.c ALSA: ens137x: More constification 2020-01-05 16:15:11 +01:00
ens1371.c
es1938.c ALSA: es1938: More constifications 2020-01-05 16:14:54 +01:00
es1968.c ALSA: es1968: More constifications 2020-01-05 16:14:55 +01:00
fm801.c ALSA: fm801: More constification 2020-01-05 16:15:12 +01:00
intel8x0.c ALSA: intel8x0: More constifications 2020-01-05 16:14:31 +01:00
intel8x0m.c ALSA: intel8x0: More constifications 2020-01-05 16:14:31 +01:00
Kconfig sound: Fix Kconfig indentation 2019-10-07 03:53:03 +02:00
maestro3.c ALSA: pci: Constify snd_pci_quirk tables 2020-01-03 09:24:45 +01:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
rme32.c sound updates for 5.6-rc1 2020-01-28 16:26:57 -08:00
rme96.c sound updates for 5.6-rc1 2020-01-28 16:26:57 -08:00
sis7019.c sound updates for 5.6-rc1 2020-01-28 16:26:57 -08:00
sis7019.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 274 2019-06-05 17:30:30 +02:00
sonicvibes.c ALSA: pci: Constify snd_kcontrol_new items 2020-01-03 09:24:28 +01:00
via82xx_modem.c ALSA: via82xx: Fix endianness annotations 2020-02-10 08:25:07 +01:00
via82xx.c ALSA: via82xx: Fix endianness annotations 2020-02-10 08:25:07 +01:00