From 6987ac9af41be84c98114d6a0871f5350d05ba0e Mon Sep 17 00:00:00 2001 From: Takashi Iwai Date: Tue, 17 Mar 2009 14:00:06 +0100 Subject: [PATCH] --- yaml --- r: 132440 b: refs/heads/master c: 6af845e4eb36fb91b322aaf77ec1cab2220a48ad h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/sound/core/sgbuf.c | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index ea30e176e8ec..5e544b3917a5 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 82f5d57163abed2e5ff271d03217b6f90c616eb8 +refs/heads/master: 6af845e4eb36fb91b322aaf77ec1cab2220a48ad diff --git a/trunk/sound/core/sgbuf.c b/trunk/sound/core/sgbuf.c index d4564edd61d7..4e7ec2b49873 100644 --- a/trunk/sound/core/sgbuf.c +++ b/trunk/sound/core/sgbuf.c @@ -38,6 +38,10 @@ int snd_free_sgbuf_pages(struct snd_dma_buffer *dmab) if (! sgbuf) return -EINVAL; + if (dmab->area) + vunmap(dmab->area); + dmab->area = NULL; + tmpb.dev.type = SNDRV_DMA_TYPE_DEV; tmpb.dev.dev = sgbuf->dev; for (i = 0; i < sgbuf->pages; i++) { @@ -48,9 +52,6 @@ int snd_free_sgbuf_pages(struct snd_dma_buffer *dmab) tmpb.bytes = (sgbuf->table[i].addr & ~PAGE_MASK) << PAGE_SHIFT; snd_dma_free_pages(&tmpb); } - if (dmab->area) - vunmap(dmab->area); - dmab->area = NULL; kfree(sgbuf->table); kfree(sgbuf->page_table);