X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=sound%2Fisa%2Fgus%2Fgus_mem_proc.c;h=95071a0841840bfb71359479446ab0b1e728a240;hb=3e3ff47c8527c5ba0be4e9f358d49e4b076bd6ef;hp=6ee2d76ee8286d78e5ad43b7e4e484e995556c80;hpb=a91482bdcc2e0f6035702e46f1b99043a0893346;p=linux-2.6.git diff --git a/sound/isa/gus/gus_mem_proc.c b/sound/isa/gus/gus_mem_proc.c index 6ee2d76ee..95071a084 100644 --- a/sound/isa/gus/gus_mem_proc.c +++ b/sound/isa/gus/gus_mem_proc.c @@ -33,8 +33,7 @@ typedef struct gus_proc_private { } gus_proc_private_t; static long snd_gf1_mem_proc_dump(snd_info_entry_t *entry, void *file_private_data, - struct file *file, char __user *buf, - unsigned long count, unsigned long pos) + struct file *file, char __user *buf, long count) { long size; gus_proc_private_t *priv = snd_magic_cast(gus_proc_private_t, entry->private_data, return -ENXIO); @@ -42,11 +41,12 @@ static long snd_gf1_mem_proc_dump(snd_info_entry_t *entry, void *file_private_da int err; size = count; - if (pos + size > priv->size) - size = (long)priv->size - pos; + if (file->f_pos + size > priv->size) + size = (long)priv->size - file->f_pos; if (size > 0) { - if ((err = snd_gus_dram_read(gus, buf, pos, size, priv->rom)) < 0) + if ((err = snd_gus_dram_read(gus, buf, file->f_pos, size, priv->rom)) < 0) return err; + file->f_pos += size; return size; } return 0;