]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
net: wwan: iosm: Properly check for valid exec stage in ipc_mmio_init()
authorMaciej S. Szmigiero <mail@maciej.szmigiero.name>
Sun, 29 Dec 2024 16:46:58 +0000 (17:46 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 9 Jan 2025 12:28:47 +0000 (13:28 +0100)
commit0caa776f28295bd27b6801e5a52457b42626dd35
tree876818f0b24efd6768cb16c05b20f41ac35492e7
parent579cfa595af1e00ccc9c3a849a4add6bba8b4bad
net: wwan: iosm: Properly check for valid exec stage in ipc_mmio_init()

[ Upstream commit a7af435df0e04cfb4a4004136d597c42639a2ae7 ]

ipc_mmio_init() used the post-decrement operator in its loop continuing
condition of "retries" counter being "> 0", which meant that when this
condition caused loop exit "retries" counter reached -1.

But the later valid exec stage failure check only tests for "retries"
counter being exactly zero, so it didn't trigger in this case (but
would wrongly trigger if the code reaches a valid exec stage in the
very last loop iteration).

Fix this by using the pre-decrement operator instead, so the loop counter
is exactly zero on valid exec stage failure.

Fixes: dc0514f5d828 ("net: iosm: mmio scratchpad")
Signed-off-by: Maciej S. Szmigiero <mail@maciej.szmigiero.name>
Link: https://patch.msgid.link/8b19125a825f9dcdd81c667c1e5c48ba28d505a6.1735490770.git.mail@maciej.szmigiero.name
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/wwan/iosm/iosm_ipc_mmio.c