[PATCH] tools: usb: ffs-test: return the number of bytes written in pipe mode

From: Sasha Levin

Date: Sun Oct 11 2026 - 18:36:45 EST


empty_out_buf() returns len, which the PAT_PIPE case never sets:

ffs-test.c:551:7: warning: variable 'len' is used uninitialized whenever switch case is taken [-Wsometimes-uninitialized]

Nothing sets pattern to PAT_PIPE, so the case is never reached and only
the warning is visible. Return nbytes once the buffer has been written
and flushed, and -1 if either fails.

Fixes: 93f2aa4ddd25c ("USB: ffs-test: FunctionFS testing program")
Assisted-by: LLM
Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>
---
tools/usb/ffs-test.c | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/tools/usb/ffs-test.c b/tools/usb/ffs-test.c
index f08060459b3f1..283db8979d67a 100644
--- a/tools/usb/ffs-test.c
+++ b/tools/usb/ffs-test.c
@@ -528,7 +528,6 @@ empty_out_buf(struct thread *ignore, const void *buf, size_t nbytes)
{
const __u8 *p;
__u8 expected;
- ssize_t ret;
size_t len;

(void)ignore;
@@ -550,9 +549,9 @@ empty_out_buf(struct thread *ignore, const void *buf, size_t nbytes)
break;

case PAT_PIPE:
- ret = fwrite(buf, nbytes, 1, stdout);
- if (ret > 0)
- fflush(stdout);
+ if (fwrite(buf, nbytes, 1, stdout) != 1 || fflush(stdout))
+ return -1;
+ len = nbytes;
break;

invalid:
--
2.53.0