summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorMatti Vaittinen <mazziesaccount@gmail.com>2026-08-10 10:51:38 +0300
committerJonathan Cameron <jonathan.cameron@oss.qualcomm.com>2026-08-31 00:52:41 +0100
commit55671fbc3d12ae1f381842433567fcb7ff96a298 (patch)
tree24d7b0ca29d1fa5dd4f9fc006b35eaf4c6bfd558 /drivers
parent196cc715dce3576a54065f5cb07185c75778f9a8 (diff)
iio: dac: rohm-bd79703: Do not allow writing SCALE
The BD79703 has adds IIO_CHAN_INFO_SCALE in the info_mask_shared_by_type so users can read the scale, which depends on the used reference voltage. This, however, enables users to try writing the scale as well. This isn't really supported but the bd79703_write_raw() does not check the mask, and if written scale values pass the validation, the driver will proceed writing the DAC value when users writes the scale. Prevent the unsupported scale setting and return an error. Fixes: af6aca656a85 ("iio: dac: Support ROHM BD79703 DAC") Signed-off-by: Matti Vaittinen <mazziesaccount@gmail.com> Signed-off-by: Jonathan Cameron <jonathan.cameron@oss.qualcomm.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/iio/dac/rohm-bd79703.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/iio/dac/rohm-bd79703.c b/drivers/iio/dac/rohm-bd79703.c
index 6e2e7787f8a4..127ccc2c4a22 100644
--- a/drivers/iio/dac/rohm-bd79703.c
+++ b/drivers/iio/dac/rohm-bd79703.c
@@ -73,6 +73,9 @@ static int bd79703_write_raw(struct iio_dev *idev,
{
struct bd79703_data *data = iio_priv(idev);
+ if (mask != IIO_CHAN_INFO_RAW)
+ return -EINVAL;
+
if (val < 0 || val >= 1 << BD79703_DAC_BITS)
return -EINVAL;