diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/modules/module-oss.c | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/src/modules/module-oss.c b/src/modules/module-oss.c index cabdf162..b210c17c 100644 --- a/src/modules/module-oss.c +++ b/src/modules/module-oss.c @@ -1297,15 +1297,6 @@ void pa__done(pa_core *c, pa_module*m) { if (u->memchunk.memblock) pa_memblock_unref(u->memchunk.memblock); - if (u->in_mmap && u->in_mmap != MAP_FAILED) - munmap(u->in_mmap, u->in_hwbuf_size); - - if (u->out_mmap && u->out_mmap != MAP_FAILED) - munmap(u->out_mmap, u->out_hwbuf_size); - - if (u->fd >= 0) - close(u->fd); - if (u->out_mmap_memblocks) { unsigned i; for (i = 0; i < u->out_nfrags; i++) @@ -1322,6 +1313,15 @@ void pa__done(pa_core *c, pa_module*m) { pa_xfree(u->in_mmap_memblocks); } + if (u->in_mmap && u->in_mmap != MAP_FAILED) + munmap(u->in_mmap, u->in_hwbuf_size); + + if (u->out_mmap && u->out_mmap != MAP_FAILED) + munmap(u->out_mmap, u->out_hwbuf_size); + + if (u->fd >= 0) + close(u->fd); + pa_xfree(u->device_name); pa_xfree(u); |