Skip to content

Commit 1d8bd6b

Browse files
aviscontidanieldegrasse
authored andcommitted
drivers/sensor: lis2dux12: fix uninitialized variable fifo_mode
Set fifo_mode structure to zero and initialize it properly according to what interrupt event the user has selected. Fixes: CID 529871 Fixes: CID 529865 Signed-off-by: Armando Visconti <armando.visconti@st.com>
1 parent 5792a42 commit 1d8bd6b

File tree

2 files changed

+14
-2
lines changed

2 files changed

+14
-2
lines changed

drivers/sensor/st/lis2dux12/lis2dux12_api.c

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@ static void st_lis2dux12_stream_config_fifo(const struct device *dev,
151151
const struct lis2dux12_config *config = dev->config;
152152
stmdev_ctx_t *ctx = (stmdev_ctx_t *)&config->ctx;
153153
lis2dux12_pin_int_route_t pin_int = { 0 };
154-
lis2dux12_fifo_mode_t fifo_mode;
154+
lis2dux12_fifo_mode_t fifo_mode = { 0 };
155155

156156
/* disable FIFO as first thing */
157157
fifo_mode.store = LIS2DUX12_FIFO_1X;
@@ -168,6 +168,12 @@ static void st_lis2dux12_stream_config_fifo(const struct device *dev,
168168
pin_int.fifo_th = (trig_cfg.int_fifo_th) ? PROPERTY_ENABLE : PROPERTY_DISABLE;
169169
pin_int.fifo_full = (trig_cfg.int_fifo_full) ? PROPERTY_ENABLE : PROPERTY_DISABLE;
170170

171+
if (pin_int.fifo_th) {
172+
fifo_mode.fifo_event = LIS2DUX12_FIFO_EV_WTM;
173+
} else if (pin_int.fifo_full) {
174+
fifo_mode.fifo_event = LIS2DUX12_FIFO_EV_FULL;
175+
}
176+
171177
switch (config->fifo_mode_sel) {
172178
case 0:
173179
fifo_mode.store = LIS2DUX12_FIFO_1X;

drivers/sensor/st/lis2dux12/lis2duxs12_api.c

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@ static void st_lis2duxs12_stream_config_fifo(const struct device *dev,
151151
const struct lis2dux12_config *config = dev->config;
152152
stmdev_ctx_t *ctx = (stmdev_ctx_t *)&config->ctx;
153153
lis2duxs12_pin_int_route_t pin_int = { 0 };
154-
lis2duxs12_fifo_mode_t fifo_mode;
154+
lis2duxs12_fifo_mode_t fifo_mode = { 0 };
155155

156156
/* disable FIFO as first thing */
157157
fifo_mode.store = LIS2DUXS12_FIFO_1X;
@@ -168,6 +168,12 @@ static void st_lis2duxs12_stream_config_fifo(const struct device *dev,
168168
pin_int.fifo_th = (trig_cfg.int_fifo_th) ? PROPERTY_ENABLE : PROPERTY_DISABLE;
169169
pin_int.fifo_full = (trig_cfg.int_fifo_full) ? PROPERTY_ENABLE : PROPERTY_DISABLE;
170170

171+
if (pin_int.fifo_th) {
172+
fifo_mode.fifo_event = LIS2DUXS12_FIFO_EV_WTM;
173+
} else if (pin_int.fifo_full) {
174+
fifo_mode.fifo_event = LIS2DUXS12_FIFO_EV_FULL;
175+
}
176+
171177
switch (config->fifo_mode_sel) {
172178
case 0:
173179
fifo_mode.store = LIS2DUXS12_FIFO_1X;

0 commit comments

Comments
 (0)