diff options
author | Gustavo A. R. Silva <gustavo@embeddedor.com> | 2018-12-27 00:11:06 +0300 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2019-01-03 19:34:37 +0300 |
commit | 1d38b4e903d577f05393eb0ac6727f40d90dd6c6 (patch) | |
tree | 5d7b12c82a1f85cb7b63b9bb7d400b39ec57fa8d /sound/soc/xilinx | |
parent | f5758544d98c8bec7793aeea28928f5e8bd45d47 (diff) | |
download | linux-1d38b4e903d577f05393eb0ac6727f40d90dd6c6.tar.xz |
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.c | 4 |
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; |