1
0
Fork 0
alistair23-linux/sound/isa
Arnd Bergmann 5ce00760a8 ALSA: opti9xx: shut up gcc-10 range warning
gcc-10 points out a few instances of suspicious integer arithmetic
leading to value truncation:

sound/isa/opti9xx/opti92x-ad1848.c: In function 'snd_opti9xx_configure':
sound/isa/opti9xx/opti92x-ad1848.c:322:43: error: overflow in conversion from 'int' to 'unsigned char' changes value from '(int)snd_opti9xx_read(chip, 3) & -256 | 240' to '240' [-Werror=overflow]
  322 |   (snd_opti9xx_read(chip, reg) & ~(mask)) | ((value) & (mask)))
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
sound/isa/opti9xx/opti92x-ad1848.c:351:3: note: in expansion of macro 'snd_opti9xx_write_mask'
  351 |   snd_opti9xx_write_mask(chip, OPTi9XX_MC_REG(3), 0xf0, 0xff);
      |   ^~~~~~~~~~~~~~~~~~~~~~
sound/isa/opti9xx/miro.c: In function 'snd_miro_configure':
sound/isa/opti9xx/miro.c:873:40: error: overflow in conversion from 'int' to 'unsigned char' changes value from '(int)snd_miro_read(chip, 3) & -256 | 240' to '240' [-Werror=overflow]
  873 |   (snd_miro_read(chip, reg) & ~(mask)) | ((value) & (mask)))
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
sound/isa/opti9xx/miro.c:1010:3: note: in expansion of macro 'snd_miro_write_mask'
 1010 |   snd_miro_write_mask(chip, OPTi9XX_MC_REG(3), 0xf0, 0xff);
      |   ^~~~~~~~~~~~~~~~~~~

These are all harmless here as only the low 8 bit are passed down
anyway. Change the macros to inline functions to make the code
more readable and also avoid the warning.

Strictly speaking those functions also need locking to make the
read/write pair atomic, but it seems unlikely that anyone would
still run into that issue.

Fixes: 1841f613fd ("[ALSA] Add snd-miro driver")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Link: https://lore.kernel.org/r/20200429190216.85919-1-arnd@arndb.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2020-04-30 08:11:42 +02:00
..
ad1816a ALSA: isa: Constify snd_kcontrol_new items 2020-01-03 09:24:25 +01:00
ad1848 treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
cs423x ALSA: cs423x: More constification 2020-01-05 16:15:00 +01:00
es1688 ALSA: es1688: More constifications 2020-01-05 16:15:02 +01:00
galaxy treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 13 2019-05-21 11:28:45 +02:00
gus ALSA: gus: More constifications 2020-01-05 16:15:03 +01:00
msnd sound updates for 5.6-rc1 2020-01-28 16:26:57 -08:00
opti9xx ALSA: opti9xx: shut up gcc-10 range warning 2020-04-30 08:11:42 +02:00
sb ALSA: emu8000: Fix the cast to __user pointer 2020-02-10 08:26:38 +01:00
wavefront ALSA: wavefront: Support PCM sync_stop 2019-12-11 07:25:58 +01:00
wss ALSA: wss: More constifications 2020-01-05 16:15:05 +01:00
Kconfig sound: Fix Kconfig indentation 2019-10-07 03:53:03 +02:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
adlib.c treewide: Add SPDX license identifier for more missed files 2019-05-21 10:50:45 +02:00
als100.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
azt2320.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
cmi8328.c ALSA: cmi8328: More constifications 2020-01-05 16:14:59 +01:00
cmi8330.c ALSA: cmi8330: More constifications 2020-01-05 16:15:01 +01:00
es18xx.c ALSA: es18xx: More constifications 2020-01-05 16:15:03 +01:00
opl3sa2.c ALSA: isa: Constify snd_kcontrol_new items 2020-01-03 09:24:25 +01:00
sc6000.c ALSA: sc6000: More constification 2020-01-05 16:15:05 +01:00
sscape.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00