summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/modules/module-oss.c18
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);