diff options
author | Takashi Sakamoto <o-takashi@sakamocchi.jp> | 2018-10-03 08:21:51 +0900 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2018-10-04 07:54:05 +0200 |
commit | a3aaf7d2bd388caea2bd0fba266b815ac708c49d (patch) | |
tree | b75b7285ca7fce6c05233924517c7af9be819e60 /sound/firewire | |
parent | 366a20d7a75cff7f89dede6fdfd41bd491aaf8ac (diff) | |
download | lwn-a3aaf7d2bd388caea2bd0fba266b815ac708c49d.tar.gz lwn-a3aaf7d2bd388caea2bd0fba266b815ac708c49d.zip |
ALSA: bebob: use managed-resource to maintain data specific to M-Audio FW-1814/ProjectMix I/O
ALSA bebob driver allocates memory object for data specific to M-Audio
FW-1884/ProjectMix I/O. The object is to maintain format of isochronous
packet payload for packet streaming by components for ALSA rawMIDI/PCM
interfaces. The object can be released as managed-resource of
'struct snd_card.card_dev'.
This commit uses managed-resource of the sound card device for this
purpose.
Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/firewire')
-rw-r--r-- | sound/firewire/bebob/bebob.c | 4 | ||||
-rw-r--r-- | sound/firewire/bebob/bebob_maudio.c | 5 |
2 files changed, 3 insertions, 6 deletions
diff --git a/sound/firewire/bebob/bebob.c b/sound/firewire/bebob/bebob.c index fb05f2c1b60b..72b04214a3b5 100644 --- a/sound/firewire/bebob/bebob.c +++ b/sound/firewire/bebob/bebob.c @@ -130,8 +130,6 @@ static void bebob_free(struct snd_bebob *bebob) { snd_bebob_stream_destroy_duplex(bebob); - kfree(bebob->maudio_special_quirk); - mutex_destroy(&bebob->mutex); fw_unit_put(bebob->unit); } @@ -262,8 +260,6 @@ do_registration(struct work_struct *work) error: mutex_unlock(&devices_mutex); snd_bebob_stream_destroy_duplex(bebob); - kfree(bebob->maudio_special_quirk); - bebob->maudio_special_quirk = NULL; snd_card_free(bebob->card); dev_info(&bebob->unit->device, "Sound card registration failed: %d\n", err); diff --git a/sound/firewire/bebob/bebob_maudio.c b/sound/firewire/bebob/bebob_maudio.c index c266997ad299..51152ca4af57 100644 --- a/sound/firewire/bebob/bebob_maudio.c +++ b/sound/firewire/bebob/bebob_maudio.c @@ -261,8 +261,9 @@ snd_bebob_maudio_special_discover(struct snd_bebob *bebob, bool is1814) struct special_params *params; int err; - params = kzalloc(sizeof(struct special_params), GFP_KERNEL); - if (params == NULL) + params = devm_kzalloc(&bebob->card->card_dev, + sizeof(struct special_params), GFP_KERNEL); + if (!params) return -ENOMEM; mutex_lock(&bebob->mutex); |