From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-ed1-f41.google.com (mail-ed1-f41.google.com [209.85.208.41]) (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 6FDBB3043D5 for ; Mon, 11 May 2026 06:40:10 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.41 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778481612; cv=none; b=u17Q5uosXzjn3hXY6xxRiN/hTXTZDKfWR1VtcpfCmq0q4rd0slgakJKYuHJMv/YlMo1qdprBFmKmOs4hJhrAKM9HigJ5O3XVQWy/leG3xx6R71ngp9Q0kG560A3+35vAYcbgy2gB5n9KYfqP9Fzx58u/OJ6LVp8861OhwBPYH/Q= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778481612; c=relaxed/simple; bh=Vdot40fHqAmWHDMc4S5qR65znrF+4U8aCDLbFYA4OoY=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=mEga5Gb/whn/HFFbI49ax7JLlusVN0DVs9jH6n2asU0LwIua+g8t9jDAppohf9A/dIwTNhe4KtN2GKzpd32VKary31IhNUb75YD73/QmWzpVwW3mwBUpsqDczFZf7E2qFdykqF0+V12d4iZSl90Wbfx4Z1P3rKX47Svy2UJzu8U= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=rexbytes.com; spf=pass smtp.mailfrom=clientuser.net; dkim=pass (2048-bit key) header.d=rexbytes.com header.i=@rexbytes.com header.b=GkivdwWG; arc=none smtp.client-ip=209.85.208.41 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=rexbytes.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=clientuser.net Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=rexbytes.com header.i=@rexbytes.com header.b="GkivdwWG" Received: by mail-ed1-f41.google.com with SMTP id 4fb4d7f45d1cf-67c2d57a5ceso6833291a12.3 for ; Sun, 10 May 2026 23:40:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rexbytes.com; s=google; t=1778481609; x=1779086409; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=Xe4i24Rx3aig0PVQ6XGSgaY/eyJZxLK7wIwLHc9rOs8=; b=GkivdwWGB8l3bCVOn+TrYl2b5zzqxivy0aym+dw9aivghq5lxa7GxNaxhra/eeDAty 8esFBSX63/+wKi5iI2Qf5DMEygdaAZMwOjGJEcox2ayppGF/C7Fydaz+veClTvKj9do0 SNHGftKOHr4jNOWzYn4ZCz2v8W2Gu3o/OFC/hJeB/QUBmmtFzBPseUopionELB0hx+ij wZasvXEfms1DbLaCuwEFntWGPAaDpxum6qXHR2BND/COF1QGDgWs12NSWBB0qN98lkkx bnA2BqQzABPk6zmRbXs3dLG0MMg4dAlvLxH8fUXVOMuN5JBGU3X3jSd2UG0xAInV0WVF Rl0g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778481609; x=1779086409; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=Xe4i24Rx3aig0PVQ6XGSgaY/eyJZxLK7wIwLHc9rOs8=; b=q4G4GEfnj28VaWWh5UKs/wmDgWf2GAF6HpmeZKNdw86rkckWYBaDuqTHjkoxifTmWe shY/rq/kSpU8mbL/e6K8dhf93mn6GZMZmrF2UQWhjqa0GtzWcKqhwdn4M5/h2tQlAVJX Zl0xgc+q5GMnQE9MtlybcNDRz6H+JXceDiufIECkqxk/0HyYu6ca0rfLZbjNkEhofiS4 dEisR2agyUzEy11ufSI19RG+IS1jBFYginIZ6nRWGt95UHqA5VAcsXWfUszhMXlXqC/d 58PGiUlVSLulzj8IK+lzp8pY//9teE3qM+Qx/Vo1fgZ7PUhvgeC8CfZ0C/Oo+/7WlclK 6KgQ== X-Forwarded-Encrypted: i=1; AFNElJ+sS5tYKfO3vZLRs49iWIYTwofcQy6W+HtakmKeobUzSnxK1+x3PQcCBk57vjMQLmtqwly/SFRVWbh/Lf4=@vger.kernel.org X-Gm-Message-State: AOJu0YzyQh5iCnlZKWoHRYBVIHqMCcF2ncOcwQRGMsBkBrLU2Xmaxe84 IkVxcwJegfApMKsPGC1zR7RGaNMDzwj+gOc4ZNX0ZCKfyB3vpc9O1IbOdQ4o+UCzZYU= X-Gm-Gg: Acq92OFmlW08Ng9aw6B2jGPLe9tglE+C/OHy5IeuDg0XwVUMLfcR4Aas3UX9FnH0hS5 NSkv8LCZeg4LmYyU3LNmsyyRWFtb97e85cG92yTeBpDDSVSxS25vaQxezBbxTs10jNn0FuwdyKg mkTQqPBVcGx99CexrdU764sN4ZkmCawugKzp5x7Rxye+DNU9sv0zFg+Hk2MV44RJwH6DKKkY+Fx K6/lMkD5aYie01/wjsgFYeGzVBHHtjCplmv2ldIcLyCLXvlP+MRQmGQG1VLKPvkcM+3gD+irZAb Usl1z+rpH8AE67LLNaqlCg52wCCzyMmXww2Z8Kh4moCXukFkcmasTnZbAThR0uxVRISbK2iZLKi EaJmX5XF8X3B6k4Id/N2oS2qYpPR8Gbr1cfF2w+OSkxW9R9XV7uBBqOlX/45g/v+MaRJi8jLYLj Hy4ZLJGroA7groV0kwJai5kXjKW2PcOSWHhAd458jy2zGZ9KZf/YBpGa6im6MIdjlEWLmJos2hk EYeVOQ= X-Received: by 2002:a17:907:8303:b0:bcd:bcbd:8ca7 with SMTP id a640c23a62f3a-bcdbcbd8d3bmr172641766b.27.1778481608347; Sun, 10 May 2026 23:40:08 -0700 (PDT) Received: from localhost.localdomain (83-87-100-220.cable.dynamic.v4.ziggo.nl. [83.87.100.220]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-bcc384b75b9sm299017866b.21.2026.05.10.23.40.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 10 May 2026 23:40:07 -0700 (PDT) From: Zoran Ilievski To: Igor Russkikh , Sukhdeep Singh , "David S . Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, stable@vger.kernel.org Subject: [PATCH net v2] net: atlantic: preserve PCI wake-from-D3 on shutdown when WOL enabled Date: Mon, 11 May 2026 08:40:02 +0200 Message-ID: <20260511064002.1857-1-goodboy@rexbytes.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260506104211.2442-1-goodboy@rexbytes.com> References: <20260506104211.2442-1-goodboy@rexbytes.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit The shutdown handler aq_pci_shutdown() unconditionally calls pci_wake_from_d3(pdev, false), clearing the PCI PME_En bit even when wake-on-LAN has been configured. While aq_nic_shutdown() correctly programs the NIC firmware via aq_nic_set_power() to listen for magic packets, the PCI subsystem will not propagate the resulting PME wake event from D3, so the system never wakes after poweroff. WOL from suspend (S3) is unaffected because aq_suspend_common() does not touch pci_wake_from_d3() and relies on the PM core's wake configuration via device_may_wakeup(). This affects all atlantic-supported NICs (AQC107/108/111/112/113); users have reported that WOL works if the atlantic driver is never loaded, but breaks once it has run its shutdown path. Pass the configured WOL state to pci_wake_from_d3() instead of a literal false, so the PCI PME_En bit is preserved when the user has armed WOL via ethtool. Fixes: 90869ddfefeb ("net: aquantia: Implement pci shutdown callback") Cc: stable@vger.kernel.org Signed-off-by: Zoran Ilievski --- v2: Repost under real name, no code changes. drivers/net/ethernet/aquantia/atlantic/aq_pci_func.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/ethernet/aquantia/atlantic/aq_pci_func.c b/drivers/net/ethernet/aquantia/atlantic/aq_pci_func.c index baa5f8cc31f2..775cbbc1aa42 100644 --- a/drivers/net/ethernet/aquantia/atlantic/aq_pci_func.c +++ b/drivers/net/ethernet/aquantia/atlantic/aq_pci_func.c @@ -374,7 +374,7 @@ static void aq_pci_shutdown(struct pci_dev *pdev) pci_disable_device(pdev); if (system_state == SYSTEM_POWER_OFF) { - pci_wake_from_d3(pdev, false); + pci_wake_from_d3(pdev, self->aq_hw->aq_nic_cfg->wol); pci_set_power_state(pdev, PCI_D3hot); } } -- 2.43.0