From 2a5c9cf0f25e070da5383f1c222052e2e198d236 Mon Sep 17 00:00:00 2001 From: Marcel Holtmann Date: Wed, 31 Oct 2018 21:03:49 +0100 Subject: [PATCH] mbimmodem: Convert back to using __builtin_bswap16 with proper indexing --- drivers/mbimmodem/mbim-message.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/mbimmodem/mbim-message.c b/drivers/mbimmodem/mbim-message.c index c725e492..7899bc65 100644 --- a/drivers/mbimmodem/mbim-message.c +++ b/drivers/mbimmodem/mbim-message.c @@ -196,8 +196,10 @@ static bool _iter_copy_string(struct mbim_message_iter *iter, /* Strings are in UTF16-LE, so convert to UTF16-CPU first if needed */ if (L_CPU_TO_LE16(0x8000) != 0x8000) { - for (i = 0; i < len; i+= 2) - l_put_u16(l_get_le16(buf + i), buf + i); + uint16_t *le = (uint16_t *) buf; + + for (i = 0; i < len / 2; i++) + le[i] = __builtin_bswap16(le[i]); } *out = l_utf8_from_utf16(buf, len);