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 B247923E342; Mon, 13 Apr 2026 16:46:34 +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=1776098794; cv=none; b=Cx4Nwh/OFRQIFilpoJfwptaKINSaLQQNq5T63oih7m+qSwRcRLsRbw1uk7Eh4Uk4DhsIkFLgnorX2o/CF27UUSfZ3+w6IglEik8IH7kiGefl13VO1EuSt0I08xcvUibxwHTxXbYvnnZBSDzPrwE6bFBAymIkud5gunWq+FCYU4M= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776098794; c=relaxed/simple; bh=JOAPHUmvGGj+awlfBJtGXFGaeAUSou3x+kDHuYYWXKQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=u0iq+TNpkjxShNWiYch2TsMho7NOnd9MwKA/ZG/9pMhc1NPFwFzH7wE1TuaPnffDCr7lu9yupYh2wyuNeBp76kNSvVeLw1ihPw4teVsMktnHFPPuzrYOawg1ROgpBkss95Y9tuSCoxasweswqRQ71qJX08p25a8fxDRwzoti2o0= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linuxfoundation.org header.i=@linuxfoundation.org header.b=YAc6F7/7; 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="YAc6F7/7" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 4BD16C2BCAF; Mon, 13 Apr 2026 16:46:34 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1776098794; bh=JOAPHUmvGGj+awlfBJtGXFGaeAUSou3x+kDHuYYWXKQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=YAc6F7/7Kz9CtourCEHk+UDxtnEviatQOEpqAwXO5GUOHGRfTMjkqB5WTm/6CrylU DymkaJ9En6tn8me0nmcPFdAXbS8psBUWObT8dMyiuNZq/uWQWBoM1oZxuCi/Txjg20 PRtWGtEKtCq5aYHHd/rhhER/cyEIr5VQXtQh7OHY= From: Greg Kroah-Hartman To: stable@vger.kernel.org Cc: Greg Kroah-Hartman , patches@lists.linux.dev, Oleksij Rempel , Jakub Kicinski Subject: [PATCH 5.10 091/491] net: usb: lan78xx: skip LTM configuration for LAN7850 Date: Mon, 13 Apr 2026 17:55:36 +0200 Message-ID: <20260413155822.453438615@linuxfoundation.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260413155819.042779211@linuxfoundation.org> References: <20260413155819.042779211@linuxfoundation.org> User-Agent: quilt/0.69 X-stable: review X-Patchwork-Hint: ignore Precedence: bulk X-Mailing-List: patches@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit 5.10-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 @@ -2463,6 +2463,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];