Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4a8b89f9 authored by Takashi Iwai's avatar Takashi Iwai
Browse files

ALSA: hda/ca0132 - Fix type of INVALID_CHIP_ADDRESS



The chip address is 32bit long but INVALID_CHIP_ADDRESS is defined as
an unsigned long.  This makes dsp_chip_to_dsp_addx() misbehaving on
64bit architectures.  Fix the INVALID_CHIP_ADDRESS definition to be
32bit.

Reported-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent d9111496
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -337,7 +337,7 @@
#define DSPDMAC_ACTIVE_WFR_MASK        0xFFF000

#define DSP_AUX_MEM_BASE            0xE000
#define INVALID_CHIP_ADDRESS        (~0UL)
#define INVALID_CHIP_ADDRESS        (~0U)

#define X_SIZE  (XRAM_XRAM_CHANNEL_COUNT   * XRAM_XRAM_CHAN_INCR)
#define Y_SIZE  (YRAM_YRAM_CHANNEL_COUNT   * YRAM_YRAM_CHAN_INCR)
+2 −2
Original line number Diff line number Diff line
@@ -1598,7 +1598,7 @@ static unsigned int dsp_chip_to_dsp_addx(unsigned int chip_addx,
		return Y_OFF(chip_addx);
	}

	return (unsigned int)INVALID_CHIP_ADDRESS;
	return INVALID_CHIP_ADDRESS;
}

/*
@@ -4540,7 +4540,7 @@ static int ca0132_init(struct hda_codec *codec)
	int i;

	spec->dsp_state = DSP_DOWNLOAD_INIT;
	spec->curr_chip_addx = (unsigned int)INVALID_CHIP_ADDRESS;
	spec->curr_chip_addx = INVALID_CHIP_ADDRESS;

	snd_hda_power_up(codec);