+++ /dev/null
-From 1a131b6e666aea86d99441f53d04c080c6047f75 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Thu, 9 May 2024 13:45:02 -0500
-Subject: ACPI: x86: Force StorageD3Enable on more products
-
-From: Mario Limonciello <mario.limonciello@amd.com>
-
-[ Upstream commit e79a10652bbd320649da705ca1ea0c04351af403 ]
-
-A Rembrandt-based HP thin client is reported to have problems where
-the NVME disk isn't present after resume from s2idle.
-
-This is because the NVME disk wasn't put into D3 at suspend, and
-that happened because the StorageD3Enable _DSD was missing in the BIOS.
-
-As AMD's architecture requires that the NVME is in D3 for s2idle, adjust
-the criteria for force_storage_d3 to match *all* Zen SoCs when the FADT
-advertises low power idle support.
-
-This will ensure that any future products with this BIOS deficiency don't
-need to be added to the allow list of overrides.
-
-Cc: All applicable <stable@vger.kernel.org>
-Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
-Acked-by: Hans de Goede <hdegoede@redhat.com>
-Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/acpi/x86/utils.c | 24 ++++++++++--------------
- 1 file changed, 10 insertions(+), 14 deletions(-)
-
-diff --git a/drivers/acpi/x86/utils.c b/drivers/acpi/x86/utils.c
-index ef431393381a0..d0257758cf989 100644
---- a/drivers/acpi/x86/utils.c
-+++ b/drivers/acpi/x86/utils.c
-@@ -188,16 +188,16 @@ bool acpi_device_override_status(struct acpi_device *adev, unsigned long long *s
- }
-
- /*
-- * AMD systems from Renoir and Lucienne *require* that the NVME controller
-+ * AMD systems from Renoir onwards *require* that the NVME controller
- * is put into D3 over a Modern Standby / suspend-to-idle cycle.
- *
- * This is "typically" accomplished using the `StorageD3Enable`
- * property in the _DSD that is checked via the `acpi_storage_d3` function
-- * but this property was introduced after many of these systems launched
-- * and most OEM systems don't have it in their BIOS.
-+ * but some OEM systems still don't have it in their BIOS.
- *
- * The Microsoft documentation for StorageD3Enable mentioned that Windows has
-- * a hardcoded allowlist for D3 support, which was used for these platforms.
-+ * a hardcoded allowlist for D3 support as well as a registry key to override
-+ * the BIOS, which has been used for these cases.
- *
- * This allows quirking on Linux in a similar fashion.
- *
-@@ -210,19 +210,15 @@ bool acpi_device_override_status(struct acpi_device *adev, unsigned long long *s
- * https://bugzilla.kernel.org/show_bug.cgi?id=216773
- * https://bugzilla.kernel.org/show_bug.cgi?id=217003
- * 2) On at least one HP system StorageD3Enable is missing on the second NVME
-- disk in the system.
-+ * disk in the system.
-+ * 3) On at least one HP Rembrandt system StorageD3Enable is missing on the only
-+ * NVME device.
- */
--static const struct x86_cpu_id storage_d3_cpu_ids[] = {
-- X86_MATCH_VENDOR_FAM_MODEL(AMD, 23, 24, NULL), /* Picasso */
-- X86_MATCH_VENDOR_FAM_MODEL(AMD, 23, 96, NULL), /* Renoir */
-- X86_MATCH_VENDOR_FAM_MODEL(AMD, 23, 104, NULL), /* Lucienne */
-- X86_MATCH_VENDOR_FAM_MODEL(AMD, 25, 80, NULL), /* Cezanne */
-- {}
--};
--
- bool force_storage_d3(void)
- {
-- return x86_match_cpu(storage_d3_cpu_ids);
-+ if (!cpu_feature_enabled(X86_FEATURE_ZEN))
-+ return false;
-+ return acpi_gbl_FADT.flags & ACPI_FADT_LOW_POWER_S0;
- }
-
- /*
---
-2.43.0
-
+++ /dev/null
-From 01736072c3f5b4c20aa6a0f24f68fe1b19156300 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Fri, 31 Mar 2023 11:08:42 -0500
-Subject: ACPI: x86: utils: Add Picasso to the list for forcing StorageD3Enable
-
-From: Mario Limonciello <mario.limonciello@amd.com>
-
-[ Upstream commit 10b6b4a8ac6120ec36555fd286eed577f7632e3b ]
-
-Picasso was the first APU that introduced s2idle support from AMD,
-and it was predating before vendors started to use `StorageD3Enable`
-in their firmware.
-
-Windows doesn't have problems with this hardware and NVME so it was
-likely on the list of hardcoded CPUs to use this behavior in Windows.
-
-Add it to the list for Linux to avoid NVME resume issues.
-
-Reported-by: Stuart Axon <stuaxo2@yahoo.com>
-Link: https://gitlab.freedesktop.org/drm/amd/-/issues/2449
-Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
-Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
-Stable-dep-of: e79a10652bbd ("ACPI: x86: Force StorageD3Enable on more products")
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/acpi/x86/utils.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/drivers/acpi/x86/utils.c b/drivers/acpi/x86/utils.c
-index e45285d4e62a4..ef431393381a0 100644
---- a/drivers/acpi/x86/utils.c
-+++ b/drivers/acpi/x86/utils.c
-@@ -213,6 +213,7 @@ bool acpi_device_override_status(struct acpi_device *adev, unsigned long long *s
- disk in the system.
- */
- static const struct x86_cpu_id storage_d3_cpu_ids[] = {
-+ X86_MATCH_VENDOR_FAM_MODEL(AMD, 23, 24, NULL), /* Picasso */
- X86_MATCH_VENDOR_FAM_MODEL(AMD, 23, 96, NULL), /* Renoir */
- X86_MATCH_VENDOR_FAM_MODEL(AMD, 23, 104, NULL), /* Lucienne */
- X86_MATCH_VENDOR_FAM_MODEL(AMD, 25, 80, NULL), /* Cezanne */
---
-2.43.0
-
net-sched-unregister-lockdep-keys-in-qdisc_create-qdisc_alloc-error-path.patch
hid-asus-asus_report_fixup-fix-potential-read-out-of-bounds.patch
revert-mm-mmap-allow-for-the-maximum-number-of-bits-for-randomizing-mmap_base-by-default.patch
-usb-typec-ucsi-limit-read-size-on-v1.2.patch
-usb-typec-ucsi-never-send-a-lone-connector-change-ac.patch
-usb-typec-ucsi-ack-also-failed-get-error-commands.patch
-x86-mm-numa-use-numa_no_node-when-calling-memblock_s.patch
-acpi-x86-utils-add-picasso-to-the-list-for-forcing-s.patch
-acpi-x86-force-storaged3enable-on-more-products.patch
+++ /dev/null
-From 6d0b6b578c292e0227fd029c895be374b753a7a7 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Fri, 31 May 2024 13:46:52 +0300
-Subject: usb: typec: ucsi: Ack also failed Get Error commands
-
-From: Heikki Krogerus <heikki.krogerus@linux.intel.com>
-
-[ Upstream commit 8bdf8a42bca4f47646fd105a387ab6926948c7f1 ]
-
-It is possible that also the GET_ERROR command fails. If
-that happens, the command completion still needs to be
-acknowledged. Otherwise the interface will be stuck until
-it's reset.
-
-Reported-by: Ammy Yi <ammy.yi@intel.com>
-Fixes: bdc62f2bae8f ("usb: typec: ucsi: Simplified registration and I/O API")
-Cc: stable@vger.kernel.org
-Signed-off-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
-Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
-Link: https://lore.kernel.org/r/20240531104653.1303519-1-heikki.krogerus@linux.intel.com
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/usb/typec/ucsi/ucsi.c | 7 ++++++-
- 1 file changed, 6 insertions(+), 1 deletion(-)
-
-diff --git a/drivers/usb/typec/ucsi/ucsi.c b/drivers/usb/typec/ucsi/ucsi.c
-index 778b76bbf80d7..e6d90cc5f877b 100644
---- a/drivers/usb/typec/ucsi/ucsi.c
-+++ b/drivers/usb/typec/ucsi/ucsi.c
-@@ -153,8 +153,13 @@ static int ucsi_exec_command(struct ucsi *ucsi, u64 cmd)
- }
-
- if (cci & UCSI_CCI_ERROR) {
-- if (cmd == UCSI_GET_ERROR_STATUS)
-+ if (cmd == UCSI_GET_ERROR_STATUS) {
-+ ret = ucsi_acknowledge(ucsi, false);
-+ if (ret)
-+ return ret;
-+
- return -EIO;
-+ }
- return ucsi_read_error(ucsi);
- }
-
---
-2.43.0
-
+++ /dev/null
-From f5d8647dba9c4e7a9936fb1d475733a0d10a11f4 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Fri, 9 Feb 2024 14:37:30 -0800
-Subject: usb: typec: ucsi: Limit read size on v1.2
-
-From: Abhishek Pandit-Subedi <abhishekpandit@chromium.org>
-
-[ Upstream commit b3db266fb031fba88c423d4bb8983a73a3db6527 ]
-
-Between UCSI 1.2 and UCSI 2.0, the size of the MESSAGE_IN region was
-increased from 16 to 256. In order to avoid overflowing reads for older
-systems, add a mechanism to use the read UCSI version to truncate read
-sizes on UCSI v1.2.
-
-Tested-by: Neil Armstrong <neil.armstrong@linaro.org>
-Reviewed-by: Prashant Malani <pmalani@chromium.org>
-Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
-Signed-off-by: Abhishek Pandit-Subedi <abhishekpandit@chromium.org>
-Link: https://lore.kernel.org/r/20240209143723.v5.1.Iacf5570a66b82b73ef03daa6557e2fc0db10266a@changeid
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-Stable-dep-of: 8bdf8a42bca4 ("usb: typec: ucsi: Ack also failed Get Error commands")
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/usb/typec/ucsi/ucsi.c | 26 ++++++++++++++++++++++++--
- drivers/usb/typec/ucsi/ucsi.h | 11 +++++++++++
- 2 files changed, 35 insertions(+), 2 deletions(-)
-
-diff --git a/drivers/usb/typec/ucsi/ucsi.c b/drivers/usb/typec/ucsi/ucsi.c
-index a163218fdc749..2b541f7ca5ab4 100644
---- a/drivers/usb/typec/ucsi/ucsi.c
-+++ b/drivers/usb/typec/ucsi/ucsi.c
-@@ -36,6 +36,19 @@
- */
- #define UCSI_SWAP_TIMEOUT_MS 5000
-
-+static int ucsi_read_message_in(struct ucsi *ucsi, void *buf,
-+ size_t buf_size)
-+{
-+ /*
-+ * Below UCSI 2.0, MESSAGE_IN was limited to 16 bytes. Truncate the
-+ * reads here.
-+ */
-+ if (ucsi->version <= UCSI_VERSION_1_2)
-+ buf_size = clamp(buf_size, 0, 16);
-+
-+ return ucsi->ops->read(ucsi, UCSI_MESSAGE_IN, buf, buf_size);
-+}
-+
- static int ucsi_acknowledge_command(struct ucsi *ucsi)
- {
- u64 ctrl;
-@@ -72,7 +85,7 @@ static int ucsi_read_error(struct ucsi *ucsi)
- if (ret < 0)
- return ret;
-
-- ret = ucsi->ops->read(ucsi, UCSI_MESSAGE_IN, &error, sizeof(error));
-+ ret = ucsi_read_message_in(ucsi, &error, sizeof(error));
- if (ret)
- return ret;
-
-@@ -174,7 +187,7 @@ int ucsi_send_command(struct ucsi *ucsi, u64 command,
- length = ret;
-
- if (data) {
-- ret = ucsi->ops->read(ucsi, UCSI_MESSAGE_IN, data, size);
-+ ret = ucsi_read_message_in(ucsi, data, size);
- if (ret)
- goto out;
- }
-@@ -1451,6 +1464,15 @@ int ucsi_register(struct ucsi *ucsi)
- if (!ucsi->version)
- return -ENODEV;
-
-+ /*
-+ * Version format is JJ.M.N (JJ = Major version, M = Minor version,
-+ * N = sub-minor version).
-+ */
-+ dev_dbg(ucsi->dev, "Registered UCSI interface with version %x.%x.%x",
-+ UCSI_BCD_GET_MAJOR(ucsi->version),
-+ UCSI_BCD_GET_MINOR(ucsi->version),
-+ UCSI_BCD_GET_SUBMINOR(ucsi->version));
-+
- queue_delayed_work(system_long_wq, &ucsi->work, 0);
-
- return 0;
-diff --git a/drivers/usb/typec/ucsi/ucsi.h b/drivers/usb/typec/ucsi/ucsi.h
-index dbb10cb310d4c..304939a712bf8 100644
---- a/drivers/usb/typec/ucsi/ucsi.h
-+++ b/drivers/usb/typec/ucsi/ucsi.h
-@@ -22,6 +22,17 @@ struct ucsi_altmode;
- #define UCSI_CONTROL 8
- #define UCSI_MESSAGE_IN 16
- #define UCSI_MESSAGE_OUT 32
-+#define UCSIv2_MESSAGE_OUT 272
-+
-+/* UCSI versions */
-+#define UCSI_VERSION_1_2 0x0120
-+#define UCSI_VERSION_2_0 0x0200
-+#define UCSI_VERSION_2_1 0x0210
-+#define UCSI_VERSION_3_0 0x0300
-+
-+#define UCSI_BCD_GET_MAJOR(_v_) (((_v_) >> 8) & 0xFF)
-+#define UCSI_BCD_GET_MINOR(_v_) (((_v_) >> 4) & 0x0F)
-+#define UCSI_BCD_GET_SUBMINOR(_v_) ((_v_) & 0x0F)
-
- /* Command Status and Connector Change Indication (CCI) bits */
- #define UCSI_CCI_CONNECTOR(_c_) (((_c_) & GENMASK(7, 1)) >> 1)
---
-2.43.0
-
+++ /dev/null
-From b2682e2441873a70228c123e10a4356cf31e1bde Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Wed, 27 Mar 2024 23:45:53 +0100
-Subject: usb: typec: ucsi: Never send a lone connector change ack
-
-From: Christian A. Ehrhardt <lk@c--e.de>
-
-[ Upstream commit de52aca4d9d56c3b2f00b638d457075914b1a227 ]
-
-Some PPM implementation do not like UCSI_ACK_CONNECTOR_CHANGE
-without UCSI_ACK_COMMAND_COMPLETE. Moreover, doing this is racy
-as it requires sending two UCSI_ACK_CC_CI commands in a row and
-the second one will be started with UCSI_CCI_ACK_COMPLETE already
-set in CCI.
-
-Bundle the UCSI_ACK_CONNECTOR_CHANGE with the UCSI_ACK_COMMAND_COMPLETE
-for the UCSI_GET_CONNECTOR_STATUS command that is sent while
-handling a connector change event.
-
-Signed-off-by: Christian A. Ehrhardt <lk@c--e.de>
-Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
-Tested-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
-Link: https://lore.kernel.org/r/20240327224554.1772525-3-lk@c--e.de
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-Stable-dep-of: 8bdf8a42bca4 ("usb: typec: ucsi: Ack also failed Get Error commands")
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/usb/typec/ucsi/ucsi.c | 48 +++++++++++++++--------------------
- 1 file changed, 21 insertions(+), 27 deletions(-)
-
-diff --git a/drivers/usb/typec/ucsi/ucsi.c b/drivers/usb/typec/ucsi/ucsi.c
-index 2b541f7ca5ab4..778b76bbf80d7 100644
---- a/drivers/usb/typec/ucsi/ucsi.c
-+++ b/drivers/usb/typec/ucsi/ucsi.c
-@@ -49,22 +49,16 @@ static int ucsi_read_message_in(struct ucsi *ucsi, void *buf,
- return ucsi->ops->read(ucsi, UCSI_MESSAGE_IN, buf, buf_size);
- }
-
--static int ucsi_acknowledge_command(struct ucsi *ucsi)
-+static int ucsi_acknowledge(struct ucsi *ucsi, bool conn_ack)
- {
- u64 ctrl;
-
- ctrl = UCSI_ACK_CC_CI;
- ctrl |= UCSI_ACK_COMMAND_COMPLETE;
--
-- return ucsi->ops->sync_write(ucsi, UCSI_CONTROL, &ctrl, sizeof(ctrl));
--}
--
--static int ucsi_acknowledge_connector_change(struct ucsi *ucsi)
--{
-- u64 ctrl;
--
-- ctrl = UCSI_ACK_CC_CI;
-- ctrl |= UCSI_ACK_CONNECTOR_CHANGE;
-+ if (conn_ack) {
-+ clear_bit(EVENT_PENDING, &ucsi->flags);
-+ ctrl |= UCSI_ACK_CONNECTOR_CHANGE;
-+ }
-
- return ucsi->ops->sync_write(ucsi, UCSI_CONTROL, &ctrl, sizeof(ctrl));
- }
-@@ -77,7 +71,7 @@ static int ucsi_read_error(struct ucsi *ucsi)
- int ret;
-
- /* Acknowledge the command that failed */
-- ret = ucsi_acknowledge_command(ucsi);
-+ ret = ucsi_acknowledge(ucsi, false);
- if (ret)
- return ret;
-
-@@ -89,7 +83,7 @@ static int ucsi_read_error(struct ucsi *ucsi)
- if (ret)
- return ret;
-
-- ret = ucsi_acknowledge_command(ucsi);
-+ ret = ucsi_acknowledge(ucsi, false);
- if (ret)
- return ret;
-
-@@ -152,7 +146,7 @@ static int ucsi_exec_command(struct ucsi *ucsi, u64 cmd)
- return -EIO;
-
- if (cci & UCSI_CCI_NOT_SUPPORTED) {
-- if (ucsi_acknowledge_command(ucsi) < 0)
-+ if (ucsi_acknowledge(ucsi, false) < 0)
- dev_err(ucsi->dev,
- "ACK of unsupported command failed\n");
- return -EOPNOTSUPP;
-@@ -165,15 +159,15 @@ static int ucsi_exec_command(struct ucsi *ucsi, u64 cmd)
- }
-
- if (cmd == UCSI_CANCEL && cci & UCSI_CCI_CANCEL_COMPLETE) {
-- ret = ucsi_acknowledge_command(ucsi);
-+ ret = ucsi_acknowledge(ucsi, false);
- return ret ? ret : -EBUSY;
- }
-
- return UCSI_CCI_LENGTH(cci);
- }
-
--int ucsi_send_command(struct ucsi *ucsi, u64 command,
-- void *data, size_t size)
-+static int ucsi_send_command_common(struct ucsi *ucsi, u64 command,
-+ void *data, size_t size, bool conn_ack)
- {
- u8 length;
- int ret;
-@@ -192,7 +186,7 @@ int ucsi_send_command(struct ucsi *ucsi, u64 command,
- goto out;
- }
-
-- ret = ucsi_acknowledge_command(ucsi);
-+ ret = ucsi_acknowledge(ucsi, conn_ack);
- if (ret)
- goto out;
-
-@@ -201,6 +195,12 @@ int ucsi_send_command(struct ucsi *ucsi, u64 command,
- mutex_unlock(&ucsi->ppm_lock);
- return ret;
- }
-+
-+int ucsi_send_command(struct ucsi *ucsi, u64 command,
-+ void *data, size_t size)
-+{
-+ return ucsi_send_command_common(ucsi, command, data, size, false);
-+}
- EXPORT_SYMBOL_GPL(ucsi_send_command);
-
- /* -------------------------------------------------------------------------- */
-@@ -798,7 +798,9 @@ static void ucsi_handle_connector_change(struct work_struct *work)
- mutex_lock(&con->lock);
-
- command = UCSI_GET_CONNECTOR_STATUS | UCSI_CONNECTOR_NUMBER(con->num);
-- ret = ucsi_send_command(ucsi, command, &con->status, sizeof(con->status));
-+
-+ ret = ucsi_send_command_common(ucsi, command, &con->status,
-+ sizeof(con->status), true);
- if (ret < 0) {
- dev_err(ucsi->dev, "%s: GET_CONNECTOR_STATUS failed (%d)\n",
- __func__, ret);
-@@ -846,14 +848,6 @@ static void ucsi_handle_connector_change(struct work_struct *work)
- if (con->status.change & UCSI_CONSTAT_CAM_CHANGE)
- ucsi_partner_task(con, ucsi_check_altmodes, 1, 0);
-
-- mutex_lock(&ucsi->ppm_lock);
-- clear_bit(EVENT_PENDING, &con->ucsi->flags);
-- ret = ucsi_acknowledge_connector_change(ucsi);
-- mutex_unlock(&ucsi->ppm_lock);
--
-- if (ret)
-- dev_err(ucsi->dev, "%s: ACK failed (%d)", __func__, ret);
--
- out_unlock:
- mutex_unlock(&con->lock);
- }
---
-2.43.0
-
+++ /dev/null
-From 0f98069fc8273f8e9bc04093ff8eea72bb0b2891 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Wed, 29 May 2024 09:42:05 +0200
-Subject: x86/mm/numa: Use NUMA_NO_NODE when calling memblock_set_node()
-
-From: Jan Beulich <jbeulich@suse.com>
-
-[ Upstream commit 3ac36aa7307363b7247ccb6f6a804e11496b2b36 ]
-
-memblock_set_node() warns about using MAX_NUMNODES, see
-
- e0eec24e2e19 ("memblock: make memblock_set_node() also warn about use of MAX_NUMNODES")
-
-for details.
-
-Reported-by: Narasimhan V <Narasimhan.V@amd.com>
-Signed-off-by: Jan Beulich <jbeulich@suse.com>
-Cc: stable@vger.kernel.org
-[bp: commit message]
-Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
-Reviewed-by: Mike Rapoport (IBM) <rppt@kernel.org>
-Tested-by: Paul E. McKenney <paulmck@kernel.org>
-Link: https://lore.kernel.org/r/20240603141005.23261-1-bp@kernel.org
-Link: https://lore.kernel.org/r/abadb736-a239-49e4-ab42-ace7acdd4278@suse.com
-Signed-off-by: Mike Rapoport (IBM) <rppt@kernel.org>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- arch/x86/mm/numa.c | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/arch/x86/mm/numa.c b/arch/x86/mm/numa.c
-index c7fa5396c0f05..c281326baa144 100644
---- a/arch/x86/mm/numa.c
-+++ b/arch/x86/mm/numa.c
-@@ -523,7 +523,7 @@ static void __init numa_clear_kernel_node_hotplug(void)
- for_each_reserved_mem_region(mb_region) {
- int nid = memblock_get_region_node(mb_region);
-
-- if (nid != MAX_NUMNODES)
-+ if (nid != NUMA_NO_NODE)
- node_set(nid, reserved_nodemask);
- }
-
-@@ -643,9 +643,9 @@ static int __init numa_init(int (*init_func)(void))
- nodes_clear(node_online_map);
- memset(&numa_meminfo, 0, sizeof(numa_meminfo));
- WARN_ON(memblock_set_node(0, ULLONG_MAX, &memblock.memory,
-- MAX_NUMNODES));
-+ NUMA_NO_NODE));
- WARN_ON(memblock_set_node(0, ULLONG_MAX, &memblock.reserved,
-- MAX_NUMNODES));
-+ NUMA_NO_NODE));
- /* In case that parsing SRAT failed. */
- WARN_ON(memblock_clear_hotplug(0, ULLONG_MAX));
- numa_reset_distance();
---
-2.43.0
-