diff options
author | Russell King <rmk+kernel@arm.linux.org.uk> | 2013-10-07 10:43:04 -0400 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2013-10-07 10:43:04 -0400 |
commit | a56e74f546b64be93731e42d83baf5b538cc1b11 (patch) | |
tree | 18f6dee45d801e57ac9db2a31664b0d5c0762c50 /sound/core/compress_offload.c | |
parent | d08e2e09042bd3f7ef66a35cb4bb92794ab26bb2 (diff) | |
parent | e4e7f10bfc4069925e99cc4b428c3434e30b6c3f (diff) |
Merge branch 'arm-aesbs' of git://git.linaro.org/people/ardbiesheuvel/linux-arm into devel-stable
Diffstat (limited to 'sound/core/compress_offload.c')
-rw-r--r-- | sound/core/compress_offload.c | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/sound/core/compress_offload.c b/sound/core/compress_offload.c index 98969541cbcc..bea523a5d852 100644 --- a/sound/core/compress_offload.c +++ b/sound/core/compress_offload.c | |||
@@ -139,6 +139,18 @@ static int snd_compr_open(struct inode *inode, struct file *f) | |||
139 | static int snd_compr_free(struct inode *inode, struct file *f) | 139 | static int snd_compr_free(struct inode *inode, struct file *f) |
140 | { | 140 | { |
141 | struct snd_compr_file *data = f->private_data; | 141 | struct snd_compr_file *data = f->private_data; |
142 | struct snd_compr_runtime *runtime = data->stream.runtime; | ||
143 | |||
144 | switch (runtime->state) { | ||
145 | case SNDRV_PCM_STATE_RUNNING: | ||
146 | case SNDRV_PCM_STATE_DRAINING: | ||
147 | case SNDRV_PCM_STATE_PAUSED: | ||
148 | data->stream.ops->trigger(&data->stream, SNDRV_PCM_TRIGGER_STOP); | ||
149 | break; | ||
150 | default: | ||
151 | break; | ||
152 | } | ||
153 | |||
142 | data->stream.ops->free(&data->stream); | 154 | data->stream.ops->free(&data->stream); |
143 | kfree(data->stream.runtime->buffer); | 155 | kfree(data->stream.runtime->buffer); |
144 | kfree(data->stream.runtime); | 156 | kfree(data->stream.runtime); |
@@ -837,7 +849,8 @@ static int snd_compress_dev_disconnect(struct snd_device *device) | |||
837 | struct snd_compr *compr; | 849 | struct snd_compr *compr; |
838 | 850 | ||
839 | compr = device->device_data; | 851 | compr = device->device_data; |
840 | snd_unregister_device(compr->direction, compr->card, compr->device); | 852 | snd_unregister_device(SNDRV_DEVICE_TYPE_COMPRESS, compr->card, |
853 | compr->device); | ||
841 | return 0; | 854 | return 0; |
842 | } | 855 | } |
843 | 856 | ||