[PATCH v8 11/12] iio: ssp_sensors: return errors directly from ssp_irq_msg()
From: Sanjay Chitroda
Date: Fri May 15 2026 - 14:13:19 EST
From: Sanjay Chitroda <sanjayembeddedse@xxxxxxxxx>
In the switch legs previously used break statements and relied on the
common return path at the end of the function.
Return directly on failure instead, allowing errors to be propagated
immediately. The final return value now clearly indicates success.
Signed-off-by: Sanjay Chitroda <sanjayembeddedse@xxxxxxxxx>
---
drivers/iio/common/ssp_sensors/ssp_spi.c | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/drivers/iio/common/ssp_sensors/ssp_spi.c b/drivers/iio/common/ssp_sensors/ssp_spi.c
index 29bc3d48c42f..172b4bbd298c 100644
--- a/drivers/iio/common/ssp_sensors/ssp_spi.c
+++ b/drivers/iio/common/ssp_sensors/ssp_spi.c
@@ -386,7 +386,7 @@ int ssp_irq_msg(struct ssp_data *data)
if (iter->options == msg_options) {
list_del(&iter->list);
msg = iter;
- break;
+ return ret;
}
}
@@ -410,7 +410,7 @@ int ssp_irq_msg(struct ssp_data *data)
dev_err(SSP_DEV, "No match error %x\n",
msg_options);
- break;
+ return ret;
}
if (msg_type == SSP_AP2HUB_READ)
@@ -428,14 +428,14 @@ int ssp_irq_msg(struct ssp_data *data)
msg->length = 1;
list_add_tail(&msg->list, &data->pending_list);
- break;
+ return ret;
}
}
if (msg->done)
if (!completion_done(msg->done))
complete(msg->done);
- break;
+ return ret;
}
case SSP_HUB2AP_WRITE:
buffer = kzalloc(length, GFP_KERNEL | GFP_DMA);
@@ -446,20 +446,20 @@ int ssp_irq_msg(struct ssp_data *data)
if (ret < 0) {
dev_err(SSP_DEV, "spi read fail\n");
kfree(buffer);
- break;
+ return ret;
}
ret = ssp_parse_dataframe(data, buffer, length);
kfree(buffer);
- break;
+ return ret;
default:
dev_err(SSP_DEV, "unknown msg type\n");
return -EPROTO;
}
- return ret;
+ return 0;
}
void ssp_clean_pending_list(struct ssp_data *data)
--
2.34.1