mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-26 21:54:11 +08:00
spi: spi-zynq-qspi: Fix some wrong goto jumps & missing error code
In zynq_qspi_probe function, when enable the device clock is done, the return of all the functions should goto the clk_dis_all label. If num_cs is not right then this should return a negative error code but currently it returns success. Signed-off-by: zpershuai <zpershuai@gmail.com> Link: https://lore.kernel.org/r/1622110857-21812-1-git-send-email-zpershuai@gmail.com Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
2ec6f20b33
commit
f131767eef
@ -678,14 +678,14 @@ static int zynq_qspi_probe(struct platform_device *pdev)
|
||||
xqspi->irq = platform_get_irq(pdev, 0);
|
||||
if (xqspi->irq <= 0) {
|
||||
ret = -ENXIO;
|
||||
goto remove_master;
|
||||
goto clk_dis_all;
|
||||
}
|
||||
ret = devm_request_irq(&pdev->dev, xqspi->irq, zynq_qspi_irq,
|
||||
0, pdev->name, xqspi);
|
||||
if (ret != 0) {
|
||||
ret = -ENXIO;
|
||||
dev_err(&pdev->dev, "request_irq failed\n");
|
||||
goto remove_master;
|
||||
goto clk_dis_all;
|
||||
}
|
||||
|
||||
ret = of_property_read_u32(np, "num-cs",
|
||||
@ -693,8 +693,9 @@ static int zynq_qspi_probe(struct platform_device *pdev)
|
||||
if (ret < 0) {
|
||||
ctlr->num_chipselect = 1;
|
||||
} else if (num_cs > ZYNQ_QSPI_MAX_NUM_CS) {
|
||||
ret = -EINVAL;
|
||||
dev_err(&pdev->dev, "only 2 chip selects are available\n");
|
||||
goto remove_master;
|
||||
goto clk_dis_all;
|
||||
} else {
|
||||
ctlr->num_chipselect = num_cs;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user