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: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
#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)
return Y_OFF(chip_addx);
}
- return (unsigned int)INVALID_CHIP_ADDRESS;
+ return INVALID_CHIP_ADDRESS;
}
/*
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);