From nobody Tue Jun 16 15:56:22 2026 Received: from mail-ed1-f42.google.com (mail-ed1-f42.google.com [209.85.208.42]) (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 8ACF73A63E1 for ; Thu, 30 Apr 2026 20:23:25 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.42 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777580607; cv=none; b=u7eADcPUBxd5ezMuJAaGolQTTAsrNJbAnLmckYxu1iCIHO5b1fKscoAAg5LsCXL5oxJE9Kc44OINWHCFsRBhZ5Dg06+vbW53NazngbVoYIOfJoixAb9d4h9PJKKK/KzZAZE6RANPWxKMXB78+vBtCUmUZNnoFPJ3qxmWxQGxiN4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777580607; c=relaxed/simple; bh=VzM+628EyuJw90fWcpR+aMiIEJOqM6R2kmD6nATQ3og=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=S4s/l0iUh4r4WUf2FK3lCOsVfbArC4f6lsD87kW5f3jAUOsNOQqlVViBLy9jahJuYkzlS99nZmZ7qwIMh5Uw3SXjWAvvPT0hXhuZtvoqxLjnmZ5QPAasJejiFNl9OBIZqrXqNAiib1eMnzqfuYneYKEDxddogVVtHXgq48matr0= 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=LkNtvY5w; arc=none smtp.client-ip=209.85.208.42 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="LkNtvY5w" Received: by mail-ed1-f42.google.com with SMTP id 4fb4d7f45d1cf-67b7c77865dso1021556a12.2 for ; Thu, 30 Apr 2026 13:23:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1777580604; x=1778185404; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=Sxf4wDWb/Lid6z1lXPTweR9AmMGSSDs08W5vNmivKZQ=; b=LkNtvY5wlCvsrtBNsObh2CfHKovLfAeJ0CuHHGIwy6UBQHoKT48KUuoDFRJdWbwKFe HPAUpNSmL02AotRs8pwdCEv3rRh4wRXIjWVT67sHBoem7tkwaw0vQhDR5OeIBL0/NvRa IExaVEtqXWYKhrstZ6+zVeHgu15RzlzQUzPfr9lhJ8K+XkLnNB99tjonaYpTampCML2k 75b7IgqlPOdDlM3r016P6i4yPTkMCx4CC7oPxbhWf4R3S/dO0cRp0mZJ9Usi3AI1JOS9 AG1ZXPKBNWg2sGzMKjK4MNMSGlPJaHhf00FUBFKHzgl8sFfDRSdMlYGDM3OgQlh4y4oP nbbg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777580604; x=1778185404; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=Sxf4wDWb/Lid6z1lXPTweR9AmMGSSDs08W5vNmivKZQ=; b=gTU6EHbhlLYveWOqmNh8pK19XEnb1brbbzKNhvLuVzlyN20dRhB1t2u2rr7S/ulroB dYwgHm9wc8VmVhXzsgQnoX08SHGfvX1F8gcvsR0L7W+FGS0A5lbWCuqMMg7B3z8AcyPm Qml2o5S/7buioU/Zk1gnxRckezxHYctcTXputXlpUwBMra+diGcHXGicVTJk93jEfddz nzmTQrRyqH5rN6ShbM1y5Qae0sQaoJSqDuaNHrdEb4Qyv1cAMah4RAjOYyD3WxCGR+03 PYJgQkBniR17inBtiO5g8xuXt1Zq9QPFTHYhOtJmsUTQUK+VlnmoGhkItK2y8XcxPhjg vY5w== X-Forwarded-Encrypted: i=1; AFNElJ8YRRvXQXN7IjEW1xFwtYQJMz8w0d9JmmFsqHoP8Q4mvNB3TtsUlA/8NZ7ZvdD8NDeW1HbTGjFiKHVOCHg=@vger.kernel.org X-Gm-Message-State: AOJu0YyxfaHVB/Zkxzp9cYCVyDrjjFATAmtMoZsW1j+yMoyEcmsw7qjK dv+pIo9cEF/IoljE/rT5hcDlFfEBYG+ZokhBGety+ICH0C0unePcttCX X-Gm-Gg: AeBDiesriZKif/TDol5OH/i0vqQstFFNDT4lyqS6gW7xDV53AUyDcuaVidPRexPCl20 qmVSabY6gGtmI1hvyLqLkUMD6zlZ39XG0Qg+qEfOrU+fBrz94zhPp3rgj0gSdIhC/HEAAiiRsdv z653E/rQxutH6lOyAr/LwKvQwdJvNsVlXCbo+HQnpIyHJ96Y1tN0TjzIsSORW2SRq19fLite3Q4 hBUe2n4O86nhz1e6qsbs3yX05v7GRWT7m6aSFuVFe7xPwU7JdaJgMVLZtEo8ZpF23EQ6dPO1Zi+ 0y+Lz4G4KbhyW2euLJnHNIJzcp9IOnda1Kf6FgSidUcGyyKZ609nyLmuljrJiER9GW6hESfp/xl UctQHdACCG8tt+ho6IP26iSTwuFINpN7Ud2piPGGp0gJCT4gdZzLDwt4YXzWnB8TaTVUDczFEw7 FM9FNJ8eNzwD5AYm/q4NTAj/9nxNe+j0iHOivGleTdGwoYPuuGmL7vIVnpdxqhtSbOiiTCxFC8H 4xjV2/MWwDOraBsZfmRAvRtf3SG4oBmfGTsV43gQfTwHCo= X-Received: by 2002:a05:6402:324e:b0:672:5255:af77 with SMTP id 4fb4d7f45d1cf-67b5d850876mr1865461a12.13.1777580603500; Thu, 30 Apr 2026 13:23:23 -0700 (PDT) Received: from localhost.localdomain (2a02-8428-814b-e401-492a-2d92-d92d-6be5.rev.sfr.net. [2a02:8428:814b:e401:492a:2d92:d92d:6be5]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-67b85e281cdsm302018a12.3.2026.04.30.13.23.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 30 Apr 2026 13:23:20 -0700 (PDT) From: Titouan Ameline de Cadeville To: jwerner@chromium.org Cc: tzungbi@kernel.org, briannorris@chromium.org, chrome-platform@lists.linuxfoundation.org, linux-kernel@vger.kernel.org, Titouan Ameline de Cadeville Subject: [PATCH v2] coreboot_table: skip failing entries instead of aborting populate Date: Thu, 30 Apr 2026 22:23:05 +0200 Message-ID: <20260430202305.121680-1-titouan.ameline@gmail.com> X-Mailer: git-send-email 2.44.2 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" coreboot_table_populate() registers devices one by one. If device_register() fails for one entry, the current code returns immediately, leaving previously registered devices orphaned on the coreboot bus with no cleanup path. Since coreboot table entries are independent of each other, a failure on one entry should not prevent the others from being registered. This mirrors the strategy used by of_platform_populate(), which skips individual failures rather than aborting. Log a warning and continue the loop on device_register() failure. Signed-off-by: Titouan Ameline de Cadeville Reviewed-by: Julius Werner --- v2: continue the loop on failure instead of unregistering all devices (suggested by Julius Werner, with reference to of_platform_populate() from Brian Norris) drivers/firmware/google/coreboot_table.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/firmware/google/coreboot_table.c b/drivers/firmware/go= ogle/coreboot_table.c index c769631ea15d..82be21434be4 100644 --- a/drivers/firmware/google/coreboot_table.c +++ b/drivers/firmware/google/coreboot_table.c @@ -150,8 +150,9 @@ static int coreboot_table_populate(struct device *dev, = void *ptr) =20 ret =3D device_register(&device->dev); if (ret) { + dev_warn(dev, "failed to register coreboot device: %d\n", ret); put_device(&device->dev); - return ret; + continue; } =20 ptr_entry +=3D entry->size; --=20 2.44.2