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

Commit f13d4e18 authored by Marek Vasut's avatar Marek Vasut Committed by Mark Brown
Browse files

spi: imx: Gracefully handle NULL master->cs_gpios



It is possible that master->cs_gpios is NULL after spi_bitbang_start(),
this happens if the master has no CS GPIOs specified in DT. Check for
this case after spi_bitbang_start() to prevent NULL pointer dereference
in the subsequent for loop, which accesses the master->cs_gpios field.

Signed-off-by: default avatarMarek Vasut <marex@denx.de>
Cc: Martin Kaiser <martin@kaiser.cx>
Cc: Mark Brown <broonie@kernel.org>
Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 15ca9215
Loading
Loading
Loading
Loading
+5 −0
Original line number Original line Diff line number Diff line
@@ -1268,6 +1268,11 @@ static int spi_imx_probe(struct platform_device *pdev)
		goto out_clk_put;
		goto out_clk_put;
	}
	}


	if (!master->cs_gpios) {
		dev_err(&pdev->dev, "No CS GPIOs available\n");
		goto out_clk_put;
	}

	for (i = 0; i < master->num_chipselect; i++) {
	for (i = 0; i < master->num_chipselect; i++) {
		if (!gpio_is_valid(master->cs_gpios[i]))
		if (!gpio_is_valid(master->cs_gpios[i]))
			continue;
			continue;