[ALSA] Remove vmalloc wrapper, kfree_nocheck()
- Remove vmalloc wrapper - Add release_and_free_resource() to remove kfree_nocheck() from each driver and simplify the code Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:

committato da
Jaroslav Kysela

parent
93f2e37840
commit
b1d5776d86
@@ -423,10 +423,7 @@ static void snd_mpu401_uart_free(snd_rawmidi_t *rmidi)
|
||||
mpu401_t *mpu = rmidi->private_data;
|
||||
if (mpu->irq_flags && mpu->irq >= 0)
|
||||
free_irq(mpu->irq, (void *) mpu);
|
||||
if (mpu->res) {
|
||||
release_resource(mpu->res);
|
||||
kfree_nocheck(mpu->res);
|
||||
}
|
||||
release_and_free_resource(mpu->res);
|
||||
kfree(mpu);
|
||||
}
|
||||
|
||||
|
@@ -717,10 +717,7 @@ static void free_mtpav(mtpav_t * crd)
|
||||
spin_unlock_irqrestore(&crd->spinlock, flags);
|
||||
if (crd->irq >= 0)
|
||||
free_irq(crd->irq, (void *)crd);
|
||||
if (crd->res_port) {
|
||||
release_resource(crd->res_port);
|
||||
kfree_nocheck(crd->res_port);
|
||||
}
|
||||
release_and_free_resource(crd->res_port);
|
||||
kfree(crd);
|
||||
}
|
||||
|
||||
|
@@ -325,14 +325,8 @@ static int snd_opl3_free(opl3_t *opl3)
|
||||
snd_assert(opl3 != NULL, return -ENXIO);
|
||||
if (opl3->private_free)
|
||||
opl3->private_free(opl3);
|
||||
if (opl3->res_l_port) {
|
||||
release_resource(opl3->res_l_port);
|
||||
kfree_nocheck(opl3->res_l_port);
|
||||
}
|
||||
if (opl3->res_r_port) {
|
||||
release_resource(opl3->res_r_port);
|
||||
kfree_nocheck(opl3->res_r_port);
|
||||
}
|
||||
release_and_free_resource(opl3->res_l_port);
|
||||
release_and_free_resource(opl3->res_r_port);
|
||||
kfree(opl3);
|
||||
return 0;
|
||||
}
|
||||
|
@@ -169,14 +169,8 @@ static void snd_opl4_free(opl4_t *opl4)
|
||||
#ifdef CONFIG_PROC_FS
|
||||
snd_opl4_free_proc(opl4);
|
||||
#endif
|
||||
if (opl4->res_fm_port) {
|
||||
release_resource(opl4->res_fm_port);
|
||||
kfree_nocheck(opl4->res_fm_port);
|
||||
}
|
||||
if (opl4->res_pcm_port) {
|
||||
release_resource(opl4->res_pcm_port);
|
||||
kfree_nocheck(opl4->res_pcm_port);
|
||||
}
|
||||
release_and_free_resource(opl4->res_fm_port);
|
||||
release_and_free_resource(opl4->res_pcm_port);
|
||||
kfree(opl4);
|
||||
}
|
||||
|
||||
|
@@ -749,10 +749,7 @@ static int snd_uart16550_free(snd_uart16550_t *uart)
|
||||
{
|
||||
if (uart->irq >= 0)
|
||||
free_irq(uart->irq, (void *)uart);
|
||||
if (uart->res_base) {
|
||||
release_resource(uart->res_base);
|
||||
kfree_nocheck(uart->res_base);
|
||||
}
|
||||
release_and_free_resource(uart->res_base);
|
||||
kfree(uart);
|
||||
return 0;
|
||||
};
|
||||
|
@@ -79,7 +79,7 @@ static int snd_pcm_alloc_vmalloc_buffer(snd_pcm_substream_t *subs, size_t size)
|
||||
/* already allocated */
|
||||
if (runtime->dma_bytes >= size)
|
||||
return 0; /* already enough large */
|
||||
vfree_nocheck(runtime->dma_area); /* bypass the memory wrapper */
|
||||
vfree(runtime->dma_area);
|
||||
}
|
||||
runtime->dma_area = vmalloc_32(size);
|
||||
if (! runtime->dma_area)
|
||||
@@ -98,7 +98,7 @@ static int snd_pcm_free_vmalloc_buffer(snd_pcm_substream_t *subs)
|
||||
{
|
||||
snd_pcm_runtime_t *runtime = subs->runtime;
|
||||
if (runtime->dma_area) {
|
||||
vfree_nocheck(runtime->dma_area); /* bypass the memory wrapper */
|
||||
vfree(runtime->dma_area);
|
||||
runtime->dma_area = NULL;
|
||||
}
|
||||
return 0;
|
||||
|
Fai riferimento in un nuovo problema
Block a user