Re: [PATCH] ALSA: core/seq: Optimize the return logic in cc_ev_to_ump_midi2
From: kernel test robot
Date: Tue Mar 24 2026 - 03:42:42 EST
Hi songxiebing,
kernel test robot noticed the following build warnings:
[auto build test WARNING on tiwai-sound/for-next]
[also build test WARNING on tiwai-sound/for-linus linus/master v7.0-rc5 next-20260323]
[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/songxiebing/ALSA-core-seq-Optimize-the-return-logic-in-cc_ev_to_ump_midi2/20260324-013342
base: https://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git for-next
patch link: https://lore.kernel.org/r/20260323024742.220707-1-songxiebing%40kylinos.cn
patch subject: [PATCH] ALSA: core/seq: Optimize the return logic in cc_ev_to_ump_midi2
config: x86_64-rhel-9.4 (https://download.01.org/0day-ci/archive/20260324/202603240812.jjlE0H3s-lkp@xxxxxxxxx/config)
compiler: gcc-14 (Debian 14.2.0-19) 14.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260324/202603240812.jjlE0H3s-lkp@xxxxxxxxx/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202603240812.jjlE0H3s-lkp@xxxxxxxxx/
All warnings (new ones prefixed by >>):
sound/core/seq/seq_ump_convert.c: In function 'cc_ev_to_ump_midi2':
>> sound/core/seq/seq_ump_convert.c:880:21: warning: this statement may fall through [-Wimplicit-fallthrough=]
880 | ret = 0; // skip
| ~~~~^~~
sound/core/seq/seq_ump_convert.c:881:9: note: here
881 | case UMP_CC_BANK_SELECT_LSB:
| ^~~~
sound/core/seq/seq_ump_convert.c:884:21: warning: this statement may fall through [-Wimplicit-fallthrough=]
884 | ret = 0; // skip
| ~~~~^~~
sound/core/seq/seq_ump_convert.c:885:9: note: here
885 | case UMP_CC_DATA_LSB:
| ^~~~
vim +880 sound/core/seq/seq_ump_convert.c
833
834 /* convert CC event to MIDI 2.0 UMP */
835 static int cc_ev_to_ump_midi2(const struct snd_seq_event *event,
836 struct snd_seq_client_port *dest_port,
837 union snd_ump_midi2_msg *data,
838 unsigned char status)
839 {
840 unsigned char channel = event->data.control.channel & 0x0f;
841 unsigned char index = event->data.control.param & 0x7f;
842 unsigned char val = event->data.control.value & 0x7f;
843 struct ump_cvt_to_ump_bank *cc = &dest_port->midi2_bank[channel];
844 int ret = 0;
845
846 /* process special CC's (bank/rpn/nrpn) */
847 switch (index) {
848 case UMP_CC_RPN_MSB:
849 ret = fill_rpn(cc, data, channel, true);
850 cc->rpn_set = 1;
851 cc->cc_rpn_msb = val;
852 if (cc->cc_rpn_msb == 0x7f && cc->cc_rpn_lsb == 0x7f)
853 reset_rpn(cc);
854 break;
855 case UMP_CC_RPN_LSB:
856 ret = fill_rpn(cc, data, channel, true);
857 cc->rpn_set = 1;
858 cc->cc_rpn_lsb = val;
859 if (cc->cc_rpn_msb == 0x7f && cc->cc_rpn_lsb == 0x7f)
860 reset_rpn(cc);
861 break;
862 case UMP_CC_NRPN_MSB:
863 ret = fill_rpn(cc, data, channel, true);
864 cc->nrpn_set = 1;
865 cc->cc_nrpn_msb = val;
866 break;
867 case UMP_CC_NRPN_LSB:
868 ret = fill_rpn(cc, data, channel, true);
869 cc->nrpn_set = 1;
870 cc->cc_nrpn_lsb = val;
871 break;
872 case UMP_CC_DATA:
873 cc->cc_data_msb_set = 1;
874 cc->cc_data_msb = val;
875 ret = fill_rpn(cc, data, channel, false);
876 break;
877 case UMP_CC_BANK_SELECT:
878 cc->bank_set = 1;
879 cc->cc_bank_msb = val;
> 880 ret = 0; // skip
881 case UMP_CC_BANK_SELECT_LSB:
882 cc->bank_set = 1;
883 cc->cc_bank_lsb = val;
884 ret = 0; // skip
885 case UMP_CC_DATA_LSB:
886 cc->cc_data_lsb_set = 1;
887 cc->cc_data_lsb = val;
888 ret = fill_rpn(cc, data, channel, false);
889 break;
890 default:
891 data->cc.status = status;
892 data->cc.channel = channel;
893 data->cc.index = index;
894 data->cc.data = upscale_7_to_32bit(event->data.control.value & 0x7f);
895 ret = 1;
896 break;
897 }
898
899 return ret;
900 }
901
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki