This patch checks if an error occurred on probe and stops the
device in order to avoid wasting power.
Signed-off-by: Cristina Opriceana <cristina.opriceana@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
/* Get the device into a sane initial state */
ret = ade7754_initial_setup(indio_dev);
if (ret)
- return ret;
- return iio_device_register(indio_dev);
+ goto powerdown_on_error;
+ ret = iio_device_register(indio_dev);
+ if (ret)
+ goto powerdown_on_error;
+ return ret;
+
+powerdown_on_error:
+ ade7754_stop_device(&indio_dev->dev);
+ return ret;
}
/* fixme, confirm ordering in this function */