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 */