Commit 536cc27d authored by Kangjie Lu's avatar Kangjie Lu Committed by Jonathan Cameron
Browse files

iio: hmc5843: fix potential NULL pointer dereferences



devm_regmap_init_i2c may fail and return NULL. The fix returns
the error when it fails.

Signed-off-by: default avatarKangjie Lu <kjlu@umn.edu>
Signed-off-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
parent a816646f
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -58,8 +58,13 @@ static const struct regmap_config hmc5843_i2c_regmap_config = {
static int hmc5843_i2c_probe(struct i2c_client *cli,
			     const struct i2c_device_id *id)
{
	struct regmap *regmap = devm_regmap_init_i2c(cli,
			&hmc5843_i2c_regmap_config);
	if (IS_ERR(regmap))
		return PTR_ERR(regmap);

	return hmc5843_common_probe(&cli->dev,
			devm_regmap_init_i2c(cli, &hmc5843_i2c_regmap_config),
			regmap,
			id->driver_data, id->name);
}

+6 −1
Original line number Diff line number Diff line
@@ -58,6 +58,7 @@ static const struct regmap_config hmc5843_spi_regmap_config = {
static int hmc5843_spi_probe(struct spi_device *spi)
{
	int ret;
	struct regmap *regmap;
	const struct spi_device_id *id = spi_get_device_id(spi);

	spi->mode = SPI_MODE_3;
@@ -67,8 +68,12 @@ static int hmc5843_spi_probe(struct spi_device *spi)
	if (ret)
		return ret;

	regmap = devm_regmap_init_spi(spi, &hmc5843_spi_regmap_config);
	if (IS_ERR(regmap))
		return PTR_ERR(regmap);

	return hmc5843_common_probe(&spi->dev,
			devm_regmap_init_spi(spi, &hmc5843_spi_regmap_config),
			regmap,
			id->driver_data, id->name);
}