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 09FC123BF9B; Mon, 23 Mar 2026 15:05:09 +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=1774278310; cv=none; b=H5xh2rFgztyAiUIV/+K+fUqSDfwWiOteheAobmuqdb4iDDmXvKnXus990WGUaNVgi5JZ8ZqJHtzjBKjzryDNBhMuIsSe+VhM+TymjOexhGB2JtoTAGAgmMO+P8hc+eTXYcTRItJffv+ofNUzhV2QeH6ry6OVaNSss5xVVabvxsc= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774278310; c=relaxed/simple; bh=u639mweWIIKu6Jmelf0RrpsdWaGXoYuXGRdvJk5vOFE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=XBnaNChKPvAJWc5zcD5W39NyY4w0bgLNPAYFMs8F++/ViYjdvCTHhi8t+VhgYhW8BZ2GZbDhPzGkveJW6fGBjJZ1o5crttawZUlUJ7XFFzTzewPZZ2pd7EOh3+Ep7rYF0glGbU8i7RkWNpFtBjx2z0HCnaPyGNio77DgJsaT1S4= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linuxfoundation.org header.i=@linuxfoundation.org header.b=fmAl2aEt; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linuxfoundation.org header.i=@linuxfoundation.org header.b="fmAl2aEt" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 509ECC4CEF7; Mon, 23 Mar 2026 15:05:09 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1774278309; bh=u639mweWIIKu6Jmelf0RrpsdWaGXoYuXGRdvJk5vOFE=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=fmAl2aEtfAtvv6DiKrC6qCa3JUTZpR1IMDMqqxvS01RAJo/3sCIrUiZxZtIOjDfBW 9fMgYetRuz1bHmNA+t3+B4XjCVgQb2dztRyu6PRg/U5KnTr23T7fR8c8vrHm2FL0zP spxirtaGVKJ/vv+gR3ckFRDlwsrdOIe2XUR4GRWY= From: Greg Kroah-Hartman To: stable@vger.kernel.org Cc: Greg Kroah-Hartman , patches@lists.linux.dev, Oleksij Rempel , Jakub Kicinski Subject: [PATCH 6.6 266/567] net: usb: lan78xx: skip LTM configuration for LAN7850 Date: Mon, 23 Mar 2026 14:43:06 +0100 Message-ID: <20260323134540.410551072@linuxfoundation.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260323134533.749096647@linuxfoundation.org> References: <20260323134533.749096647@linuxfoundation.org> User-Agent: quilt/0.69 X-stable: review X-Patchwork-Hint: ignore Precedence: bulk X-Mailing-List: stable@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit 6.6-stable review patch. If anyone has any objections, please let me know. ------------------ From: Oleksij Rempel commit d9cc0e440f0664f6f3e2c26e39ab9dd5f3badba7 upstream. Do not configure Latency Tolerance Messaging (LTM) on USB 2.0 hardware. The LAN7850 is a High-Speed (USB 2.0) only device and does not support SuperSpeed features like LTM. Currently, the driver unconditionally attempts to configure LTM registers during initialization. On the LAN7850, these registers do not exist, resulting in writes to invalid or undocumented memory space. This issue was identified during a port to the regmap API with strict register validation enabled. While no functional issues or crashes have been observed from these invalid writes, bypassing LTM initialization on the LAN7850 ensures the driver strictly adheres to the hardware's valid register map. Fixes: 55d7de9de6c3 ("Microchip's LAN7800 family USB 2/3 to 10/100/1000 Ethernet device driver") Cc: stable@vger.kernel.org Signed-off-by: Oleksij Rempel Link: https://patch.msgid.link/20260305143429.530909-4-o.rempel@pengutronix.de Signed-off-by: Jakub Kicinski Signed-off-by: Greg Kroah-Hartman --- drivers/net/usb/lan78xx.c | 4 ++++ 1 file changed, 4 insertions(+) --- a/drivers/net/usb/lan78xx.c +++ b/drivers/net/usb/lan78xx.c @@ -2672,6 +2672,10 @@ static void lan78xx_init_ltm(struct lan7 u32 buf; u32 regs[6] = { 0 }; + /* LAN7850 is USB 2.0 and does not support LTM */ + if (dev->chipid == ID_REV_CHIP_ID_7850_) + return; + ret = lan78xx_read_reg(dev, USB_CFG1, &buf); if (buf & USB_CFG1_LTM_ENABLE_) { u8 temp[2];