arch: x86: Fix convolve optimizations breaking signal
This patch fixes MS failing to even see the network, and only RACHs of 1
zeroed byte being seen in GSMTAP.
The issue seems to only appear on some specific machines; others have
been running fine for weeks without this memset being an issue.
Fixes: 7a52e42ee0676f47e801dd348b478302de5d2e50
Change-Id: I98ad885a5d71e7775973a4d881c0f1cd665ea711
diff --git a/Transceiver52M/arch/x86/convolve.c b/Transceiver52M/arch/x86/convolve.c
index 81ea782..be62721 100644
--- a/Transceiver52M/arch/x86/convolve.c
+++ b/Transceiver52M/arch/x86/convolve.c
@@ -102,9 +102,9 @@
#ifndef __OPTIMIZE__
if (bounds_check(x_len, h_len, y_len, start, len) < 0)
return -1;
-
- memset(y, 0, len * 2 * sizeof(float));
#endif
+ memset(y, 0, len * 2 * sizeof(float));
+
switch (h_len) {
case 4:
c.conv_real4(x, x_len, h, h_len, y, y_len, start, len);
@@ -142,9 +142,9 @@
#ifndef __OPTIMIZE__
if (bounds_check(x_len, h_len, y_len, start, len) < 0)
return -1;
-
- memset(y, 0, len * 2 * sizeof(float));
#endif
+ memset(y, 0, len * 2 * sizeof(float));
+
if (!(h_len % 8))
c.conv_cmplx_8n(x, x_len, h, h_len, y, y_len, start, len);
else if (!(h_len % 4))