Re: [PATCH] ALSA: usb-audio: Fix unsigned expression compared with zero

From: kernel test robot
Date: Sun Jul 10 2022 - 03:50:19 EST


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@xxxxxxxxx/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@xxxxxxxxx>


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

--
0-DAY CI Kernel Test Service
https://01.org/lkp