From 2bf93d6cfe24f56baa12f75a57b71dfc33fe322a Mon Sep 17 00:00:00 2001
From: Gunjan Gupta <viraniac@gmail.com>
Date: Tue, 2 Jan 2024 13:23:23 +0000
Subject: [PATCH] wireless: uwe5622: reduce system load

Based on https://github.com/pyavitz/debian-image-builder/commit/cbed5020641ad2d2a6c2df0a2ce68586da1b1635
---
 drivers/net/wireless/uwe5622/unisocwifi/tx_msg.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/net/wireless/uwe5622/unisocwifi/tx_msg.c b/drivers/net/wireless/uwe5622/unisocwifi/tx_msg.c
index 40d51a7130d9..040193d3115d 100644
--- a/drivers/net/wireless/uwe5622/unisocwifi/tx_msg.c
+++ b/drivers/net/wireless/uwe5622/unisocwifi/tx_msg.c
@@ -317,7 +317,10 @@ void sprdwl_dequeue_data_list(struct mbuf_t *head, int num)
 /* seam for tx_thread */
 void tx_down(struct sprdwl_tx_msg *tx_msg)
 {
-	wait_for_completion(&tx_msg->tx_completed);
+	int ret;
+	do {
+		ret = wait_for_completion_interruptible(&tx_msg->tx_completed);
+	} while (ret == -ERESTARTSYS);
 }
 
 void tx_up(struct sprdwl_tx_msg *tx_msg)
-- 
2.34.1

