Browse Source

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>
pull/90663/merge
Armando Visconti 5 days ago committed by Daniel DeGrasse
parent
commit
1d8bd6bd53
  1. 8
      drivers/sensor/st/lis2dux12/lis2dux12_api.c
  2. 8
      drivers/sensor/st/lis2dux12/lis2duxs12_api.c

8
drivers/sensor/st/lis2dux12/lis2dux12_api.c

@ -151,7 +151,7 @@ static void st_lis2dux12_stream_config_fifo(const struct device *dev, @@ -151,7 +151,7 @@ static void st_lis2dux12_stream_config_fifo(const struct device *dev,
const struct lis2dux12_config *config = dev->config;
stmdev_ctx_t *ctx = (stmdev_ctx_t *)&config->ctx;
lis2dux12_pin_int_route_t pin_int = { 0 };
lis2dux12_fifo_mode_t fifo_mode;
lis2dux12_fifo_mode_t fifo_mode = { 0 };
/* disable FIFO as first thing */
fifo_mode.store = LIS2DUX12_FIFO_1X;
@ -168,6 +168,12 @@ static void st_lis2dux12_stream_config_fifo(const struct device *dev, @@ -168,6 +168,12 @@ static void st_lis2dux12_stream_config_fifo(const struct device *dev,
pin_int.fifo_th = (trig_cfg.int_fifo_th) ? PROPERTY_ENABLE : PROPERTY_DISABLE;
pin_int.fifo_full = (trig_cfg.int_fifo_full) ? PROPERTY_ENABLE : PROPERTY_DISABLE;
if (pin_int.fifo_th) {
fifo_mode.fifo_event = LIS2DUX12_FIFO_EV_WTM;
} else if (pin_int.fifo_full) {
fifo_mode.fifo_event = LIS2DUX12_FIFO_EV_FULL;
}
switch (config->fifo_mode_sel) {
case 0:
fifo_mode.store = LIS2DUX12_FIFO_1X;

8
drivers/sensor/st/lis2dux12/lis2duxs12_api.c

@ -151,7 +151,7 @@ static void st_lis2duxs12_stream_config_fifo(const struct device *dev, @@ -151,7 +151,7 @@ static void st_lis2duxs12_stream_config_fifo(const struct device *dev,
const struct lis2dux12_config *config = dev->config;
stmdev_ctx_t *ctx = (stmdev_ctx_t *)&config->ctx;
lis2duxs12_pin_int_route_t pin_int = { 0 };
lis2duxs12_fifo_mode_t fifo_mode;
lis2duxs12_fifo_mode_t fifo_mode = { 0 };
/* disable FIFO as first thing */
fifo_mode.store = LIS2DUXS12_FIFO_1X;
@ -168,6 +168,12 @@ static void st_lis2duxs12_stream_config_fifo(const struct device *dev, @@ -168,6 +168,12 @@ static void st_lis2duxs12_stream_config_fifo(const struct device *dev,
pin_int.fifo_th = (trig_cfg.int_fifo_th) ? PROPERTY_ENABLE : PROPERTY_DISABLE;
pin_int.fifo_full = (trig_cfg.int_fifo_full) ? PROPERTY_ENABLE : PROPERTY_DISABLE;
if (pin_int.fifo_th) {
fifo_mode.fifo_event = LIS2DUXS12_FIFO_EV_WTM;
} else if (pin_int.fifo_full) {
fifo_mode.fifo_event = LIS2DUXS12_FIFO_EV_FULL;
}
switch (config->fifo_mode_sel) {
case 0:
fifo_mode.store = LIS2DUXS12_FIFO_1X;

Loading…
Cancel
Save