diff options
Diffstat (limited to 'sound/pci/cs4281.c')
| -rw-r--r-- | sound/pci/cs4281.c | 40 | 
1 files changed, 14 insertions, 26 deletions
diff --git a/sound/pci/cs4281.c b/sound/pci/cs4281.c index 9edc65059e3..6772070ed49 100644 --- a/sound/pci/cs4281.c +++ b/sound/pci/cs4281.c @@ -1139,40 +1139,28 @@ static void snd_cs4281_proc_read(struct snd_info_entry *entry,  	snd_iprintf(buffer, "Spurious end IRQs    : %u\n", chip->spurious_dtc_irq);  } -static long snd_cs4281_BA0_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_cs4281_BA0_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 cs4281 *chip = entry->private_data; -	size = count; -	if (pos + size > CS4281_BA0_SIZE) -		size = (long)CS4281_BA0_SIZE - pos; -	if (size > 0) { -		if (copy_to_user_fromio(buf, chip->ba0 + pos, size)) -			return -EFAULT; -	} -	return size; +	if (copy_to_user_fromio(buf, chip->ba0 + pos, count)) +		return -EFAULT; +	return count;  } -static long snd_cs4281_BA1_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_cs4281_BA1_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 cs4281 *chip = entry->private_data; -	size = count; -	if (pos + size > CS4281_BA1_SIZE) -		size = (long)CS4281_BA1_SIZE - pos; -	if (size > 0) { -		if (copy_to_user_fromio(buf, chip->ba1 + pos, size)) -			return -EFAULT; -	} -	return size; +	if (copy_to_user_fromio(buf, chip->ba1 + pos, count)) +		return -EFAULT; +	return count;  }  static struct snd_info_entry_ops snd_cs4281_proc_ops_BA0 = {  |