ALSA: drivers: opl3: assignment of a pointer that is not used, probable bug

From: Colin King (gmail)
Date: Sat Dec 11 2021 - 13:19:49 EST


Hi,

static analysis with scan-build has found an assignment to vp2 that is never used in function snd_opl3_note_on(), sound/drivers/opl3/opl3_midi.c as follows:

if (instr_4op) {
vp2 = &opl3->voices[voice + 3];
if (vp->state > 0) {
opl3_reg = reg_side | (OPL3_REG_KEYON_BLOCK +
voice_offset + 3);
reg_val = vp->keyon_reg & ~OPL3_KEYON_BIT;
opl3->command(opl3, opl3_reg, reg_val);
}
}

sound/drivers/opl3/opl3_midi.c:399:3: warning: Value stored to 'vp2' is never read [deadcode.DeadStores]
vp2 = &opl3->voices[voice + 3];
^ ~~~~~~~~~~~~~~~~~~~~~~~~

I suspect that references to vp in this if block should be to vp2, but I'm unsure if that is for all references or not, hence I'm reporting this issue.

Coln