diff mbox series

ALSA: usb-audio: Fix unsigned expression compared with zero

Message ID 20220706070627.16764-1-hbut_tan@163.com (mailing list archive)
State New, archived
Headers show
Series ALSA: usb-audio: Fix unsigned expression compared with zero | expand

Commit Message

Zhongjun Tan July 6, 2022, 7:06 a.m. UTC
From: Zhongjun Tan <tanzhongjun@coolpad.com>

Fix unsigned expression compared with zero

Signed-off-by: Zhongjun Tan <tanzhongjun@coolpad.com>
---
 sound/usb/pcm.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Takashi Iwai July 9, 2022, 4:23 p.m. UTC | #1
On Wed, 06 Jul 2022 09:06:27 +0200,
Zhongjun Tan wrote:
> 
> From: Zhongjun Tan <tanzhongjun@coolpad.com>
> 
> Fix unsigned expression compared with zero
> 
> Signed-off-by: Zhongjun Tan <tanzhongjun@coolpad.com>

Could you give more detailed description about what you're trying to
fix?  The patch itself looks rather problematic as 0day bot already
reported.


thanks,

Takashi
kernel test robot July 10, 2022, 7:39 a.m. UTC | #2
Hi Zhongjun,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on tiwai-sound/for-next]
[also build test WARNING on linus/master v5.19-rc5 next-20220708]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Zhongjun-Tan/ALSA-usb-audio-Fix-unsigned-expression-compared-with-zero/20220706-150825
base:   https://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git for-next
config: s390-randconfig-s031-20220710 (https://download.01.org/0day-ci/archive/20220710/202207101502.ZdivUZX6-lkp@intel.com/config)
compiler: s390-linux-gcc (GCC) 11.3.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # apt-get install sparse
        # sparse version: v0.6.4-39-gce1a6720-dirty
        # https://github.com/intel-lab-lkp/linux/commit/10d09dc3ad3a9b823d9097a68058698be90c7a74
        git remote add linux-review https://github.com/intel-lab-lkp/linux
        git fetch --no-tags linux-review Zhongjun-Tan/ALSA-usb-audio-Fix-unsigned-expression-compared-with-zero/20220706-150825
        git checkout 10d09dc3ad3a9b823d9097a68058698be90c7a74
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=s390 SHELL=/bin/bash sound/usb/

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@intel.com>


sparse warnings: (new ones prefixed by >>)
>> sound/usb/pcm.c:782:32: sparse: sparse: incompatible types in comparison expression (different signedness):
>> sound/usb/pcm.c:782:32: sparse:    unsigned int *
>> sound/usb/pcm.c:782:32: sparse:    int *
   sound/usb/pcm.c:783:32: sparse: sparse: incompatible types in comparison expression (different signedness):
   sound/usb/pcm.c:783:32: sparse:    unsigned int *
   sound/usb/pcm.c:783:32: sparse:    int *
   sound/usb/pcm.c:791:40: sparse: sparse: incompatible types in comparison expression (different signedness):
   sound/usb/pcm.c:791:40: sparse:    unsigned int *
   sound/usb/pcm.c:791:40: sparse:    int *
   sound/usb/pcm.c:792:40: sparse: sparse: incompatible types in comparison expression (different signedness):
   sound/usb/pcm.c:792:40: sparse:    unsigned int *
   sound/usb/pcm.c:792:40: sparse:    int *

vim +782 sound/usb/pcm.c

7726dce14c5e7e Takashi Iwai 2020-11-23  761  
e5779998bf8b70 Daniel Mack  2010-03-04  762  static int hw_rule_rate(struct snd_pcm_hw_params *params,
e5779998bf8b70 Daniel Mack  2010-03-04  763  			struct snd_pcm_hw_rule *rule)
e5779998bf8b70 Daniel Mack  2010-03-04  764  {
e5779998bf8b70 Daniel Mack  2010-03-04  765  	struct snd_usb_substream *subs = rule->private;
4e7cf1fbb34ecb Takashi Iwai 2021-09-29  766  	struct snd_usb_audio *chip = subs->stream->chip;
cab941b7e5cf05 Takashi Iwai 2020-11-23  767  	const struct audioformat *fp;
e5779998bf8b70 Daniel Mack  2010-03-04  768  	struct snd_interval *it = hw_param_interval(params, SNDRV_PCM_HW_PARAM_RATE);
10d09dc3ad3a9b Zhongjun Tan 2022-07-06  769  	unsigned int rmin, rmax;
10d09dc3ad3a9b Zhongjun Tan 2022-07-06  770  	int i, r;
e5779998bf8b70 Daniel Mack  2010-03-04  771  
e5779998bf8b70 Daniel Mack  2010-03-04  772  	hwc_debug("hw_rule_rate: (%d,%d)\n", it->min, it->max);
bc4e94aa8e72e7 Takashi Iwai 2020-11-23  773  	rmin = UINT_MAX;
bc4e94aa8e72e7 Takashi Iwai 2020-11-23  774  	rmax = 0;
88766f04c4142c Eldad Zack   2013-04-03  775  	list_for_each_entry(fp, &subs->fmt_list, list) {
e5779998bf8b70 Daniel Mack  2010-03-04  776  		if (!hw_check_valid_format(subs, params, fp))
e5779998bf8b70 Daniel Mack  2010-03-04  777  			continue;
4e7cf1fbb34ecb Takashi Iwai 2021-09-29  778  		r = snd_usb_endpoint_get_clock_rate(chip, fp->clock);
4e7cf1fbb34ecb Takashi Iwai 2021-09-29  779  		if (r > 0) {
4e7cf1fbb34ecb Takashi Iwai 2021-09-29  780  			if (!snd_interval_test(it, r))
4e7cf1fbb34ecb Takashi Iwai 2021-09-29  781  				continue;
4e7cf1fbb34ecb Takashi Iwai 2021-09-29 @782  			rmin = min(rmin, r);
4e7cf1fbb34ecb Takashi Iwai 2021-09-29  783  			rmax = max(rmax, r);
4e7cf1fbb34ecb Takashi Iwai 2021-09-29  784  			continue;
4e7cf1fbb34ecb Takashi Iwai 2021-09-29  785  		}
bc4e94aa8e72e7 Takashi Iwai 2020-11-23  786  		if (fp->rate_table && fp->nr_rates) {
bc4e94aa8e72e7 Takashi Iwai 2020-11-23  787  			for (i = 0; i < fp->nr_rates; i++) {
bc4e94aa8e72e7 Takashi Iwai 2020-11-23  788  				r = fp->rate_table[i];
bc4e94aa8e72e7 Takashi Iwai 2020-11-23  789  				if (!snd_interval_test(it, r))
bc4e94aa8e72e7 Takashi Iwai 2020-11-23  790  					continue;
bc4e94aa8e72e7 Takashi Iwai 2020-11-23  791  				rmin = min(rmin, r);
bc4e94aa8e72e7 Takashi Iwai 2020-11-23  792  				rmax = max(rmax, r);
bc4e94aa8e72e7 Takashi Iwai 2020-11-23  793  			}
e5779998bf8b70 Daniel Mack  2010-03-04  794  		} else {
bc4e94aa8e72e7 Takashi Iwai 2020-11-23  795  			rmin = min(rmin, fp->rate_min);
bc4e94aa8e72e7 Takashi Iwai 2020-11-23  796  			rmax = max(rmax, fp->rate_max);
e5779998bf8b70 Daniel Mack  2010-03-04  797  		}
e5779998bf8b70 Daniel Mack  2010-03-04  798  	}
e5779998bf8b70 Daniel Mack  2010-03-04  799  
7726dce14c5e7e Takashi Iwai 2020-11-23  800  	return apply_hw_params_minmax(it, rmin, rmax);
e5779998bf8b70 Daniel Mack  2010-03-04  801  }
e5779998bf8b70 Daniel Mack  2010-03-04  802
diff mbox series

Patch

diff --git a/sound/usb/pcm.c b/sound/usb/pcm.c
index e692ae04436a..e461715a43bd 100644
--- a/sound/usb/pcm.c
+++ b/sound/usb/pcm.c
@@ -766,8 +766,8 @@  static int hw_rule_rate(struct snd_pcm_hw_params *params,
 	struct snd_usb_audio *chip = subs->stream->chip;
 	const struct audioformat *fp;
 	struct snd_interval *it = hw_param_interval(params, SNDRV_PCM_HW_PARAM_RATE);
-	unsigned int rmin, rmax, r;
-	int i;
+	unsigned int rmin, rmax;
+	int i, r;
 
 	hwc_debug("hw_rule_rate: (%d,%d)\n", it->min, it->max);
 	rmin = UINT_MAX;