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

Commit d5ece937 authored by Olof Johansson's avatar Olof Johansson
Browse files

ARM: pxa: ssp: Check return values from phandle lookups



Commit a6e56c28 (ARM: pxa: ssp: add DT bindings) causes warnings
when built:

arch/arm/plat-pxa/ssp.c: In function 'pxa_ssp_probe':
arch/arm/plat-pxa/ssp.c:145:17: warning: 'dma_spec.args[0]' may be used
	uninitialized in this function [-Wmaybe-uninitialized]

Resolve by checking return values and aborting when lookups fail.

Cc: Daniel Mack <zonque@gmail.com>
Cc: Mark Brown <broonie@linaro.org>
Cc: Haojian Zhuang <haojian.zhuang@gmail.com>
Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
parent 64041417
Loading
Loading
Loading
Loading
+14 −4
Original line number Diff line number Diff line
@@ -132,6 +132,7 @@ static int pxa_ssp_probe(struct platform_device *pdev)
	if (dev->of_node) {
		struct of_phandle_args dma_spec;
		struct device_node *np = dev->of_node;
		int ret;

		/*
		 * FIXME: we should allocate the DMA channel from this
@@ -140,14 +141,23 @@ static int pxa_ssp_probe(struct platform_device *pdev)
		 */

		/* rx */
		of_parse_phandle_with_args(np, "dmas", "#dma-cells",
		ret = of_parse_phandle_with_args(np, "dmas", "#dma-cells",
						 0, &dma_spec);

		if (ret) {
			dev_err(dev, "Can't parse dmas property\n");
			return -ENODEV;
		}
		ssp->drcmr_rx = dma_spec.args[0];
		of_node_put(dma_spec.np);

		/* tx */
		of_parse_phandle_with_args(np, "dmas", "#dma-cells",
		ret = of_parse_phandle_with_args(np, "dmas", "#dma-cells",
						 1, &dma_spec);
		if (ret) {
			dev_err(dev, "Can't parse dmas property\n");
			return -ENODEV;
		}
		ssp->drcmr_tx = dma_spec.args[0];
		of_node_put(dma_spec.np);
	} else {