Oliver Neukum c81dcd
From f28ad9069363dec7deb88032b70612755eed9ee6 Mon Sep 17 00:00:00 2001
Oliver Neukum c81dcd
From: Thinh Nguyen <Thinh.Nguyen@synopsys.com>
Oliver Neukum c81dcd
Date: Mon, 11 Apr 2022 18:33:47 -0700
Oliver Neukum c81dcd
Subject: [PATCH] usb: dwc3: core: Fix tx/rx threshold settings
Oliver Neukum c81dcd
Git-commit: f28ad9069363dec7deb88032b70612755eed9ee6
Oliver Neukum c81dcd
References: git-fixes
Oliver Neukum c81dcd
Patch-mainline: v5.18-rc5
Oliver Neukum c81dcd
Oliver Neukum c81dcd
The current driver logic checks against 0 to determine whether the
Oliver Neukum c81dcd
periodic tx/rx threshold settings are set, but we may get bogus values
Oliver Neukum c81dcd
from uninitialized variables if no device property is set. Properly
Oliver Neukum c81dcd
default these variables to 0.
Oliver Neukum c81dcd
Oliver Neukum c81dcd
Fixes: 938a5ad1d305 ("usb: dwc3: Check for ESS TX/RX threshold config")
Oliver Neukum c81dcd
Cc: <stable@vger.kernel.org>
Oliver Neukum c81dcd
Signed-off-by: Thinh Nguyen <Thinh.Nguyen@synopsys.com>
Oliver Neukum c81dcd
Link: https://lore.kernel.org/r/cccfce990b11b730b0dae42f9d217dc6fb988c90.1649727139.git.Thinh.Nguyen@synopsys.com
Oliver Neukum c81dcd
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Oliver Neukum c81dcd
Signed-off-by: Oliver Neukum <oneukum@suse.com>
Oliver Neukum c81dcd
---
Oliver Neukum c81dcd
 drivers/usb/dwc3/core.c |    8 ++++----
Oliver Neukum c81dcd
 1 file changed, 4 insertions(+), 4 deletions(-)
Oliver Neukum c81dcd
Oliver Neukum c81dcd
--- a/drivers/usb/dwc3/core.c
Oliver Neukum c81dcd
+++ b/drivers/usb/dwc3/core.c
Oliver Neukum c81dcd
@@ -1256,10 +1256,10 @@ static void dwc3_get_properties(struct d
Oliver Neukum c81dcd
 	u8			lpm_nyet_threshold;
Oliver Neukum c81dcd
 	u8			tx_de_emphasis;
Oliver Neukum c81dcd
 	u8			hird_threshold;
Oliver Neukum c81dcd
-	u8			rx_thr_num_pkt_prd;
Oliver Neukum c81dcd
-	u8			rx_max_burst_prd;
Oliver Neukum c81dcd
-	u8			tx_thr_num_pkt_prd;
Oliver Neukum c81dcd
-	u8			tx_max_burst_prd;
Oliver Neukum c81dcd
+	u8			rx_thr_num_pkt_prd = 0;
Oliver Neukum c81dcd
+	u8			rx_max_burst_prd = 0;
Oliver Neukum c81dcd
+	u8			tx_thr_num_pkt_prd = 0;
Oliver Neukum c81dcd
+	u8			tx_max_burst_prd = 0;
Oliver Neukum c81dcd
 
Oliver Neukum c81dcd
 	/* default to highest possible threshold */
Oliver Neukum c81dcd
 	lpm_nyet_threshold = 0xf;