forked from luck/tmp_suning_uos_patched
ALSA: vxpocket: Fix invalid endian conversions
The endian conversions used in vxp_dma_read() and vxp_dma_write() are superfluous and even wrong on big-endian machines, as inw() and outw() already do conversions. Kill them. Cc: <stable@vger.kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
fff71a4c05
commit
3acd3e3bab
|
@ -375,7 +375,7 @@ static void vxp_dma_write(struct vx_core *chip, struct snd_pcm_runtime *runtime,
|
|||
length >>= 1; /* in 16bit words */
|
||||
/* Transfer using pseudo-dma. */
|
||||
for (; length > 0; length--) {
|
||||
outw(cpu_to_le16(*addr), port);
|
||||
outw(*addr, port);
|
||||
addr++;
|
||||
}
|
||||
addr = (unsigned short *)runtime->dma_area;
|
||||
|
@ -385,7 +385,7 @@ static void vxp_dma_write(struct vx_core *chip, struct snd_pcm_runtime *runtime,
|
|||
count >>= 1; /* in 16bit words */
|
||||
/* Transfer using pseudo-dma. */
|
||||
for (; count > 0; count--) {
|
||||
outw(cpu_to_le16(*addr), port);
|
||||
outw(*addr, port);
|
||||
addr++;
|
||||
}
|
||||
vx_release_pseudo_dma(chip);
|
||||
|
@ -417,7 +417,7 @@ static void vxp_dma_read(struct vx_core *chip, struct snd_pcm_runtime *runtime,
|
|||
length >>= 1; /* in 16bit words */
|
||||
/* Transfer using pseudo-dma. */
|
||||
for (; length > 0; length--)
|
||||
*addr++ = le16_to_cpu(inw(port));
|
||||
*addr++ = inw(port);
|
||||
addr = (unsigned short *)runtime->dma_area;
|
||||
pipe->hw_ptr = 0;
|
||||
}
|
||||
|
@ -425,12 +425,12 @@ static void vxp_dma_read(struct vx_core *chip, struct snd_pcm_runtime *runtime,
|
|||
count >>= 1; /* in 16bit words */
|
||||
/* Transfer using pseudo-dma. */
|
||||
for (; count > 1; count--)
|
||||
*addr++ = le16_to_cpu(inw(port));
|
||||
*addr++ = inw(port);
|
||||
/* Disable DMA */
|
||||
pchip->regDIALOG &= ~VXP_DLG_DMAREAD_SEL_MASK;
|
||||
vx_outb(chip, DIALOG, pchip->regDIALOG);
|
||||
/* Read the last word (16 bits) */
|
||||
*addr = le16_to_cpu(inw(port));
|
||||
*addr = inw(port);
|
||||
/* Disable 16-bit accesses */
|
||||
pchip->regDIALOG &= ~VXP_DLG_DMA16_SEL_MASK;
|
||||
vx_outb(chip, DIALOG, pchip->regDIALOG);
|
||||
|
|
Loading…
Reference in New Issue
Block a user