diff options
author | Takashi Iwai <tiwai@suse.de> | 2010-05-20 11:58:57 +0200 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2010-05-20 11:58:57 +0200 |
commit | 3374cd1abd478f767aaedf2c21d109596ff0fe72 (patch) | |
tree | 46b00a571ba5d86373bd9054fdccc5dc6e28e42f /sound/pci/cs46xx/cs46xx_lib.c | |
parent | e40152ee1e1c7a63f4777791863215e3faa37a86 (diff) | |
parent | 670ff6abd6caff406b217f8a828d6c03656535d8 (diff) | |
download | linux-3374cd1abd478f767aaedf2c21d109596ff0fe72.tar.bz2 |
Merge branch 'topic/core-cleanup' into for-linus
Diffstat (limited to 'sound/pci/cs46xx/cs46xx_lib.c')
-rw-r--r-- | sound/pci/cs46xx/cs46xx_lib.c | 19 |
1 files changed, 7 insertions, 12 deletions
diff --git a/sound/pci/cs46xx/cs46xx_lib.c b/sound/pci/cs46xx/cs46xx_lib.c index 3f99a5e8528c..aad37082cb6e 100644 --- a/sound/pci/cs46xx/cs46xx_lib.c +++ b/sound/pci/cs46xx/cs46xx_lib.c @@ -2657,21 +2657,16 @@ static inline void snd_cs46xx_remove_gameport(struct snd_cs46xx *chip) { } * proc interface */ -static long snd_cs46xx_io_read(struct snd_info_entry *entry, void *file_private_data, - struct file *file, char __user *buf, - unsigned long count, unsigned long pos) +static ssize_t snd_cs46xx_io_read(struct snd_info_entry *entry, + void *file_private_data, + struct file *file, char __user *buf, + size_t count, loff_t pos) { - long size; struct snd_cs46xx_region *region = entry->private_data; - size = count; - if (pos + (size_t)size > region->size) - size = region->size - pos; - if (size > 0) { - if (copy_to_user_fromio(buf, region->remap_addr + pos, size)) - return -EFAULT; - } - return size; + if (copy_to_user_fromio(buf, region->remap_addr + pos, count)) + return -EFAULT; + return count; } static struct snd_info_entry_ops snd_cs46xx_proc_io_ops = { |