diff options
| -rw-r--r-- | include/sound/compress_driver.h | 2 | ||||
| -rw-r--r-- | sound/core/compress_offload.c | 8 | ||||
| -rw-r--r-- | sound/soc/soc-compress.c | 2 | 
3 files changed, 7 insertions, 5 deletions
diff --git a/include/sound/compress_driver.h b/include/sound/compress_driver.h index ff6c74153fa..db8273a5175 100644 --- a/include/sound/compress_driver.h +++ b/include/sound/compress_driver.h @@ -121,7 +121,7 @@ struct snd_compr_ops {  	int (*trigger)(struct snd_compr_stream *stream, int cmd);  	int (*pointer)(struct snd_compr_stream *stream,  			struct snd_compr_tstamp *tstamp); -	int (*copy)(struct snd_compr_stream *stream, const char __user *buf, +	int (*copy)(struct snd_compr_stream *stream, char __user *buf,  		       size_t count);  	int (*mmap)(struct snd_compr_stream *stream,  			struct vm_area_struct *vma); diff --git a/sound/core/compress_offload.c b/sound/core/compress_offload.c index 1f69863a83d..52ca4cce146 100644 --- a/sound/core/compress_offload.c +++ b/sound/core/compress_offload.c @@ -272,10 +272,12 @@ static ssize_t snd_compr_write(struct file *f, const char __user *buf,  	if (avail > count)  		avail = count; -	if (stream->ops->copy) -		retval = stream->ops->copy(stream, buf, avail); -	else +	if (stream->ops->copy) { +		char __user* cbuf = (char __user*)buf; +		retval = stream->ops->copy(stream, cbuf, avail); +	} else {  		retval = snd_compr_write_data(stream, buf, avail); +	}  	if (retval > 0)  		stream->runtime->total_bytes_available += retval; diff --git a/sound/soc/soc-compress.c b/sound/soc/soc-compress.c index 29093a306ea..da83e5658f6 100644 --- a/sound/soc/soc-compress.c +++ b/sound/soc/soc-compress.c @@ -315,7 +315,7 @@ static int soc_compr_pointer(struct snd_compr_stream *cstream,  }  static int soc_compr_copy(struct snd_compr_stream *cstream, -			  const char __user *buf, size_t count) +			  char __user *buf, size_t count)  {  	struct snd_soc_pcm_runtime *rtd = cstream->private_data;  	struct snd_soc_platform *platform = rtd->platform;  |