[alsa-devel] [PATCH] ALSA: Cleanup redundant tests on unsigned

Takashi Iwai tiwai at suse.de
Fri Oct 30 12:27:23 CET 2009


At Fri, 23 Oct 2009 16:03:08 +0200,
Roel Kluin wrote:
> 
> The variables are unsigned so the test `>= 0' is always true,
> the `< 0' test always fails. In these cases the other part of
> the test catches wrapped values.
> 
> In dac_audio_write() there does not occur a test for wrapped
> values, but the test appears redundant.
> 
> Signed-off-by: Roel Kluin <roel.kluin at gmail.com>
> ---
> I think the test in dac_audio_write() can go, or should it change?

It's obviously superfluous.

I applied your patch as is now.  Thanks!


Takashi


>  sound/oss/sh_dac_audio.c       |    3 ---
>  sound/pci/ca0106/ca0106_proc.c |    4 ++--
>  sound/pci/ctxfi/ctatc.c        |    2 +-
>  sound/pci/emu10k1/emu10k1x.c   |    3 +--
>  sound/pci/emu10k1/emuproc.c    |    4 ++--
>  sound/pci/emu10k1/io.c         |    2 +-
>  sound/soc/codecs/tlv320aic23.c |    2 +-
>  7 files changed, 8 insertions(+), 12 deletions(-)
> 
> diff --git a/sound/oss/sh_dac_audio.c b/sound/oss/sh_dac_audio.c
> index b2ed875..4153752 100644
> --- a/sound/oss/sh_dac_audio.c
> +++ b/sound/oss/sh_dac_audio.c
> @@ -164,9 +164,6 @@ static ssize_t dac_audio_write(struct file *file, const char *buf, size_t count,
>  	int free;
>  	int nbytes;
>  
> -	if (count < 0)
> -		return -EINVAL;
> -
>  	if (!count) {
>  		dac_audio_sync();
>  		return 0;
> diff --git a/sound/pci/ca0106/ca0106_proc.c b/sound/pci/ca0106/ca0106_proc.c
> index c62b7d1..15523e6 100644
> --- a/sound/pci/ca0106/ca0106_proc.c
> +++ b/sound/pci/ca0106/ca0106_proc.c
> @@ -304,7 +304,7 @@ static void snd_ca0106_proc_reg_write32(struct snd_info_entry *entry,
>          while (!snd_info_get_line(buffer, line, sizeof(line))) {
>                  if (sscanf(line, "%x %x", &reg, &val) != 2)
>                          continue;
> -                if ((reg < 0x40) && (reg >=0) && (val <= 0xffffffff) ) {
> +		if (reg < 0x40 && val <= 0xffffffff) {
>  			spin_lock_irqsave(&emu->emu_lock, flags);
>  			outl(val, emu->port + (reg & 0xfffffffc));
>  			spin_unlock_irqrestore(&emu->emu_lock, flags);
> @@ -405,7 +405,7 @@ static void snd_ca0106_proc_reg_write(struct snd_info_entry *entry,
>          while (!snd_info_get_line(buffer, line, sizeof(line))) {
>                  if (sscanf(line, "%x %x %x", &reg, &channel_id, &val) != 3)
>                          continue;
> -                if ((reg < 0x80) && (reg >=0) && (val <= 0xffffffff) && (channel_id >=0) && (channel_id <= 3) )
> +		if (reg < 0x80 && val <= 0xffffffff && channel_id <= 3)
>                          snd_ca0106_ptr_write(emu, reg, channel_id, val);
>          }
>  }
> diff --git a/sound/pci/ctxfi/ctatc.c b/sound/pci/ctxfi/ctatc.c
> index 7545464..cb65bd0 100644
> --- a/sound/pci/ctxfi/ctatc.c
> +++ b/sound/pci/ctxfi/ctatc.c
> @@ -240,7 +240,7 @@ static int select_rom(unsigned int pitch)
>  	} else if (pitch == 0x02000000) {
>  		/* pitch == 2 */
>  		return 3;
> -	} else if (pitch >= 0x0 && pitch <= 0x08000000) {
> +	} else if (pitch <= 0x08000000) {
>  		/* 0 <= pitch <= 8 */
>  		return 0;
>  	} else {
> diff --git a/sound/pci/emu10k1/emu10k1x.c b/sound/pci/emu10k1/emu10k1x.c
> index 36e08bd..6b8ae7b 100644
> --- a/sound/pci/emu10k1/emu10k1x.c
> +++ b/sound/pci/emu10k1/emu10k1x.c
> @@ -1040,8 +1040,7 @@ static void snd_emu10k1x_proc_reg_write(struct snd_info_entry *entry,
>  		if (sscanf(line, "%x %x %x", &reg, &channel_id, &val) != 3)
>  			continue;
>  
> -		if ((reg < 0x49) && (reg >= 0) && (val <= 0xffffffff) 
> -		    && (channel_id >= 0) && (channel_id <= 2) )
> +		if (reg < 0x49 && val <= 0xffffffff && channel_id <= 2)
>  			snd_emu10k1x_ptr_write(emu, reg, channel_id, val);
>  	}
>  }
> diff --git a/sound/pci/emu10k1/emuproc.c b/sound/pci/emu10k1/emuproc.c
> index 216f974..baa7cd5 100644
> --- a/sound/pci/emu10k1/emuproc.c
> +++ b/sound/pci/emu10k1/emuproc.c
> @@ -451,7 +451,7 @@ static void snd_emu_proc_io_reg_write(struct snd_info_entry *entry,
>  	while (!snd_info_get_line(buffer, line, sizeof(line))) {
>  		if (sscanf(line, "%x %x", &reg, &val) != 2)
>  			continue;
> -		if ((reg < 0x40) && (reg >= 0) && (val <= 0xffffffff) ) {
> +		if (reg < 0x40 && val <= 0xffffffff) {
>  			spin_lock_irqsave(&emu->emu_lock, flags);
>  			outl(val, emu->port + (reg & 0xfffffffc));
>  			spin_unlock_irqrestore(&emu->emu_lock, flags);
> @@ -527,7 +527,7 @@ static void snd_emu_proc_ptr_reg_write(struct snd_info_entry *entry,
>  	while (!snd_info_get_line(buffer, line, sizeof(line))) {
>  		if (sscanf(line, "%x %x %x", &reg, &channel_id, &val) != 3)
>  			continue;
> -		if ((reg < 0xa0) && (reg >= 0) && (val <= 0xffffffff) && (channel_id >= 0) && (channel_id <= 3) )
> +		if (reg < 0xa0 && val <= 0xffffffff && channel_id <= 3)
>  			snd_ptr_write(emu, iobase, reg, channel_id, val);
>  	}
>  }
> diff --git a/sound/pci/emu10k1/io.c b/sound/pci/emu10k1/io.c
> index c1a5aa1..5ef7080 100644
> --- a/sound/pci/emu10k1/io.c
> +++ b/sound/pci/emu10k1/io.c
> @@ -256,7 +256,7 @@ int snd_emu1010_fpga_write(struct snd_emu10k1 * emu, u32 reg, u32 value)
>  	if (reg > 0x3f)
>  		return 1;
>  	reg += 0x40; /* 0x40 upwards are registers. */
> -	if (value < 0 || value > 0x3f) /* 0 to 0x3f are values */
> +	if (value > 0x3f) /* 0 to 0x3f are values */
>  		return 1;
>  	spin_lock_irqsave(&emu->emu_lock, flags);
>  	outl(reg, emu->port + A_IOCFG);
> diff --git a/sound/soc/codecs/tlv320aic23.c b/sound/soc/codecs/tlv320aic23.c
> index 0b8dcb5..35606ae 100644
> --- a/sound/soc/codecs/tlv320aic23.c
> +++ b/sound/soc/codecs/tlv320aic23.c
> @@ -85,7 +85,7 @@ static int tlv320aic23_write(struct snd_soc_codec *codec, unsigned int reg,
>  	 * of data into val
>  	 */
>  
> -	if ((reg < 0 || reg > 9) && (reg != 15)) {
> +	if (reg > 9 && reg != 15) {
>  		printk(KERN_WARNING "%s Invalid register R%u\n", __func__, reg);
>  		return -1;
>  	}
> 


More information about the Alsa-devel mailing list