From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-qv1-f49.google.com (mail-qv1-f49.google.com [209.85.219.49]) (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 8F26529C325 for ; Thu, 12 Mar 2026 08:14:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.219.49 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773303288; cv=none; b=WvgpNZwVUwQtHUUiI6K8dZrztRXQBjun5iC6W2DxcvSLDlkEO3b7aFE2xQFRI4QZw/vKjCnGwrgA2UU/SHv0ujFXX8QOMRO17Sh10XwZ/mqtbgdOn4I//O/nR97ARinn7AF385mg6iE5JrLSsNyPA0aqI8AonH8DCOFMcNAys5s= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773303288; c=relaxed/simple; bh=cs1KGwAKEFW/FOK5rw+QRVROLa56giVXoJA5JjRTJIc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=k6D6pI93mkZWgqaQZMfdwlRz7AEU6kvhpp7gAJg36uU230SIcSdcWc+U5Bt0+FEHf+nIJdOBtNi9129Qvalf9o+mASyPCcw/b37W5dSKuv5iVsxSkgnUvt4RXankGKjSxpcqKXuYzJj5uunUVWk9Vx7ooTRdzJ66039E+Xcr+5s= 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=gjkQV5t7; arc=none smtp.client-ip=209.85.219.49 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="gjkQV5t7" Received: by mail-qv1-f49.google.com with SMTP id 6a1803df08f44-89a07f66f4eso9161916d6.1 for ; Thu, 12 Mar 2026 01:14:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1773303286; x=1773908086; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=Xmh4GWcYYRX4fgVVj4IGuhR0cpdqOiqNjv69jLST2ew=; b=gjkQV5t7H6BCNE7u85MDM20X8F3PK2AavH9evzrqjW3LtPs4cXbVV1ypP8IUdVtRZD HNFXQoKAh24rX/TtOhn473gwDcW8B8L3jjmdUfQV10jKtW3fhvIfoEofJIb45wVNcUL1 BONwymdLh/qtJ4lE6U1VBFJvPhsdeFxd17vq8DVok1/oHj5hosXQVjixxBxZxU/HGiqU ATQmV1CrHRZW6lv01UOaw2W9+XuJLrpAO0TL6QN9wCPisqRvI14Cf15OgvzQSeuwggEN +ljcDHuzCCSoag3GFUuZB1OT68bm6/613fetS9aJoxTuMBHkgQSsPKmAiR8u5WidYAH8 8ZQg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1773303286; x=1773908086; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=Xmh4GWcYYRX4fgVVj4IGuhR0cpdqOiqNjv69jLST2ew=; b=g8bcaOw1DIwbiHawzWrNLrCJbUl0XqC7pxosZOfBqBIwDRfqhrskVhx1B27iPWpunX 22B1pzBJxlKNWo0Ty+Z5+3omxmjfwTwnnrUjWG7yHhwTLp6JDMhH/e8d8Dq3pAgtzS1V S9Y/rQ1iHEeSO5UqKCU1/2W7LrMqczRV5LCcZESGbUhJ2z46efR/ScNXvqlqjHNOiNoV iFNQDqYbZuz/f2yrlZSggKzqlL254ibarX0AxVCiPDJohYO4bsa2kEuGVkaSad/I0q+t vN4XeilfirPbhdsUiwLE3oN/ZOcXfkUBkqVCMSBEAbsXpBTP8lrdtnF8z6eNhUkn7m5C Rksg== X-Gm-Message-State: AOJu0Yyb/ijm03uRCf+7il7nfn9s/oe9MhUXlfmoptaeJ2nzrT4MWRUb txPytYeh4vovyMPv9ysxs8Byoae7uoCkU5kbCwDPBHyPjXIuAo0FO7gZ X-Gm-Gg: ATEYQzwXnOmu1/Ns6qAkaqZ41RseACyiiIY8kViD+fetWpJp4mD2M0CwyckN2YZEDGc oIFAndJqeSAdo786PABwi3PqnTssoG3epWuTZE1qygMtQ1D0HLmes9fYkhtOiHSfYZRmGBCM2y6 07C4aiU9cH1ROysrxS6JzB0EfQ7VUHBicJcSM/NpH1aOmil1mb/zuXbTu3wx69ZAvdPnJxkmb20 sPK9lS+zxsPKI/HS0OjaYyxee53Hv8Eqh9zmM9Zwv9g0PKWztQogK2cpIs0LsMkUn/1g4hKzBBA VKiLBHCMrxqrfdG8PRcE5ZsygZCqxX0GHlE5VPwkUVNiza+mOVDKXuOjZ/VeOtk4xEQlsyr86tD TLg/6xbi2sIOb/zq36+z9eBQ8Lk27+YAwtKUGyJwxrH1Yrt2dptvc7wDWHzkAbecGLlHtvBcUkn Aa2ryG7bs5c2huk7p/rmyWGAw1L+pQI53Bkb0W/U13PHk= X-Received: by 2002:a05:6214:622:b0:89a:1c81:65c1 with SMTP id 6a1803df08f44-89a669dd63dmr75619006d6.16.1773303286507; Thu, 12 Mar 2026 01:14:46 -0700 (PDT) Received: from localhost.localdomain ([128.224.253.2]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-89a65c122c0sm30423076d6.23.2026.03.12.01.14.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 12 Mar 2026 01:14:46 -0700 (PDT) From: Kevin Hao Date: Thu, 12 Mar 2026 16:13:59 +0800 Subject: [PATCH net 2/2] net: macb: Reinitialize tx/rx queue pointer registers and rx ring during resume Precedence: bulk X-Mailing-List: netdev@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: <20260312-macb-versal-v1-2-467647173fa4@gmail.com> References: <20260312-macb-versal-v1-0-467647173fa4@gmail.com> In-Reply-To: <20260312-macb-versal-v1-0-467647173fa4@gmail.com> To: netdev@vger.kernel.org Cc: Nicolas Ferre , Claudiu Beznea , Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Kevin Hao , Quanyang Wang , stable@vger.kernel.org X-Mailer: b4 0.14.2 On certain platforms, such as AMD Versal boards, the tx/rx queue pointer registers are cleared after suspend, and the rx queue pointer register is also disabled during suspend if WOL is enabled. Previously, we assumed that these registers would be restored by macb_mac_link_up(). However, in commit bf9cf80cab81, macb_init_buffers() was moved from macb_mac_link_up() to macb_open(). Therefore, we should call macb_init_buffers() to reinitialize the tx/rx queue pointer registers during resume. Due to the reset of these two registers, we also need to adjust the tx/rx rings accordingly. The tx ring will be handled by gem_shuffle_tx_rings() in macb_mac_link_up(), so we only need to initialize the rx ring here. Fixes: bf9cf80cab81 ("net: macb: Fix tx/rx malfunction after phy link down and up") Reported-by: Quanyang Wang Signed-off-by: Kevin Hao Tested-by: Quanyang Wang Cc: stable@vger.kernel.org --- drivers/net/ethernet/cadence/macb_main.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/drivers/net/ethernet/cadence/macb_main.c b/drivers/net/ethernet/cadence/macb_main.c index 67f7ecb05a7d6b8a5f49da588faafe1aa70d0d2b..100f478c0d30e4a91021a7da83f8f08606eca66e 100644 --- a/drivers/net/ethernet/cadence/macb_main.c +++ b/drivers/net/ethernet/cadence/macb_main.c @@ -6106,8 +6106,18 @@ static int __maybe_unused macb_resume(struct device *dev) rtnl_unlock(); } + if (!(bp->caps & MACB_CAPS_MACB_IS_EMAC)) + macb_init_buffers(bp); + for (q = 0, queue = bp->queues; q < bp->num_queues; ++q, ++queue) { + if (!(bp->caps & MACB_CAPS_MACB_IS_EMAC)) { + if (macb_is_gem(bp)) + gem_init_rx_ring(queue); + else + macb_init_rx_ring(queue); + } + napi_enable(&queue->napi_rx); napi_enable(&queue->napi_tx); } -- 2.53.0