summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/input/misc/mpu/inv_gyro.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/drivers/input/misc/mpu/inv_gyro.c b/drivers/input/misc/mpu/inv_gyro.c
index c05a495220c8..d7cd0ea87ca4 100644
--- a/drivers/input/misc/mpu/inv_gyro.c
+++ b/drivers/input/misc/mpu/inv_gyro.c
@@ -228,10 +228,18 @@ static int set_power_itg(struct inv_gyro_state_s *st, unsigned char power_on)
*/
int inv_set_power_state(struct inv_gyro_state_s *st, unsigned char power_on)
{
+ int ret;
+ if (!power_on)
+ disable_irq(st->trigger.irq);
+
if (INV_MPU3050 == st->chip_type)
- return set_power_mpu3050(st, power_on);
+ ret = set_power_mpu3050(st, power_on);
else
- return set_power_itg(st, power_on);
+ ret = set_power_itg(st, power_on);
+
+ if (power_on)
+ enable_irq(st->trigger.irq);
+ return ret;
}
/**