From 09961c635a3cc8d703099115a07219fa1cc604c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Benjamin=20Cab=C3=A9?= Date: Sat, 14 Jun 2025 20:46:58 +0200 Subject: [PATCH] drivers: gnss: u-blox_m8: fix mutex leak MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Properly release script.lock in case of error. Signed-off-by: Benjamin Cabé --- drivers/gnss/gnss_u_blox_m8.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/drivers/gnss/gnss_u_blox_m8.c b/drivers/gnss/gnss_u_blox_m8.c index b85394d5b75..428a9bec3e1 100644 --- a/drivers/gnss/gnss_u_blox_m8.c +++ b/drivers/gnss/gnss_u_blox_m8.c @@ -126,14 +126,15 @@ static int ubx_m8_msg_get(const struct device *dev, const struct ubx_frame *req, err = modem_ubx_run_script(&data->ubx.inst, &data->script.inst); if (err != 0 || (data->script.inst.response.buf_len < UBX_FRAME_SZ(min_rsp_size))) { - return -EIO; + err = -EIO; + goto unlock_return; } memcpy(rsp, rsp_frame->payload_and_checksum, min_rsp_size); +unlock_return: (void)k_mutex_unlock(&data->script.lock); - - return 0; + return err; } static int ubx_m8_msg_send(const struct device *dev, const struct ubx_frame *req,