| From 4012fe378c3608d30e1a07aa216c63a113c57900 Mon Sep 17 00:00:00 2001 |
| From: Nathan Chancellor <natechancellor@gmail.com> |
| Date: Thu, 7 Mar 2019 14:45:46 -0700 |
| Subject: iio: common: ssp_sensors: Initialize calculated_time in |
| ssp_common_process_data |
| |
| [ Upstream commit 6f9ca1d3eb74b81f811a87002de2d51640d135b1 ] |
| |
| When building with -Wsometimes-uninitialized, Clang warns: |
| |
| drivers/iio/common/ssp_sensors/ssp_iio.c:95:6: warning: variable |
| 'calculated_time' is used uninitialized whenever 'if' condition is false |
| [-Wsometimes-uninitialized] |
| |
| While it isn't wrong, this will never be a problem because |
| iio_push_to_buffers_with_timestamp only uses calculated_time |
| on the same condition that it is assigned (when scan_timestamp |
| is not zero). While iio_push_to_buffers_with_timestamp is marked |
| as inline, Clang does inlining in the optimization stage, which |
| happens after the semantic analysis phase (plus inline is merely |
| a hint to the compiler). |
| |
| Fix this by just zero initializing calculated_time. |
| |
| Link: https://github.com/ClangBuiltLinux/linux/issues/394 |
| Signed-off-by: Nathan Chancellor <natechancellor@gmail.com> |
| Reviewed-by: Nick Desaulniers <ndesaulniers@google.com> |
| Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/iio/common/ssp_sensors/ssp_iio.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| diff --git a/drivers/iio/common/ssp_sensors/ssp_iio.c b/drivers/iio/common/ssp_sensors/ssp_iio.c |
| index 645f2e3975db4..e38f704d88b7e 100644 |
| --- a/drivers/iio/common/ssp_sensors/ssp_iio.c |
| +++ b/drivers/iio/common/ssp_sensors/ssp_iio.c |
| @@ -81,7 +81,7 @@ int ssp_common_process_data(struct iio_dev *indio_dev, void *buf, |
| unsigned int len, int64_t timestamp) |
| { |
| __le32 time; |
| - int64_t calculated_time; |
| + int64_t calculated_time = 0; |
| struct ssp_sensor_data *spd = iio_priv(indio_dev); |
| |
| if (indio_dev->scan_bytes == 0) |
| -- |
| 2.20.1 |
| |