From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-oo2-f42.google.com (mail-oo2-f42.google.com [74.125.231.170]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 72BF23D093E for ; Sun, 27 Sep 2026 22:00:12 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.231.170 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790546418; cv=none; b=hln2a8BscLEpzrOh3AajXgUOhcXfvLrdf46Sy6PxIi6KFy1lDZKmJMlO5wqxN0Wrxs5//PSSGzLqYwiZl1xSiMGKs5xLHUfv5d9CTutPzuvCnbZvAmsuWz4iXa6k5XLlhHEKiCIvPTj6zzQIyREUnggHpnAm3RlyMHERVH3TBIM= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790546418; c=relaxed/simple; bh=gVk5Yp0fa5DC+JmIN7hJNs0tuRiH76TK6U/e7s2AWcU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=OCOOht3UoRTaQ/gg6OFjZdWLKnNLBH4dpuU8THSenoZuwxvZDs9TxibCUcH5ZH08AUO9nizw8/IaqpiRWmwNih/BBnXl3fI+JE7JTIBmETOq8XMbdn4ZjpbUAtLodTAu9Z2RlaZAq7fweigWzZTtlvEd7927ihCa7LaDwfFyuvQ= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=eNBASeX4; arc=none smtp.client-ip=74.125.231.170 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="eNBASeX4" Received: by mail-oo2-f42.google.com with SMTP id 46e09a7af769-81adacb0f81so649059a34.1 for ; Sun, 27 Sep 2026 15:00:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1790546409; x=1791151209; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=9cINQWWverkhRH4suCO77K0cLfNkdgj2lkVHlOLl+dU=; b=eNBASeX4zaB5bjKWwvhnEx2OlAPVLhGsQ5duqSjGt7PlpnlTCPenimPcA8OANXsIS6 lzW/v8qWWNbDzpZa4wTGhpTpEB3b3lRus1Y9u6pWRwnz8aOPvQ2wUtACBiMUrwr515VT 5EXM/h9Px9nxGGT88z7YDRZsGrltBhEgCkIqr+EZjDGuh+145UI0Us+hKBOU52/Qi19Y 0qXNe00frLddsu0PkzpowZH/ydcO4K5m8Pq4+FN3bNLJZZBgIY0XnHKom7ryNjrL3f3q 5nAgxSTw7kVKpLxM2puSiOXzKvHEqNeb4JG43OaS7kwQTOGNwUcATwvVKsnljrOkLXDx g+fA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1790546409; x=1791151209; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=9cINQWWverkhRH4suCO77K0cLfNkdgj2lkVHlOLl+dU=; b=hzjhU+5viDEl9ctki3KuFzCpRLPpsOazS0gPuYrsQQEq0fhFT3rUxohUCEyXN8MGFW 6MH+yafyXSOi1ZNiViurm3mX2dSG+IL4l0U24QNc9H9d41k1WGgRiB3JpBw5a/EvMsTC M40GvDyjvMw3rmXRPZZosZa3wUX/39Xw0+ZL6pbwkmqztCkxiP3WvbQ+TejrftdL9Yv/ wWfZYguvjB1vXBwTkCetMJDVertI9llZK6HHKKcPNcd+DWFINNOZmw2qxgvKvjPSoKzG 3QBH6/QoqP+tZiBTpqnm+JrDSs/e8Cw0TO1jLkLyTffr45z/lQq7V9w4JyEBQMXNBjcx 4lyQ== X-Forwarded-Encrypted: i=1; AKwUvBx91KpojtknMl8QLv9GclD/MuGLtCmp62NM5AaMBw5z8Ad9d1xhD5mFlyeU+rA9jD9ipcsDQBX80iyJE3k=@vger.kernel.org X-Gm-Message-State: AFuF++mGrVdbvaRQAi+EDqu+rxm4rOjogVFywv+5UKNtIpG/Eu6YRpHZ Z3i1qvEzYwuKLosWShdTxgp6Ewbm7hLfYODV+zBKSRcc4r4dUoJJ1W4s X-Gm-Gg: AYBFou3Lw4q6WpYJh0Fbga3UL/o89tlt1i7iCXPn3CRQRwb7R/VNkoQt1aKZI4eyVUY ZrtuQ/NvLxNp7VB/5zlecoSuGdnp6KbZI+IGkHMqfkjat16KJ9b7c2Wb9ltEfl0dIyHnzbvAn/H MBXr4VOLhFTanJP3RU+Ot7Gk2bUEGpLNwYak/GWSf9WDM0Wk839L71jjrtWfhpioK7yBWcz4pZ7 O6nNiJsiJiWOTMRAAffLFCW+DqZglzKjmWGXVJJ9qIo0ORV7pPulToEHIqciqFztB20PdlhIMxh L/H5MXchVzXuRiw7JfOFpGye9fqTQxu1BS6+wyPJCHEEr9NahjwsUGlNVJtgbRYwjmNdK045SU1 eVx7ED8628HhIJ6EcVgDA8C3m/z3wFe02qgOoviXdw9RjiE4Sojpf8i0gvhFIWggD17f7S+p5XI 8WCBr1z/K/0FVBHZZzp8ydudsh6SDKu5BoA9b2pd3L5llIiAgPIkrsCF3sgayEgC8+QbkPy5Xrw sjIFgQXk6nxj/IaCycPv+nGxbym30r9rS92LhfzFJHZwZ9cw32FPhpEp63DBt2ehfWvMg8f2+D+ 2yb0HG6Rg3Ubv4qVHaf9JJG43InCTkpJ0zQKi2TMkp525fgfzWTyX0c+PIeWfgrbNc0g0H2iK/q cbB3YzDe+r3mkiWZMQZij X-Received: by 2002:a05:6830:6d11:b0:81c:a8c5:6380 with SMTP id 46e09a7af769-81ca8c566f2mr813463a34.5.1790546408844; Sun, 27 Sep 2026 15:00:08 -0700 (PDT) Received: from [127.0.1.1] (174-29-1-49.hlrn.qwest.net. [174.29.1.49]) by smtp.gmail.com with ESMTPSA id 46e09a7af769-81b3de6f7e1sm4874147a34.22.2026.09.27.15.00.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 27 Sep 2026 15:00:08 -0700 (PDT) From: James Hilliard Date: Sun, 27 Sep 2026 15:59:44 -0600 Subject: [PATCH net-next v5 09/19] net: stmmac: leave the datapath running for normal-size MTU changes Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <20260927-submit-stmmac-reset-fixes-v1-v5-9-feec6c14dd06@gmail.com> References: <20260927-submit-stmmac-reset-fixes-v1-v5-0-feec6c14dd06@gmail.com> In-Reply-To: <20260927-submit-stmmac-reset-fixes-v1-v5-0-feec6c14dd06@gmail.com> To: Russell King , Andrew Lunn , Heiner Kallweit , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , "Russell King (Oracle)" , Maxime Chevallier , Andrew Lunn , Maxime Coquelin , Alexandre Torgue , Christian Marangi , Tiezhu Yang , Huacai Chen , Alexei Starovoitov , Daniel Borkmann , Jesper Dangaard Brouer , John Fastabend , Stanislav Fomichev , Serge Semin , Suraj Jaiswal , Richard Cochran , Joao Pinto , Vladimir Oltean , Ong Boon Leong , Voon Weifeng , "Song, Yoong Siang" , Linus Walleij , Martin Blumenstingl , Magnus Karlsson , Maciej Fijalkowski , Simon Horman , =?utf-8?q?Bj=C3=B6rn_T=C3=B6pel?= , Thierry Reding , Jonathan Hunter , Chen-Yu Tsai , Jernej Skrabec , Samuel Holland , Jose Abreu , Yao Zi , Philipp Zabel Cc: Richard Genoud , Alastair D'Silva , Maxime Ripard , netdev@vger.kernel.org, linux-kernel@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org, bpf@vger.kernel.org, ZhaoJinming , Lorenzo Bianconi , Ding Hui , Linkui Xiao , Linkui Xiao , linux-tegra@vger.kernel.org, linux-sunxi@lists.linux.dev, James Hilliard X-Mailer: b4 0.15.2 Changing an MTU at or below ETH_DATA_LEN does not change the receive buffer size or the MAC receive limit when the previous MTU was also in that range. Do not release and reopen the datapath for those changes. Besides avoiding unnecessary hardware resets and their failure paths, this keeps live AF_XDP pool bindings intact. Preparing replacement rings before stopping the old rings otherwise binds the pool to a temporary RXQ and consumes fill-ring entries while its current RXQ is still active. XDP already rejects jumbo MTUs, so all supported live XDP MTU changes can use this path without preparing replacement rings. Keep jumbo transitions on the existing reinitialization path for now. The later ownership and rollback changes address that path separately. Fixes: 3470079687448 ("net: ethernet: stmicro: stmmac: permit MTU change with interface up") Signed-off-by: James Hilliard --- drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c index a8e5e86e0ead..d9d676ae1c82 100644 --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c @@ -6212,7 +6212,12 @@ static int stmmac_change_mtu(struct net_device *dev, int new_mtu) if ((txfifosz < new_mtu) || (new_mtu > BUF_SIZE_16KiB)) return -EINVAL; - if (netif_running(dev)) { + /* Normal-size frames use the same buffers and MAC receive limits. + * In particular, do not disturb a live AF_XDP pool: XDP does not + * support jumbo frames, so it never needs the ring replacement below. + */ + if (netif_running(dev) && + (dev->mtu > ETH_DATA_LEN || mtu > ETH_DATA_LEN)) { netdev_dbg(priv->dev, "restarting interface to change its MTU\n"); /* Try to allocate the new DMA conf with the new mtu */ dma_conf = stmmac_setup_dma_desc(priv, mtu); -- 2.53.0