From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 97E23311592 for ; Wed, 13 May 2026 14:09:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778681356; cv=none; b=TT1pdquRNi4yWKC2ipZ1kcD9uAV7HIHBbkoHG6OnYxoVX+PEHRlKXlloYdnkFxGcwKjRjc4y4N5/hA6YdTxIc8BS0FIu8OZJg7YDKuiM5tTP8kBlWJuwWOlZaQDzsJts/xlLqkwiG1TZgXVo1wBmP8naHG71f8k1rUlDces8eSo= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778681356; c=relaxed/simple; bh=VnXjZ6AJVxVYzsJ68WzbQlHx/iUQzt7aJedAHNU8Nm0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Zsg4Z7fqftVBd5OfkTis8Ztx9EbCnevYg4IktW9E08WXettdfAemA7wqMR5URvKw1X+A/KSisg7Rx2WOEOdtNU/TdtYETHgKbm9kur3h3bhJRoZ1DdEVd3kWayzCceZ8fm7OmFqJLPKoNXuN+Ca0jFhC4+7yCU/EdGR4WDkm180= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=ur0FZEoX; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="ur0FZEoX" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5FE54C19425; Wed, 13 May 2026 14:09:15 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1778681356; bh=VnXjZ6AJVxVYzsJ68WzbQlHx/iUQzt7aJedAHNU8Nm0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ur0FZEoXRCEe1/ZprjmAT5yYeyxSNPsCbbXd5M2wl2mMNi9Ix3obJzw+miu+d01Zx fOg7gRLX4tGADTNO4svQDUhDShT9T4xBZ1gp4imnarmPyPzCLk23N4bxMxzxVUseCn 2ejabuh5Fv5vDxoLq2wIKX47g5xCG1Bb8KNiJzVQm/zd7yZBBDP8RftVzzokEZxaaO r5DzyOKcw27ZMhm8F/Jpib4zYG/Puh/H5fVFkOrVnUW5OxWyBdx+wE4Iufi790LdiO 6b0AxXuznYM2mH+p0slMXC627zkv4DNpagS+cUdb7/YgTMaMiYOkSdr7UoRaZpyMR+ MHw5BEh7NDxRg== From: Sasha Levin To: stable@vger.kernel.org Cc: Selvarasu Ganesan , stable , Pritam Manohar Sutar , Thinh Nguyen , Greg Kroah-Hartman , Sasha Levin Subject: [PATCH 5.10.y] usb: dwc3: Move GUID programming after PHY initialization Date: Wed, 13 May 2026 10:09:13 -0400 Message-ID: <20260513140913.3746791-1-sashal@kernel.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <2026051247-tyke-varmint-56e0@gregkh> References: <2026051247-tyke-varmint-56e0@gregkh> Precedence: bulk X-Mailing-List: stable@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit From: Selvarasu Ganesan [ Upstream commit aad35f9c926ec220b0742af1ada45666ae667956 ] The Linux Version Code is currently written to the GUID register before PHY initialization. Certain PHY implementations (such as Synopsys eUSB PHY performing link_sw_reset) clear the GUID register to its default value during initialization, causing the kernel version information to be lost. Move the GUID register programming to occur after PHY initialization completes to ensure the Linux version information persists. Fixes: fa0ea13e9f1c ("usb: dwc3: core: write LINUX_VERSION_CODE to our GUID register") Cc: stable Reported-by: Pritam Manohar Sutar Signed-off-by: Selvarasu Ganesan Acked-by: Thinh Nguyen Link: https://patch.msgid.link/20260417063314.2359-1-selvarasu.g@samsung.com Signed-off-by: Greg Kroah-Hartman [ adapted dwc3_writel(dwc, ...) to dwc3_writel(dwc->regs, ...) ] Signed-off-by: Sasha Levin --- drivers/usb/dwc3/core.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c index 77be06b680914..a115fd874cee6 100644 --- a/drivers/usb/dwc3/core.c +++ b/drivers/usb/dwc3/core.c @@ -978,12 +978,6 @@ static int dwc3_core_init(struct dwc3 *dwc) hw_mode = DWC3_GHWPARAMS0_MODE(dwc->hwparams.hwparams0); - /* - * Write Linux Version Code to our GUID register so it's easy to figure - * out which kernel version a bug was found. - */ - dwc3_writel(dwc->regs, DWC3_GUID, LINUX_VERSION_CODE); - ret = dwc3_phy_setup(dwc); if (ret) goto err0; @@ -1023,6 +1017,12 @@ static int dwc3_core_init(struct dwc3 *dwc) if (ret) goto err1; + /* + * Write Linux Version Code to our GUID register so it's easy to figure + * out which kernel version a bug was found. + */ + dwc3_writel(dwc->regs, DWC3_GUID, LINUX_VERSION_CODE); + dwc3_core_setup_global_control(dwc); dwc3_core_num_eps(dwc); -- 2.53.0