summaryrefslogtreecommitdiff
path: root/components
diff options
context:
space:
mode:
authorFanming <[email protected]>2019-12-17 17:53:16 +0800
committerFanming <[email protected]>2019-12-17 17:53:16 +0800
commitf3ee2dd186582715fb0d9bfca5edf8594f9a0d79 (patch)
treec490e937d1ee875572d0e3e5657a3548843272e3 /components
parent75a3f3dd3a930eab1dc58fa0258a9d1605a0ac11 (diff)
[drivers/sensor]disable irq only when the sensor and module sensors are all cloesed.
Diffstat (limited to 'components')
-rw-r--r--components/drivers/sensors/sensor.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/components/drivers/sensors/sensor.c b/components/drivers/sensors/sensor.c
index 91b256bd66..0539ffd90d 100644
--- a/components/drivers/sensors/sensor.c
+++ b/components/drivers/sensors/sensor.c
@@ -211,12 +211,6 @@ static rt_err_t rt_sensor_close(rt_device_t dev)
sensor->config.power = RT_SENSOR_POWER_DOWN;
}
- /* Sensor disable interrupt */
- if (sensor->config.irq_pin.pin != RT_PIN_NONE)
- {
- rt_pin_irq_enable(sensor->config.irq_pin.pin, RT_FALSE);
- }
-
if (sensor->module != RT_NULL && sensor->info.fifo_max > 0 && sensor->data_buf != RT_NULL)
{
for (i = 0; i < sensor->module->sen_num; i ++)
@@ -235,6 +229,11 @@ static rt_err_t rt_sensor_close(rt_device_t dev)
}
}
}
+ /* Sensor disable interrupt */
+ if (sensor->config.irq_pin.pin != RT_PIN_NONE)
+ {
+ rt_pin_irq_enable(sensor->config.irq_pin.pin, RT_FALSE);
+ }
__exit:
if (sensor->module)