summary refs log tree commit diff
path: root/sound/oss
diff options
context:
space:
mode:
authorRoel Kluin <roel.kluin@gmail.com>2009-08-26 12:01:20 +0200
committerTakashi Iwai <tiwai@suse.de>2009-08-26 12:42:43 +0200
commitf1d269bac24e5ddb3a0650aaeb4117aa806b99f1 (patch)
tree4744cfe08ef1cf2929fdf31c849874396b7a3d39 /sound/oss
parent5e8e7c38533a8f86626e9410fa38f5854a6959df (diff)
downloadlinux-f1d269bac24e5ddb3a0650aaeb4117aa806b99f1.tar.gz
sound: vwsnd: Fix setting of cfgval and ctlval in li_setup_dma()
Since !LI_CCFG_* evaluates to 0, this did not change anything to
cfgval and ctlval.

Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/oss')
-rw-r--r--sound/oss/vwsnd.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/sound/oss/vwsnd.c b/sound/oss/vwsnd.c
index 187f72750e8f..6713110bdc75 100644
--- a/sound/oss/vwsnd.c
+++ b/sound/oss/vwsnd.c
@@ -628,7 +628,7 @@ static void li_setup_dma(dma_chan_t *chan,
 	ASSERT(!(buffer_paddr & 0xFF));
 	chan->baseval = (buffer_paddr >> 8) | 1 << (37 - 8);
 
-	chan->cfgval = (!LI_CCFG_LOCK |
+	chan->cfgval = ((chan->cfgval & ~LI_CCFG_LOCK) |
 			SHIFT_FIELD(desc->ad1843_slot, LI_CCFG_SLOT) |
 			desc->direction |
 			mode |
@@ -638,9 +638,9 @@ static void li_setup_dma(dma_chan_t *chan,
 	tmask = 13 - fragshift;		/* See Lithium DMA Notes above. */
 	ASSERT(size >= 2 && size <= 7);
 	ASSERT(tmask >= 1 && tmask <= 7);
-	chan->ctlval = (!LI_CCTL_RESET |
+	chan->ctlval = ((chan->ctlval & ~LI_CCTL_RESET) |
 			SHIFT_FIELD(size, LI_CCTL_SIZE) |
-			!LI_CCTL_DMA_ENABLE |
+			(chan->ctlval & ~LI_CCTL_DMA_ENABLE) |
 			SHIFT_FIELD(tmask, LI_CCTL_TMASK) |
 			SHIFT_FIELD(0, LI_CCTL_TPTR));