summaryrefslogtreecommitdiffstats
path: root/sound/soc/xilinx
diff options
context:
space:
mode:
authorGustavo A. R. Silva <gustavo@embeddedor.com>2018-12-26 15:11:06 -0600
committerMark Brown <broonie@kernel.org>2019-01-03 16:34:37 +0000
commit1d38b4e903d577f05393eb0ac6727f40d90dd6c6 (patch)
tree5d7b12c82a1f85cb7b63b9bb7d400b39ec57fa8d /sound/soc/xilinx
parentf5758544d98c8bec7793aeea28928f5e8bd45d47 (diff)
downloadlinux-1d38b4e903d577f05393eb0ac6727f40d90dd6c6.tar.gz
linux-1d38b4e903d577f05393eb0ac6727f40d90dd6c6.tar.bz2
linux-1d38b4e903d577f05393eb0ac6727f40d90dd6c6.zip
ASoC: xlnx: fix error handling in xlnx_formatter_pcm_probe
Currently, if platform_get_irq_byname() fails, the returned error turns into a huge value, once it is being store into a variable of type unsigned int, hence never actually reporting any error and causing unexpected behavior when using the values stored in aud_drv_data->s2mm_irq and aud_drv_data->mm2s_irq. Fix this by changing the type of variables s2mm_irq and mm2s_irq in structure xlnx_pcm_drv_data from unsigned int to int. Addresses-Coverity-ID: 1476096 ("Unsigned compared against 0") Fixes: 796175a94a7f ("ASoC: xlnx: add pcm formatter platform driver") Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com> Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound/soc/xilinx')
-rw-r--r--sound/soc/xilinx/xlnx_formatter_pcm.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sound/soc/xilinx/xlnx_formatter_pcm.c b/sound/soc/xilinx/xlnx_formatter_pcm.c
index f7235f7664d7..d2194da928e7 100644
--- a/sound/soc/xilinx/xlnx_formatter_pcm.c
+++ b/sound/soc/xilinx/xlnx_formatter_pcm.c
@@ -76,8 +76,8 @@ struct xlnx_pcm_drv_data {
void __iomem *mmio;
bool s2mm_presence;
bool mm2s_presence;
- unsigned int s2mm_irq;
- unsigned int mm2s_irq;
+ int s2mm_irq;
+ int mm2s_irq;
struct snd_pcm_substream *play_stream;
struct snd_pcm_substream *capture_stream;
struct clk *axi_clk;