summaryrefslogtreecommitdiff
path: root/linux/sound
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <mchehab@redhat.com>2008-10-12 09:46:02 -0200
committerMauro Carvalho Chehab <mchehab@redhat.com>2008-10-12 09:46:02 -0200
commiteb52c7bdfc03714679c2c8056d42372d1c8cc505 (patch)
tree9063fcb5a8f0e08358acd5d993c97035b92c0126 /linux/sound
parent229d73ec94274e219fc8a35bec92c2dde7a2a724 (diff)
downloadmediapointer-dvb-s2-eb52c7bdfc03714679c2c8056d42372d1c8cc505.tar.gz
mediapointer-dvb-s2-eb52c7bdfc03714679c2c8056d42372d1c8cc505.tar.bz2
backport changes on files maintained elsewhere
kernel-sync: Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'linux/sound')
-rw-r--r--linux/sound/pci/bt87x.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/linux/sound/pci/bt87x.c b/linux/sound/pci/bt87x.c
index c33300f22..6c70b246d 100644
--- a/linux/sound/pci/bt87x.c
+++ b/linux/sound/pci/bt87x.c
@@ -242,7 +242,6 @@ static inline void snd_bt87x_writel(struct snd_bt87x *chip, u32 reg, u32 value)
static int snd_bt87x_create_risc(struct snd_bt87x *chip, struct snd_pcm_substream *substream,
unsigned int periods, unsigned int period_bytes)
{
- struct snd_sg_buf *sgbuf = snd_pcm_substream_sgbuf(substream);
unsigned int i, offset;
u32 *risc;
@@ -261,6 +260,7 @@ static int snd_bt87x_create_risc(struct snd_bt87x *chip, struct snd_pcm_substrea
rest = period_bytes;
do {
u32 cmd, len;
+ unsigned int addr;
len = PAGE_SIZE - (offset % PAGE_SIZE);
if (len > rest)
@@ -275,7 +275,8 @@ static int snd_bt87x_create_risc(struct snd_bt87x *chip, struct snd_pcm_substrea
if (len == rest)
cmd |= RISC_EOL | RISC_IRQ;
*risc++ = cpu_to_le32(cmd);
- *risc++ = cpu_to_le32((u32)snd_pcm_sgbuf_get_addr(sgbuf, offset));
+ addr = snd_pcm_sgbuf_get_addr(substream, offset);
+ *risc++ = cpu_to_le32(addr);
offset += len;
rest -= len;
} while (rest > 0);