drivers/iio/adc/ad_sigma_delta.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
Change the buffer disable callback from postdisable to predisable.
This balances the existing posteanble callback. Using postdisable
with posteanble can be problematic, for example, if update_scan_mode
fails, it would call postdisable without ever having called posteanble,
so the drivers using this would be in an unexpected state when
postdisable was called.
Fixes: af3008485ea0 ("iio:adc: Add common code for ADI Sigma Delta devices")
Signed-off-by: David Lechner <dlechner@baylibre.com>
---
drivers/iio/adc/ad_sigma_delta.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/iio/adc/ad_sigma_delta.c b/drivers/iio/adc/ad_sigma_delta.c
index 4c5f8d29a559fea7226b84141bcb148fb801f62c..1a2ee7c7f65afc60677af9f3138e59f6476f74c7 100644
--- a/drivers/iio/adc/ad_sigma_delta.c
+++ b/drivers/iio/adc/ad_sigma_delta.c
@@ -520,7 +520,7 @@ static int ad_sd_buffer_postenable(struct iio_dev *indio_dev)
return ret;
}
-static int ad_sd_buffer_postdisable(struct iio_dev *indio_dev)
+static int ad_sd_buffer_predisable(struct iio_dev *indio_dev)
{
struct ad_sigma_delta *sigma_delta = iio_device_get_drvdata(indio_dev);
@@ -644,7 +644,7 @@ static bool ad_sd_validate_scan_mask(struct iio_dev *indio_dev, const unsigned l
static const struct iio_buffer_setup_ops ad_sd_buffer_setup_ops = {
.postenable = &ad_sd_buffer_postenable,
- .postdisable = &ad_sd_buffer_postdisable,
+ .predisable = &ad_sd_buffer_predisable,
.validate_scan_mask = &ad_sd_validate_scan_mask,
};
---
base-commit: 6742eff60460e77158d4f1b233f17e0345c9e66a
change-id: 20250703-iio-adc-ad_sigma_delta-buffer-predisable-d10fc1914092
Best regards,
--
David Lechner <dlechner@baylibre.com>
On Thu, 2025-07-03 at 16:07 -0500, David Lechner wrote: > Change the buffer disable callback from postdisable to predisable. > This balances the existing posteanble callback. Using postdisable > with posteanble can be problematic, for example, if update_scan_mode > fails, it would call postdisable without ever having called posteanble, > so the drivers using this would be in an unexpected state when > postdisable was called. > > Fixes: af3008485ea0 ("iio:adc: Add common code for ADI Sigma Delta devices") > Signed-off-by: David Lechner <dlechner@baylibre.com> > --- Reviewed-by: Nuno Sá <nuno.sa@analog.com> > drivers/iio/adc/ad_sigma_delta.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/iio/adc/ad_sigma_delta.c > b/drivers/iio/adc/ad_sigma_delta.c > index > 4c5f8d29a559fea7226b84141bcb148fb801f62c..1a2ee7c7f65afc60677af9f3138e59f6476f > 74c7 100644 > --- a/drivers/iio/adc/ad_sigma_delta.c > +++ b/drivers/iio/adc/ad_sigma_delta.c > @@ -520,7 +520,7 @@ static int ad_sd_buffer_postenable(struct iio_dev > *indio_dev) > return ret; > } > > -static int ad_sd_buffer_postdisable(struct iio_dev *indio_dev) > +static int ad_sd_buffer_predisable(struct iio_dev *indio_dev) > { > struct ad_sigma_delta *sigma_delta = > iio_device_get_drvdata(indio_dev); > > @@ -644,7 +644,7 @@ static bool ad_sd_validate_scan_mask(struct iio_dev > *indio_dev, const unsigned l > > static const struct iio_buffer_setup_ops ad_sd_buffer_setup_ops = { > .postenable = &ad_sd_buffer_postenable, > - .postdisable = &ad_sd_buffer_postdisable, > + .predisable = &ad_sd_buffer_predisable, > .validate_scan_mask = &ad_sd_validate_scan_mask, > }; > > > --- > base-commit: 6742eff60460e77158d4f1b233f17e0345c9e66a > change-id: 20250703-iio-adc-ad_sigma_delta-buffer-predisable-d10fc1914092 > > Best regards,
On Fri, 04 Jul 2025 13:43:59 +0100 Nuno Sá <noname.nuno@gmail.com> wrote: > On Thu, 2025-07-03 at 16:07 -0500, David Lechner wrote: > > Change the buffer disable callback from postdisable to predisable. > > This balances the existing posteanble callback. Using postdisable > > with posteanble can be problematic, for example, if update_scan_mode > > fails, it would call postdisable without ever having called posteanble, > > so the drivers using this would be in an unexpected state when > > postdisable was called. > > > > Fixes: af3008485ea0 ("iio:adc: Add common code for ADI Sigma Delta devices") > > Signed-off-by: David Lechner <dlechner@baylibre.com> > > --- > > Reviewed-by: Nuno Sá <nuno.sa@analog.com> Applied to the fixes-togreg branch of iio.git and marked for stable. > > > drivers/iio/adc/ad_sigma_delta.c | 4 ++-- > > 1 file changed, 2 insertions(+), 2 deletions(-) > > > > diff --git a/drivers/iio/adc/ad_sigma_delta.c > > b/drivers/iio/adc/ad_sigma_delta.c > > index > > 4c5f8d29a559fea7226b84141bcb148fb801f62c..1a2ee7c7f65afc60677af9f3138e59f6476f > > 74c7 100644 > > --- a/drivers/iio/adc/ad_sigma_delta.c > > +++ b/drivers/iio/adc/ad_sigma_delta.c > > @@ -520,7 +520,7 @@ static int ad_sd_buffer_postenable(struct iio_dev > > *indio_dev) > > return ret; > > } > > > > -static int ad_sd_buffer_postdisable(struct iio_dev *indio_dev) > > +static int ad_sd_buffer_predisable(struct iio_dev *indio_dev) > > { > > struct ad_sigma_delta *sigma_delta = > > iio_device_get_drvdata(indio_dev); > > > > @@ -644,7 +644,7 @@ static bool ad_sd_validate_scan_mask(struct iio_dev > > *indio_dev, const unsigned l > > > > static const struct iio_buffer_setup_ops ad_sd_buffer_setup_ops = { > > .postenable = &ad_sd_buffer_postenable, > > - .postdisable = &ad_sd_buffer_postdisable, > > + .predisable = &ad_sd_buffer_predisable, > > .validate_scan_mask = &ad_sd_validate_scan_mask, > > }; > > > > > > --- > > base-commit: 6742eff60460e77158d4f1b233f17e0345c9e66a > > change-id: 20250703-iio-adc-ad_sigma_delta-buffer-predisable-d10fc1914092 > > > > Best regards,
© 2016 - 2025 Red Hat, Inc.