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

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
...@@ -58,8 +58,13 @@ static const struct regmap_config hmc5843_i2c_regmap_config = { ...@@ -58,8 +58,13 @@ static const struct regmap_config hmc5843_i2c_regmap_config = {
static int hmc5843_i2c_probe(struct i2c_client *cli, static int hmc5843_i2c_probe(struct i2c_client *cli,
const struct i2c_device_id *id) 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, return hmc5843_common_probe(&cli->dev,
devm_regmap_init_i2c(cli, &hmc5843_i2c_regmap_config), regmap,
id->driver_data, id->name); id->driver_data, id->name);
} }
......
...@@ -58,6 +58,7 @@ static const struct regmap_config hmc5843_spi_regmap_config = { ...@@ -58,6 +58,7 @@ static const struct regmap_config hmc5843_spi_regmap_config = {
static int hmc5843_spi_probe(struct spi_device *spi) static int hmc5843_spi_probe(struct spi_device *spi)
{ {
int ret; int ret;
struct regmap *regmap;
const struct spi_device_id *id = spi_get_device_id(spi); const struct spi_device_id *id = spi_get_device_id(spi);
spi->mode = SPI_MODE_3; spi->mode = SPI_MODE_3;
...@@ -67,8 +68,12 @@ static int hmc5843_spi_probe(struct spi_device *spi) ...@@ -67,8 +68,12 @@ static int hmc5843_spi_probe(struct spi_device *spi)
if (ret) if (ret)
return 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, return hmc5843_common_probe(&spi->dev,
devm_regmap_init_spi(spi, &hmc5843_spi_regmap_config), regmap,
id->driver_data, id->name); id->driver_data, id->name);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment