iio: accel: mma9553: check for error in reading initial activity and stepcnt
authorIrina Tirdea <irina.tirdea@intel.com>
Mon, 13 Apr 2015 15:40:54 +0000 (18:40 +0300)
committerJonathan Cameron <jic23@kernel.org>
Sun, 26 Apr 2015 18:46:39 +0000 (19:46 +0100)
When configuring gpio, we need to read initial values for activity and
step count. This function may fail due to i2c read errors.

Check the error code returned by mma9553_read_activity_stepcnt
and return the appropriate error in gpio config function.

Signed-off-by: Irina Tirdea <irina.tirdea@intel.com>
Reported-by: Hartmut Knaack <knaack.h@gmx.de>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
drivers/iio/accel/mma9553.c

index 2df1af7d43fc6df34b87f80373e413152e33a739..04a4bb99b269e6e56a14ff00d7c0b1b0a35f890b 100644 (file)
@@ -365,9 +365,12 @@ static int mma9553_conf_gpio(struct mma9553_data *data)
                return 0;
 
        /* Save initial values for activity and stepcnt */
-       if (activity_enabled || ev_step_detect->enabled)
-               mma9553_read_activity_stepcnt(data, &data->activity,
-                                             &data->stepcnt);
+       if (activity_enabled || ev_step_detect->enabled) {
+               ret = mma9553_read_activity_stepcnt(data, &data->activity,
+                                                   &data->stepcnt);
+               if (ret < 0)
+                       return ret;
+       }
 
        ret = mma9551_gpio_config(data->client,
                                  MMA9553_DEFAULT_GPIO_PIN,